diff --git a/provider/cmd/pulumi-resource-aws/schema.json b/provider/cmd/pulumi-resource-aws/schema.json index c3084996e24..8bdcb24a89a 100644 --- a/provider/cmd/pulumi-resource-aws/schema.json +++ b/provider/cmd/pulumi-resource-aws/schema.json @@ -170,6 +170,7 @@ "servicediscovery": "ServiceDiscovery", "servicequotas": "ServiceQuotas", "ses": "Ses", + "sesv2": "SesV2", "sfn": "Sfn", "shield": "Shield", "signer": "Signer", @@ -3226,6 +3227,23 @@ } } }, + "aws:amp/WorkspaceLoggingConfiguration:WorkspaceLoggingConfiguration": { + "properties": { + "logGroupArn": { + "type": "string", + "description": "The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "logGroupArn" + ] + }, "aws:amplify/AppAutoBranchCreationConfig:AppAutoBranchCreationConfig": { "properties": { "basicAuthCredentials": { @@ -4232,7 +4250,7 @@ "additionalProperties": { "type": "string" }, - "description": "Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter.\nSee the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details.\n", + "description": "Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter.\nSee the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details.\n", "language": { "python": { "mapCase": false @@ -30031,6 +30049,175 @@ "triggerTargetArn" ] }, + "aws:codepipeline/CustomActionTypeConfigurationProperty:CustomActionTypeConfigurationProperty": { + "properties": { + "description": { + "type": "string", + "description": "The description of the action configuration property.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "key": { + "type": "boolean", + "description": "Whether the configuration property is a key.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "name": { + "type": "string", + "description": "The name of the action configuration property.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "queryable": { + "type": "boolean", + "description": "Indicates that the property will be used in conjunction with PollForJobs.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "required": { + "type": "boolean", + "description": "Whether the configuration property is a required value.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "secret": { + "type": "boolean", + "description": "Whether the configuration property is secret.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "type": { + "type": "string", + "description": "The type of the configuration property. Valid values: `String`, `Number`, `Boolean`\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "key", + "name", + "required", + "secret" + ] + }, + "aws:codepipeline/CustomActionTypeInputArtifactDetails:CustomActionTypeInputArtifactDetails": { + "properties": { + "maximumCount": { + "type": "integer", + "description": "The maximum number of artifacts allowed for the action type. Min: 0, Max: 5\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "minimumCount": { + "type": "integer", + "description": "The minimum number of artifacts allowed for the action type. Min: 0, Max: 5\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "maximumCount", + "minimumCount" + ] + }, + "aws:codepipeline/CustomActionTypeOutputArtifactDetails:CustomActionTypeOutputArtifactDetails": { + "properties": { + "maximumCount": { + "type": "integer", + "description": "The maximum number of artifacts allowed for the action type. Min: 0, Max: 5\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "minimumCount": { + "type": "integer", + "description": "The minimum number of artifacts allowed for the action type. Min: 0, Max: 5\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "maximumCount", + "minimumCount" + ] + }, + "aws:codepipeline/CustomActionTypeSettings:CustomActionTypeSettings": { + "properties": { + "entityUrlTemplate": { + "type": "string", + "description": "The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "executionUrlTemplate": { + "type": "string", + "description": "The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "revisionUrlTemplate": { + "type": "string", + "description": "The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "thirdPartyConfigurationUrl": { + "type": "string", + "description": "The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, "aws:codepipeline/PipelineArtifactStore:PipelineArtifactStore": { "properties": { "encryptionKey": { @@ -31647,6 +31834,26 @@ "enabled" ] }, + "aws:cognito/UserPoolUserAttributeUpdateSettings:UserPoolUserAttributeUpdateSettings": { + "properties": { + "attributesRequireVerificationBeforeUpdates": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `auto_verified_attributes`. Valid values: `email`, `phone_number`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "attributesRequireVerificationBeforeUpdates" + ] + }, "aws:cognito/UserPoolUserPoolAddOns:UserPoolUserPoolAddOns": { "properties": { "advancedSecurityMode": { @@ -31855,21 +32062,12 @@ } } }, - "aws:comprehend/EntityRecognizerInputDataConfig:EntityRecognizerInputDataConfig": { + "aws:comprehend/DocumentClassifierInputDataConfig:DocumentClassifierInputDataConfig": { "properties": { - "annotations": { - "$ref": "#/types/aws:comprehend/EntityRecognizerInputDataConfigAnnotations:EntityRecognizerInputDataConfigAnnotations", - "description": "Specifies location of the document annotation data.\nSee the `annotations` Configuration Block section below.\nOne of `annotations` or `entity_list` is required.\n", - "language": { - "python": { - "mapCase": false - } - } - }, "augmentedManifests": { "type": "array", "items": { - "$ref": "#/types/aws:comprehend/EntityRecognizerInputDataConfigAugmentedManifest:EntityRecognizerInputDataConfigAugmentedManifest" + "$ref": "#/types/aws:comprehend/DocumentClassifierInputDataConfigAugmentedManifest:DocumentClassifierInputDataConfigAugmentedManifest" }, "description": "List of training datasets produced by Amazon SageMaker Ground Truth.\nUsed if `data_format` is `AUGMENTED_MANIFEST`.\nSee the `augmented_manifests` Configuration Block section below.\n", "language": { @@ -31887,47 +32085,18 @@ } } }, - "documents": { - "$ref": "#/types/aws:comprehend/EntityRecognizerInputDataConfigDocuments:EntityRecognizerInputDataConfigDocuments", - "description": "Specifies a collection of training documents.\nUsed if `data_format` is `COMPREHEND_CSV`.\nSee the `documents` Configuration Block section below.\n", - "language": { - "python": { - "mapCase": false - } - } - }, - "entityList": { - "$ref": "#/types/aws:comprehend/EntityRecognizerInputDataConfigEntityList:EntityRecognizerInputDataConfigEntityList", - "description": "Specifies location of the entity list data.\nSee the `entity_list` Configuration Block section below.\nOne of `entity_list` or `annotations` is required.\n", + "labelDelimiter": { + "type": "string", + "description": "Delimiter between labels when training a multi-label classifier.\nValid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\\`, `:`, `;`, `\u003e`, `?`, `/`, `\u003cspace\u003e`, and `\u003ctab\u003e`.\nDefault is `|`.\n", "language": { "python": { "mapCase": false } } }, - "entityTypes": { - "type": "array", - "items": { - "$ref": "#/types/aws:comprehend/EntityRecognizerInputDataConfigEntityType:EntityRecognizerInputDataConfigEntityType" - }, - "description": "Set of entity types to be recognized.\nHas a maximum of 25 items.\nSee the `entity_types` Configuration Block section below.\n", - "language": { - "python": { - "mapCase": false - } - } - } - }, - "type": "object", - "required": [ - "entityTypes" - ] - }, - "aws:comprehend/EntityRecognizerInputDataConfigAnnotations:EntityRecognizerInputDataConfigAnnotations": { - "properties": { "s3Uri": { "type": "string", - "description": "Location of entity list.\n", + "description": "Destination path for the output documents.\nThe full path to the output file will be returned in `output_s3_uri`.\n", "language": { "python": { "mapCase": false @@ -31944,11 +32113,15 @@ } }, "type": "object", - "required": [ - "s3Uri" - ] + "language": { + "nodejs": { + "requiredOutputs": [ + "labelDelimiter" + ] + } + } }, - "aws:comprehend/EntityRecognizerInputDataConfigAugmentedManifest:EntityRecognizerInputDataConfigAugmentedManifest": { + "aws:comprehend/DocumentClassifierInputDataConfigAugmentedManifest:DocumentClassifierInputDataConfigAugmentedManifest": { "properties": { "annotationDataS3Uri": { "type": "string", @@ -31982,7 +32155,7 @@ }, "s3Uri": { "type": "string", - "description": "Location of entity list.\n", + "description": "Destination path for the output documents.\nThe full path to the output file will be returned in `output_s3_uri`.\n", "language": { "python": { "mapCase": false @@ -32014,45 +32187,29 @@ "s3Uri" ] }, - "aws:comprehend/EntityRecognizerInputDataConfigDocuments:EntityRecognizerInputDataConfigDocuments": { + "aws:comprehend/DocumentClassifierOutputDataConfig:DocumentClassifierOutputDataConfig": { "properties": { - "inputFormat": { + "kmsKeyId": { "type": "string", - "description": "Specifies how the input files should be processed.\nOne of `ONE_DOC_PER_LINE` or `ONE_DOC_PER_FILE`.\n", + "description": "KMS Key used to encrypt the output documents.\nCan be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN.\n", "language": { "python": { "mapCase": false } } }, - "s3Uri": { + "outputS3Uri": { "type": "string", - "description": "Location of entity list.\n", + "description": "Full path for the output documents.\n", "language": { "python": { "mapCase": false } } }, - "testS3Uri": { - "type": "string", - "language": { - "python": { - "mapCase": false - } - } - } - }, - "type": "object", - "required": [ - "s3Uri" - ] - }, - "aws:comprehend/EntityRecognizerInputDataConfigEntityList:EntityRecognizerInputDataConfigEntityList": { - "properties": { "s3Uri": { "type": "string", - "description": "Location of entity list.\n", + "description": "Destination path for the output documents.\nThe full path to the output file will be returned in `output_s3_uri`.\n", "language": { "python": { "mapCase": false @@ -32063,26 +32220,277 @@ "type": "object", "required": [ "s3Uri" - ] - }, - "aws:comprehend/EntityRecognizerInputDataConfigEntityType:EntityRecognizerInputDataConfigEntityType": { - "properties": { - "type": { - "type": "string", - "description": "An entity type to be matched by the Entity Recognizer.\nCannot contain a newline (`\\n`), carriage return (`\\r`), or tab (`\\t`).\n", - "language": { - "python": { - "mapCase": false - } - } + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "outputS3Uri", + "s3Uri" + ] } - }, - "type": "object", - "required": [ - "type" - ] + } }, - "aws:comprehend/EntityRecognizerVpcConfig:EntityRecognizerVpcConfig": { + "aws:comprehend/DocumentClassifierVpcConfig:DocumentClassifierVpcConfig": { + "properties": { + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of security group IDs.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "subnets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of VPC subnets.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "securityGroupIds", + "subnets" + ] + }, + "aws:comprehend/EntityRecognizerInputDataConfig:EntityRecognizerInputDataConfig": { + "properties": { + "annotations": { + "$ref": "#/types/aws:comprehend/EntityRecognizerInputDataConfigAnnotations:EntityRecognizerInputDataConfigAnnotations", + "description": "Specifies location of the document annotation data.\nSee the `annotations` Configuration Block section below.\nOne of `annotations` or `entity_list` is required.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "augmentedManifests": { + "type": "array", + "items": { + "$ref": "#/types/aws:comprehend/EntityRecognizerInputDataConfigAugmentedManifest:EntityRecognizerInputDataConfigAugmentedManifest" + }, + "description": "List of training datasets produced by Amazon SageMaker Ground Truth.\nUsed if `data_format` is `AUGMENTED_MANIFEST`.\nSee the `augmented_manifests` Configuration Block section below.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "dataFormat": { + "type": "string", + "description": "The format for the training data.\nOne of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "documents": { + "$ref": "#/types/aws:comprehend/EntityRecognizerInputDataConfigDocuments:EntityRecognizerInputDataConfigDocuments", + "description": "Specifies a collection of training documents.\nUsed if `data_format` is `COMPREHEND_CSV`.\nSee the `documents` Configuration Block section below.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "entityList": { + "$ref": "#/types/aws:comprehend/EntityRecognizerInputDataConfigEntityList:EntityRecognizerInputDataConfigEntityList", + "description": "Specifies location of the entity list data.\nSee the `entity_list` Configuration Block section below.\nOne of `entity_list` or `annotations` is required.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "entityTypes": { + "type": "array", + "items": { + "$ref": "#/types/aws:comprehend/EntityRecognizerInputDataConfigEntityType:EntityRecognizerInputDataConfigEntityType" + }, + "description": "Set of entity types to be recognized.\nHas a maximum of 25 items.\nSee the `entity_types` Configuration Block section below.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "entityTypes" + ] + }, + "aws:comprehend/EntityRecognizerInputDataConfigAnnotations:EntityRecognizerInputDataConfigAnnotations": { + "properties": { + "s3Uri": { + "type": "string", + "description": "Location of entity list.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "testS3Uri": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "s3Uri" + ] + }, + "aws:comprehend/EntityRecognizerInputDataConfigAugmentedManifest:EntityRecognizerInputDataConfigAugmentedManifest": { + "properties": { + "annotationDataS3Uri": { + "type": "string", + "description": "Location of annotation files.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "attributeNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The JSON attribute that contains the annotations for the training documents.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "documentType": { + "type": "string", + "description": "Type of augmented manifest.\nOne of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "s3Uri": { + "type": "string", + "description": "Location of entity list.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "sourceDocumentsS3Uri": { + "type": "string", + "description": "Location of source PDF files.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "split": { + "type": "string", + "description": "Purpose of data in augmented manifest.\nOne of `TRAIN` or `TEST`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "attributeNames", + "s3Uri" + ] + }, + "aws:comprehend/EntityRecognizerInputDataConfigDocuments:EntityRecognizerInputDataConfigDocuments": { + "properties": { + "inputFormat": { + "type": "string", + "description": "Specifies how the input files should be processed.\nOne of `ONE_DOC_PER_LINE` or `ONE_DOC_PER_FILE`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "s3Uri": { + "type": "string", + "description": "Location of entity list.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "testS3Uri": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "s3Uri" + ] + }, + "aws:comprehend/EntityRecognizerInputDataConfigEntityList:EntityRecognizerInputDataConfigEntityList": { + "properties": { + "s3Uri": { + "type": "string", + "description": "Location of entity list.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "s3Uri" + ] + }, + "aws:comprehend/EntityRecognizerInputDataConfigEntityType:EntityRecognizerInputDataConfigEntityType": { + "properties": { + "type": { + "type": "string", + "description": "An entity type to be matched by the Entity Recognizer.\nCannot contain a newline (`\\n`), carriage return (`\\r`), or tab (`\\t`).\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "aws:comprehend/EntityRecognizerVpcConfig:EntityRecognizerVpcConfig": { "properties": { "securityGroupIds": { "type": "array", @@ -63376,6 +63784,237 @@ "values" ] }, + "aws:ec2/getVpcIamPoolsFilter:getVpcIamPoolsFilter": { + "properties": { + "name": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "name", + "values" + ] + }, + "aws:ec2/getVpcIamPoolsIpamPool:getVpcIamPoolsIpamPool": { + "properties": { + "addressFamily": { + "type": "string", + "description": "IP protocol assigned to this pool.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "allocationDefaultNetmaskLength": { + "type": "integer", + "description": "A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "allocationMaxNetmaskLength": { + "type": "integer", + "description": "The maximum netmask length that will be required for CIDR allocations in this pool.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "allocationMinNetmaskLength": { + "type": "integer", + "description": "The minimum netmask length that will be required for CIDR allocations in this pool.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "allocationResourceTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags that are required to create resources in using this pool.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "arn": { + "type": "string", + "description": "ARN of the pool\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "autoImport": { + "type": "boolean", + "description": "If enabled, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "awsService": { + "type": "string", + "description": "Limits which service in AWS that the pool can be used in. \"ec2\", for example, allows users to use space for Elastic IP addresses and VPCs.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "description": { + "type": "string", + "description": "Description for the IPAM pool.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "id": { + "type": "string", + "description": "ID of the IPAM pool.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "ipamPoolId": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "ipamScopeId": { + "type": "string", + "description": "ID of the scope the pool belongs to.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "ipamScopeType": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "locale": { + "type": "string", + "description": "Locale is the Region where your pool is available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "poolDepth": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "publiclyAdvertisable": { + "type": "boolean", + "description": "Defines whether or not IPv6 pool space is publicly ∂advertisable over the internet.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "sourceIpamPoolId": { + "type": "string", + "description": "ID of the source IPAM pool.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "state": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags to assigned to the resource.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "addressFamily", + "allocationDefaultNetmaskLength", + "allocationMaxNetmaskLength", + "allocationMinNetmaskLength", + "allocationResourceTags", + "arn", + "autoImport", + "awsService", + "description", + "ipamPoolId", + "ipamScopeId", + "ipamScopeType", + "locale", + "poolDepth", + "publiclyAdvertisable", + "sourceIpamPoolId", + "state", + "tags" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:ec2/getVpcPeeringConnectionCidrBlockSet:getVpcPeeringConnectionCidrBlockSet": { "properties": { "cidrBlock": { @@ -76760,7 +77399,7 @@ "items": { "type": "string" }, - "description": "A list of IP addresses in the IP address set.\n", + "description": "The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses.\n", "language": { "python": { "mapCase": false @@ -81074,7 +81713,7 @@ "aws:identitystore/UserExternalId:UserExternalId": { "properties": { "id": { - "type": "boolean", + "type": "string", "description": "The identifier issued to this resource by an external identity provider.\n", "language": { "python": { @@ -81438,7 +82077,7 @@ "aws:identitystore/getUserExternalId:getUserExternalId": { "properties": { "id": { - "type": "boolean", + "type": "string", "description": "The identifier issued to this resource by an external identity provider.\n", "language": { "python": { @@ -111619,114 +112258,108 @@ "size" ] }, - "aws:opsworks/EcsClusterLayerCloudwatchConfiguration:EcsClusterLayerCloudwatchConfiguration": { + "aws:opsworks/CustomLayerLoadBasedAutoScaling:CustomLayerLoadBasedAutoScaling": { "properties": { - "enabled": { - "type": "boolean", + "downscaling": { + "$ref": "#/types/aws:opsworks/CustomLayerLoadBasedAutoScalingDownscaling:CustomLayerLoadBasedAutoScalingDownscaling", + "description": "The downscaling settings, as defined below, used for load-based autoscaling\n", "language": { "python": { "mapCase": false } } }, - "logStreams": { - "type": "array", - "items": { - "$ref": "#/types/aws:opsworks/EcsClusterLayerCloudwatchConfigurationLogStream:EcsClusterLayerCloudwatchConfigurationLogStream" - }, - "language": { - "python": { - "mapCase": false - } - } - } - }, - "type": "object" - }, - "aws:opsworks/EcsClusterLayerCloudwatchConfigurationLogStream:EcsClusterLayerCloudwatchConfigurationLogStream": { - "properties": { - "batchCount": { - "type": "integer", - "language": { - "python": { - "mapCase": false - } - } - }, - "batchSize": { - "type": "integer", - "language": { - "python": { - "mapCase": false - } - } - }, - "bufferDuration": { - "type": "integer", + "enable": { + "type": "boolean", + "description": "Whether load-based auto scaling is enabled for the layer.\n", "language": { "python": { "mapCase": false } } }, - "datetimeFormat": { - "type": "string", + "upscaling": { + "$ref": "#/types/aws:opsworks/CustomLayerLoadBasedAutoScalingUpscaling:CustomLayerLoadBasedAutoScalingUpscaling", + "description": "The upscaling settings, as defined below, used for load-based autoscaling\n", "language": { "python": { "mapCase": false } } - }, - "encoding": { - "type": "string", + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "downscaling", + "upscaling" + ] + } + } + }, + "aws:opsworks/CustomLayerLoadBasedAutoScalingDownscaling:CustomLayerLoadBasedAutoScalingDownscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack.\n", "language": { "python": { "mapCase": false } } }, - "file": { - "type": "string", + "cpuThreshold": { + "type": "number", + "description": "The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold.\n", "language": { "python": { "mapCase": false } } }, - "fileFingerprintLines": { - "type": "string", + "ignoreMetricsTime": { + "type": "integer", + "description": "The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events.\n", "language": { "python": { "mapCase": false } } }, - "initialPosition": { - "type": "string", + "instanceCount": { + "type": "integer", + "description": "The number of instances to add or remove when the load exceeds a threshold.\n", "language": { "python": { "mapCase": false } } }, - "logGroupName": { - "type": "string", + "loadThreshold": { + "type": "number", + "description": "The load threshold. A value of -1 disables the threshold.\n", "language": { "python": { "mapCase": false } } }, - "multilineStartPattern": { - "type": "string", + "memoryThreshold": { + "type": "number", + "description": "The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold.\n", "language": { "python": { "mapCase": false } } }, - "timeZone": { - "type": "string", + "thresholdsWaitTime": { + "type": "integer", + "description": "The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed.\n", "language": { "python": { "mapCase": false @@ -111734,70 +112367,70 @@ } } }, - "type": "object", - "required": [ - "file", - "logGroupName" - ] + "type": "object" }, - "aws:opsworks/EcsClusterLayerEbsVolume:EcsClusterLayerEbsVolume": { + "aws:opsworks/CustomLayerLoadBasedAutoScalingUpscaling:CustomLayerLoadBasedAutoScalingUpscaling": { "properties": { - "encrypted": { - "type": "boolean", + "alarms": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack.\n", "language": { "python": { "mapCase": false } } }, - "iops": { - "type": "integer", - "description": "For PIOPS volumes, the IOPS per disk.\n", + "cpuThreshold": { + "type": "number", + "description": "The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold.\n", "language": { "python": { "mapCase": false } } }, - "mountPoint": { - "type": "string", - "description": "The path to mount the EBS volume on the layer's instances.\n", + "ignoreMetricsTime": { + "type": "integer", + "description": "The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events.\n", "language": { "python": { "mapCase": false } } }, - "numberOfDisks": { + "instanceCount": { "type": "integer", - "description": "The number of disks to use for the EBS volume.\n", + "description": "The number of instances to add or remove when the load exceeds a threshold.\n", "language": { "python": { "mapCase": false } } }, - "raidLevel": { - "type": "string", - "description": "The RAID level to use for the volume.\n", + "loadThreshold": { + "type": "number", + "description": "The load threshold. A value of -1 disables the threshold.\n", "language": { "python": { "mapCase": false } } }, - "size": { - "type": "integer", - "description": "The size of the volume in gigabytes.\n", + "memoryThreshold": { + "type": "number", + "description": "The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold.\n", "language": { "python": { "mapCase": false } } }, - "type": { - "type": "string", - "description": "The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.\n", + "thresholdsWaitTime": { + "type": "integer", + "description": "The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed.\n", "language": { "python": { "mapCase": false @@ -111805,14 +112438,9 @@ } } }, - "type": "object", - "required": [ - "mountPoint", - "numberOfDisks", - "size" - ] + "type": "object" }, - "aws:opsworks/GangliaLayerCloudwatchConfiguration:GangliaLayerCloudwatchConfiguration": { + "aws:opsworks/EcsClusterLayerCloudwatchConfiguration:EcsClusterLayerCloudwatchConfiguration": { "properties": { "enabled": { "type": "boolean", @@ -111825,7 +112453,7 @@ "logStreams": { "type": "array", "items": { - "$ref": "#/types/aws:opsworks/GangliaLayerCloudwatchConfigurationLogStream:GangliaLayerCloudwatchConfigurationLogStream" + "$ref": "#/types/aws:opsworks/EcsClusterLayerCloudwatchConfigurationLogStream:EcsClusterLayerCloudwatchConfigurationLogStream" }, "language": { "python": { @@ -111836,7 +112464,365 @@ }, "type": "object" }, - "aws:opsworks/GangliaLayerCloudwatchConfigurationLogStream:GangliaLayerCloudwatchConfigurationLogStream": { + "aws:opsworks/EcsClusterLayerCloudwatchConfigurationLogStream:EcsClusterLayerCloudwatchConfigurationLogStream": { + "properties": { + "batchCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "batchSize": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "bufferDuration": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "datetimeFormat": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "encoding": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "file": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "fileFingerprintLines": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "initialPosition": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "logGroupName": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "multilineStartPattern": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "timeZone": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "file", + "logGroupName" + ] + }, + "aws:opsworks/EcsClusterLayerEbsVolume:EcsClusterLayerEbsVolume": { + "properties": { + "encrypted": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "iops": { + "type": "integer", + "description": "For PIOPS volumes, the IOPS per disk.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "mountPoint": { + "type": "string", + "description": "The path to mount the EBS volume on the layer's instances.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "numberOfDisks": { + "type": "integer", + "description": "The number of disks to use for the EBS volume.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "raidLevel": { + "type": "string", + "description": "The RAID level to use for the volume.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "size": { + "type": "integer", + "description": "The size of the volume in gigabytes.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "type": { + "type": "string", + "description": "The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "mountPoint", + "numberOfDisks", + "size" + ] + }, + "aws:opsworks/EcsClusterLayerLoadBasedAutoScaling:EcsClusterLayerLoadBasedAutoScaling": { + "properties": { + "downscaling": { + "$ref": "#/types/aws:opsworks/EcsClusterLayerLoadBasedAutoScalingDownscaling:EcsClusterLayerLoadBasedAutoScalingDownscaling", + "language": { + "python": { + "mapCase": false + } + } + }, + "enable": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "upscaling": { + "$ref": "#/types/aws:opsworks/EcsClusterLayerLoadBasedAutoScalingUpscaling:EcsClusterLayerLoadBasedAutoScalingUpscaling", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "downscaling", + "upscaling" + ] + } + } + }, + "aws:opsworks/EcsClusterLayerLoadBasedAutoScalingDownscaling:EcsClusterLayerLoadBasedAutoScalingDownscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "cpuThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "ignoreMetricsTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "instanceCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "loadThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "memoryThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "thresholdsWaitTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:opsworks/EcsClusterLayerLoadBasedAutoScalingUpscaling:EcsClusterLayerLoadBasedAutoScalingUpscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "cpuThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "ignoreMetricsTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "instanceCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "loadThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "memoryThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "thresholdsWaitTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:opsworks/GangliaLayerCloudwatchConfiguration:GangliaLayerCloudwatchConfiguration": { + "properties": { + "enabled": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "logStreams": { + "type": "array", + "items": { + "$ref": "#/types/aws:opsworks/GangliaLayerCloudwatchConfigurationLogStream:GangliaLayerCloudwatchConfigurationLogStream" + }, + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:opsworks/GangliaLayerCloudwatchConfigurationLogStream:GangliaLayerCloudwatchConfigurationLogStream": { "properties": { "batchCount": { "type": "integer", @@ -112005,6 +112991,171 @@ "size" ] }, + "aws:opsworks/GangliaLayerLoadBasedAutoScaling:GangliaLayerLoadBasedAutoScaling": { + "properties": { + "downscaling": { + "$ref": "#/types/aws:opsworks/GangliaLayerLoadBasedAutoScalingDownscaling:GangliaLayerLoadBasedAutoScalingDownscaling", + "language": { + "python": { + "mapCase": false + } + } + }, + "enable": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "upscaling": { + "$ref": "#/types/aws:opsworks/GangliaLayerLoadBasedAutoScalingUpscaling:GangliaLayerLoadBasedAutoScalingUpscaling", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "downscaling", + "upscaling" + ] + } + } + }, + "aws:opsworks/GangliaLayerLoadBasedAutoScalingDownscaling:GangliaLayerLoadBasedAutoScalingDownscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "cpuThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "ignoreMetricsTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "instanceCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "loadThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "memoryThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "thresholdsWaitTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:opsworks/GangliaLayerLoadBasedAutoScalingUpscaling:GangliaLayerLoadBasedAutoScalingUpscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "cpuThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "ignoreMetricsTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "instanceCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "loadThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "memoryThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "thresholdsWaitTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, "aws:opsworks/HaproxyLayerCloudwatchConfiguration:HaproxyLayerCloudwatchConfiguration": { "properties": { "enabled": { @@ -112198,6 +113349,171 @@ "size" ] }, + "aws:opsworks/HaproxyLayerLoadBasedAutoScaling:HaproxyLayerLoadBasedAutoScaling": { + "properties": { + "downscaling": { + "$ref": "#/types/aws:opsworks/HaproxyLayerLoadBasedAutoScalingDownscaling:HaproxyLayerLoadBasedAutoScalingDownscaling", + "language": { + "python": { + "mapCase": false + } + } + }, + "enable": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "upscaling": { + "$ref": "#/types/aws:opsworks/HaproxyLayerLoadBasedAutoScalingUpscaling:HaproxyLayerLoadBasedAutoScalingUpscaling", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "downscaling", + "upscaling" + ] + } + } + }, + "aws:opsworks/HaproxyLayerLoadBasedAutoScalingDownscaling:HaproxyLayerLoadBasedAutoScalingDownscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "cpuThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "ignoreMetricsTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "instanceCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "loadThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "memoryThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "thresholdsWaitTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:opsworks/HaproxyLayerLoadBasedAutoScalingUpscaling:HaproxyLayerLoadBasedAutoScalingUpscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "cpuThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "ignoreMetricsTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "instanceCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "loadThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "memoryThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "thresholdsWaitTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, "aws:opsworks/InstanceEbsBlockDevice:InstanceEbsBlockDevice": { "properties": { "deleteOnTermination": { @@ -112539,114 +113855,1172 @@ "size" ] }, - "aws:opsworks/MemcachedLayerCloudwatchConfiguration:MemcachedLayerCloudwatchConfiguration": { + "aws:opsworks/JavaAppLayerLoadBasedAutoScaling:JavaAppLayerLoadBasedAutoScaling": { + "properties": { + "downscaling": { + "$ref": "#/types/aws:opsworks/JavaAppLayerLoadBasedAutoScalingDownscaling:JavaAppLayerLoadBasedAutoScalingDownscaling", + "language": { + "python": { + "mapCase": false + } + } + }, + "enable": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "upscaling": { + "$ref": "#/types/aws:opsworks/JavaAppLayerLoadBasedAutoScalingUpscaling:JavaAppLayerLoadBasedAutoScalingUpscaling", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "downscaling", + "upscaling" + ] + } + } + }, + "aws:opsworks/JavaAppLayerLoadBasedAutoScalingDownscaling:JavaAppLayerLoadBasedAutoScalingDownscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "cpuThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "ignoreMetricsTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "instanceCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "loadThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "memoryThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "thresholdsWaitTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:opsworks/JavaAppLayerLoadBasedAutoScalingUpscaling:JavaAppLayerLoadBasedAutoScalingUpscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "cpuThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "ignoreMetricsTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "instanceCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "loadThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "memoryThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "thresholdsWaitTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:opsworks/MemcachedLayerCloudwatchConfiguration:MemcachedLayerCloudwatchConfiguration": { + "properties": { + "enabled": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "logStreams": { + "type": "array", + "items": { + "$ref": "#/types/aws:opsworks/MemcachedLayerCloudwatchConfigurationLogStream:MemcachedLayerCloudwatchConfigurationLogStream" + }, + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:opsworks/MemcachedLayerCloudwatchConfigurationLogStream:MemcachedLayerCloudwatchConfigurationLogStream": { + "properties": { + "batchCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "batchSize": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "bufferDuration": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "datetimeFormat": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "encoding": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "file": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "fileFingerprintLines": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "initialPosition": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "logGroupName": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "multilineStartPattern": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "timeZone": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "file", + "logGroupName" + ] + }, + "aws:opsworks/MemcachedLayerEbsVolume:MemcachedLayerEbsVolume": { + "properties": { + "encrypted": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "iops": { + "type": "integer", + "description": "For PIOPS volumes, the IOPS per disk.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "mountPoint": { + "type": "string", + "description": "The path to mount the EBS volume on the layer's instances.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "numberOfDisks": { + "type": "integer", + "description": "The number of disks to use for the EBS volume.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "raidLevel": { + "type": "string", + "description": "The RAID level to use for the volume.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "size": { + "type": "integer", + "description": "The size of the volume in gigabytes.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "type": { + "type": "string", + "description": "The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "mountPoint", + "numberOfDisks", + "size" + ] + }, + "aws:opsworks/MemcachedLayerLoadBasedAutoScaling:MemcachedLayerLoadBasedAutoScaling": { + "properties": { + "downscaling": { + "$ref": "#/types/aws:opsworks/MemcachedLayerLoadBasedAutoScalingDownscaling:MemcachedLayerLoadBasedAutoScalingDownscaling", + "language": { + "python": { + "mapCase": false + } + } + }, + "enable": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "upscaling": { + "$ref": "#/types/aws:opsworks/MemcachedLayerLoadBasedAutoScalingUpscaling:MemcachedLayerLoadBasedAutoScalingUpscaling", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "downscaling", + "upscaling" + ] + } + } + }, + "aws:opsworks/MemcachedLayerLoadBasedAutoScalingDownscaling:MemcachedLayerLoadBasedAutoScalingDownscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "cpuThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "ignoreMetricsTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "instanceCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "loadThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "memoryThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "thresholdsWaitTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:opsworks/MemcachedLayerLoadBasedAutoScalingUpscaling:MemcachedLayerLoadBasedAutoScalingUpscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "cpuThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "ignoreMetricsTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "instanceCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "loadThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "memoryThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "thresholdsWaitTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:opsworks/MysqlLayerCloudwatchConfiguration:MysqlLayerCloudwatchConfiguration": { + "properties": { + "enabled": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "logStreams": { + "type": "array", + "items": { + "$ref": "#/types/aws:opsworks/MysqlLayerCloudwatchConfigurationLogStream:MysqlLayerCloudwatchConfigurationLogStream" + }, + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:opsworks/MysqlLayerCloudwatchConfigurationLogStream:MysqlLayerCloudwatchConfigurationLogStream": { + "properties": { + "batchCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "batchSize": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "bufferDuration": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "datetimeFormat": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "encoding": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "file": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "fileFingerprintLines": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "initialPosition": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "logGroupName": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "multilineStartPattern": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "timeZone": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "file", + "logGroupName" + ] + }, + "aws:opsworks/MysqlLayerEbsVolume:MysqlLayerEbsVolume": { + "properties": { + "encrypted": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "iops": { + "type": "integer", + "description": "For PIOPS volumes, the IOPS per disk.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "mountPoint": { + "type": "string", + "description": "The path to mount the EBS volume on the layer's instances.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "numberOfDisks": { + "type": "integer", + "description": "The number of disks to use for the EBS volume.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "raidLevel": { + "type": "string", + "description": "The RAID level to use for the volume.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "size": { + "type": "integer", + "description": "The size of the volume in gigabytes.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "type": { + "type": "string", + "description": "The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "mountPoint", + "numberOfDisks", + "size" + ] + }, + "aws:opsworks/MysqlLayerLoadBasedAutoScaling:MysqlLayerLoadBasedAutoScaling": { + "properties": { + "downscaling": { + "$ref": "#/types/aws:opsworks/MysqlLayerLoadBasedAutoScalingDownscaling:MysqlLayerLoadBasedAutoScalingDownscaling", + "language": { + "python": { + "mapCase": false + } + } + }, + "enable": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "upscaling": { + "$ref": "#/types/aws:opsworks/MysqlLayerLoadBasedAutoScalingUpscaling:MysqlLayerLoadBasedAutoScalingUpscaling", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "downscaling", + "upscaling" + ] + } + } + }, + "aws:opsworks/MysqlLayerLoadBasedAutoScalingDownscaling:MysqlLayerLoadBasedAutoScalingDownscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "cpuThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "ignoreMetricsTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "instanceCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "loadThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "memoryThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "thresholdsWaitTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:opsworks/MysqlLayerLoadBasedAutoScalingUpscaling:MysqlLayerLoadBasedAutoScalingUpscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "cpuThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "ignoreMetricsTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "instanceCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "loadThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "memoryThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "thresholdsWaitTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:opsworks/NodejsAppLayerCloudwatchConfiguration:NodejsAppLayerCloudwatchConfiguration": { + "properties": { + "enabled": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "logStreams": { + "type": "array", + "items": { + "$ref": "#/types/aws:opsworks/NodejsAppLayerCloudwatchConfigurationLogStream:NodejsAppLayerCloudwatchConfigurationLogStream" + }, + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:opsworks/NodejsAppLayerCloudwatchConfigurationLogStream:NodejsAppLayerCloudwatchConfigurationLogStream": { + "properties": { + "batchCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "batchSize": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "bufferDuration": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "datetimeFormat": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "encoding": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "file": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "fileFingerprintLines": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "initialPosition": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "logGroupName": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "multilineStartPattern": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "timeZone": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "file", + "logGroupName" + ] + }, + "aws:opsworks/NodejsAppLayerEbsVolume:NodejsAppLayerEbsVolume": { + "properties": { + "encrypted": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "iops": { + "type": "integer", + "description": "For PIOPS volumes, the IOPS per disk.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "mountPoint": { + "type": "string", + "description": "The path to mount the EBS volume on the layer's instances.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "numberOfDisks": { + "type": "integer", + "description": "The number of disks to use for the EBS volume.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "raidLevel": { + "type": "string", + "description": "The RAID level to use for the volume.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "size": { + "type": "integer", + "description": "The size of the volume in gigabytes.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "type": { + "type": "string", + "description": "The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "mountPoint", + "numberOfDisks", + "size" + ] + }, + "aws:opsworks/NodejsAppLayerLoadBasedAutoScaling:NodejsAppLayerLoadBasedAutoScaling": { "properties": { - "enabled": { - "type": "boolean", - "language": { - "python": { - "mapCase": false - } - } - }, - "logStreams": { - "type": "array", - "items": { - "$ref": "#/types/aws:opsworks/MemcachedLayerCloudwatchConfigurationLogStream:MemcachedLayerCloudwatchConfigurationLogStream" - }, - "language": { - "python": { - "mapCase": false - } - } - } - }, - "type": "object" - }, - "aws:opsworks/MemcachedLayerCloudwatchConfigurationLogStream:MemcachedLayerCloudwatchConfigurationLogStream": { - "properties": { - "batchCount": { - "type": "integer", - "language": { - "python": { - "mapCase": false - } - } - }, - "batchSize": { - "type": "integer", + "downscaling": { + "$ref": "#/types/aws:opsworks/NodejsAppLayerLoadBasedAutoScalingDownscaling:NodejsAppLayerLoadBasedAutoScalingDownscaling", "language": { "python": { "mapCase": false } } }, - "bufferDuration": { - "type": "integer", + "enable": { + "type": "boolean", "language": { "python": { "mapCase": false } } }, - "datetimeFormat": { - "type": "string", + "upscaling": { + "$ref": "#/types/aws:opsworks/NodejsAppLayerLoadBasedAutoScalingUpscaling:NodejsAppLayerLoadBasedAutoScalingUpscaling", "language": { "python": { "mapCase": false } } - }, - "encoding": { - "type": "string", + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "downscaling", + "upscaling" + ] + } + } + }, + "aws:opsworks/NodejsAppLayerLoadBasedAutoScalingDownscaling:NodejsAppLayerLoadBasedAutoScalingDownscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, "language": { "python": { "mapCase": false } } }, - "file": { - "type": "string", + "cpuThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "fileFingerprintLines": { - "type": "string", + "ignoreMetricsTime": { + "type": "integer", "language": { "python": { "mapCase": false } } }, - "initialPosition": { - "type": "string", + "instanceCount": { + "type": "integer", "language": { "python": { "mapCase": false } } }, - "logGroupName": { - "type": "string", + "loadThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "multilineStartPattern": { - "type": "string", + "memoryThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "timeZone": { - "type": "string", + "thresholdsWaitTime": { + "type": "integer", "language": { "python": { "mapCase": false @@ -112654,70 +115028,63 @@ } } }, - "type": "object", - "required": [ - "file", - "logGroupName" - ] + "type": "object" }, - "aws:opsworks/MemcachedLayerEbsVolume:MemcachedLayerEbsVolume": { + "aws:opsworks/NodejsAppLayerLoadBasedAutoScalingUpscaling:NodejsAppLayerLoadBasedAutoScalingUpscaling": { "properties": { - "encrypted": { - "type": "boolean", + "alarms": { + "type": "array", + "items": { + "type": "string" + }, "language": { "python": { "mapCase": false } } }, - "iops": { - "type": "integer", - "description": "For PIOPS volumes, the IOPS per disk.\n", + "cpuThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "mountPoint": { - "type": "string", - "description": "The path to mount the EBS volume on the layer's instances.\n", + "ignoreMetricsTime": { + "type": "integer", "language": { "python": { "mapCase": false } } }, - "numberOfDisks": { + "instanceCount": { "type": "integer", - "description": "The number of disks to use for the EBS volume.\n", "language": { "python": { "mapCase": false } } }, - "raidLevel": { - "type": "string", - "description": "The RAID level to use for the volume.\n", + "loadThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "size": { - "type": "integer", - "description": "The size of the volume in gigabytes.\n", + "memoryThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "type": { - "type": "string", - "description": "The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.\n", + "thresholdsWaitTime": { + "type": "integer", "language": { "python": { "mapCase": false @@ -112725,14 +115092,9 @@ } } }, - "type": "object", - "required": [ - "mountPoint", - "numberOfDisks", - "size" - ] + "type": "object" }, - "aws:opsworks/MysqlLayerCloudwatchConfiguration:MysqlLayerCloudwatchConfiguration": { + "aws:opsworks/PhpAppLayerCloudwatchConfiguration:PhpAppLayerCloudwatchConfiguration": { "properties": { "enabled": { "type": "boolean", @@ -112745,7 +115107,7 @@ "logStreams": { "type": "array", "items": { - "$ref": "#/types/aws:opsworks/MysqlLayerCloudwatchConfigurationLogStream:MysqlLayerCloudwatchConfigurationLogStream" + "$ref": "#/types/aws:opsworks/PhpAppLayerCloudwatchConfigurationLogStream:PhpAppLayerCloudwatchConfigurationLogStream" }, "language": { "python": { @@ -112756,7 +115118,7 @@ }, "type": "object" }, - "aws:opsworks/MysqlLayerCloudwatchConfigurationLogStream:MysqlLayerCloudwatchConfigurationLogStream": { + "aws:opsworks/PhpAppLayerCloudwatchConfigurationLogStream:PhpAppLayerCloudwatchConfigurationLogStream": { "properties": { "batchCount": { "type": "integer", @@ -112853,7 +115215,7 @@ "logGroupName" ] }, - "aws:opsworks/MysqlLayerEbsVolume:MysqlLayerEbsVolume": { + "aws:opsworks/PhpAppLayerEbsVolume:PhpAppLayerEbsVolume": { "properties": { "encrypted": { "type": "boolean", @@ -112925,114 +115287,98 @@ "size" ] }, - "aws:opsworks/NodejsAppLayerCloudwatchConfiguration:NodejsAppLayerCloudwatchConfiguration": { + "aws:opsworks/PhpAppLayerLoadBasedAutoScaling:PhpAppLayerLoadBasedAutoScaling": { "properties": { - "enabled": { - "type": "boolean", - "language": { - "python": { - "mapCase": false - } - } - }, - "logStreams": { - "type": "array", - "items": { - "$ref": "#/types/aws:opsworks/NodejsAppLayerCloudwatchConfigurationLogStream:NodejsAppLayerCloudwatchConfigurationLogStream" - }, - "language": { - "python": { - "mapCase": false - } - } - } - }, - "type": "object" - }, - "aws:opsworks/NodejsAppLayerCloudwatchConfigurationLogStream:NodejsAppLayerCloudwatchConfigurationLogStream": { - "properties": { - "batchCount": { - "type": "integer", - "language": { - "python": { - "mapCase": false - } - } - }, - "batchSize": { - "type": "integer", + "downscaling": { + "$ref": "#/types/aws:opsworks/PhpAppLayerLoadBasedAutoScalingDownscaling:PhpAppLayerLoadBasedAutoScalingDownscaling", "language": { "python": { "mapCase": false } } }, - "bufferDuration": { - "type": "integer", + "enable": { + "type": "boolean", "language": { "python": { "mapCase": false } } }, - "datetimeFormat": { - "type": "string", + "upscaling": { + "$ref": "#/types/aws:opsworks/PhpAppLayerLoadBasedAutoScalingUpscaling:PhpAppLayerLoadBasedAutoScalingUpscaling", "language": { "python": { "mapCase": false } } - }, - "encoding": { - "type": "string", + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "downscaling", + "upscaling" + ] + } + } + }, + "aws:opsworks/PhpAppLayerLoadBasedAutoScalingDownscaling:PhpAppLayerLoadBasedAutoScalingDownscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, "language": { "python": { "mapCase": false } } }, - "file": { - "type": "string", + "cpuThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "fileFingerprintLines": { - "type": "string", + "ignoreMetricsTime": { + "type": "integer", "language": { "python": { "mapCase": false } } }, - "initialPosition": { - "type": "string", + "instanceCount": { + "type": "integer", "language": { "python": { "mapCase": false } } }, - "logGroupName": { - "type": "string", + "loadThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "multilineStartPattern": { - "type": "string", + "memoryThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "timeZone": { - "type": "string", + "thresholdsWaitTime": { + "type": "integer", "language": { "python": { "mapCase": false @@ -113040,70 +115386,63 @@ } } }, - "type": "object", - "required": [ - "file", - "logGroupName" - ] + "type": "object" }, - "aws:opsworks/NodejsAppLayerEbsVolume:NodejsAppLayerEbsVolume": { + "aws:opsworks/PhpAppLayerLoadBasedAutoScalingUpscaling:PhpAppLayerLoadBasedAutoScalingUpscaling": { "properties": { - "encrypted": { - "type": "boolean", + "alarms": { + "type": "array", + "items": { + "type": "string" + }, "language": { "python": { "mapCase": false } } }, - "iops": { - "type": "integer", - "description": "For PIOPS volumes, the IOPS per disk.\n", + "cpuThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "mountPoint": { - "type": "string", - "description": "The path to mount the EBS volume on the layer's instances.\n", + "ignoreMetricsTime": { + "type": "integer", "language": { "python": { "mapCase": false } } }, - "numberOfDisks": { + "instanceCount": { "type": "integer", - "description": "The number of disks to use for the EBS volume.\n", "language": { "python": { "mapCase": false } } }, - "raidLevel": { - "type": "string", - "description": "The RAID level to use for the volume.\n", + "loadThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "size": { - "type": "integer", - "description": "The size of the volume in gigabytes.\n", + "memoryThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "type": { - "type": "string", - "description": "The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.\n", + "thresholdsWaitTime": { + "type": "integer", "language": { "python": { "mapCase": false @@ -113111,14 +115450,9 @@ } } }, - "type": "object", - "required": [ - "mountPoint", - "numberOfDisks", - "size" - ] + "type": "object" }, - "aws:opsworks/PhpAppLayerCloudwatchConfiguration:PhpAppLayerCloudwatchConfiguration": { + "aws:opsworks/RailsAppLayerCloudwatchConfiguration:RailsAppLayerCloudwatchConfiguration": { "properties": { "enabled": { "type": "boolean", @@ -113131,7 +115465,7 @@ "logStreams": { "type": "array", "items": { - "$ref": "#/types/aws:opsworks/PhpAppLayerCloudwatchConfigurationLogStream:PhpAppLayerCloudwatchConfigurationLogStream" + "$ref": "#/types/aws:opsworks/RailsAppLayerCloudwatchConfigurationLogStream:RailsAppLayerCloudwatchConfigurationLogStream" }, "language": { "python": { @@ -113142,7 +115476,7 @@ }, "type": "object" }, - "aws:opsworks/PhpAppLayerCloudwatchConfigurationLogStream:PhpAppLayerCloudwatchConfigurationLogStream": { + "aws:opsworks/RailsAppLayerCloudwatchConfigurationLogStream:RailsAppLayerCloudwatchConfigurationLogStream": { "properties": { "batchCount": { "type": "integer", @@ -113239,7 +115573,7 @@ "logGroupName" ] }, - "aws:opsworks/PhpAppLayerEbsVolume:PhpAppLayerEbsVolume": { + "aws:opsworks/RailsAppLayerEbsVolume:RailsAppLayerEbsVolume": { "properties": { "encrypted": { "type": "boolean", @@ -113311,114 +115645,98 @@ "size" ] }, - "aws:opsworks/RailsAppLayerCloudwatchConfiguration:RailsAppLayerCloudwatchConfiguration": { + "aws:opsworks/RailsAppLayerLoadBasedAutoScaling:RailsAppLayerLoadBasedAutoScaling": { "properties": { - "enabled": { - "type": "boolean", + "downscaling": { + "$ref": "#/types/aws:opsworks/RailsAppLayerLoadBasedAutoScalingDownscaling:RailsAppLayerLoadBasedAutoScalingDownscaling", "language": { "python": { "mapCase": false } } }, - "logStreams": { - "type": "array", - "items": { - "$ref": "#/types/aws:opsworks/RailsAppLayerCloudwatchConfigurationLogStream:RailsAppLayerCloudwatchConfigurationLogStream" - }, - "language": { - "python": { - "mapCase": false - } - } - } - }, - "type": "object" - }, - "aws:opsworks/RailsAppLayerCloudwatchConfigurationLogStream:RailsAppLayerCloudwatchConfigurationLogStream": { - "properties": { - "batchCount": { - "type": "integer", - "language": { - "python": { - "mapCase": false - } - } - }, - "batchSize": { - "type": "integer", - "language": { - "python": { - "mapCase": false - } - } - }, - "bufferDuration": { - "type": "integer", + "enable": { + "type": "boolean", "language": { "python": { "mapCase": false } } }, - "datetimeFormat": { - "type": "string", + "upscaling": { + "$ref": "#/types/aws:opsworks/RailsAppLayerLoadBasedAutoScalingUpscaling:RailsAppLayerLoadBasedAutoScalingUpscaling", "language": { "python": { "mapCase": false } } - }, - "encoding": { - "type": "string", + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "downscaling", + "upscaling" + ] + } + } + }, + "aws:opsworks/RailsAppLayerLoadBasedAutoScalingDownscaling:RailsAppLayerLoadBasedAutoScalingDownscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, "language": { "python": { "mapCase": false } } }, - "file": { - "type": "string", + "cpuThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "fileFingerprintLines": { - "type": "string", + "ignoreMetricsTime": { + "type": "integer", "language": { "python": { "mapCase": false } } }, - "initialPosition": { - "type": "string", + "instanceCount": { + "type": "integer", "language": { "python": { "mapCase": false } } }, - "logGroupName": { - "type": "string", + "loadThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "multilineStartPattern": { - "type": "string", + "memoryThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "timeZone": { - "type": "string", + "thresholdsWaitTime": { + "type": "integer", "language": { "python": { "mapCase": false @@ -113426,70 +115744,63 @@ } } }, - "type": "object", - "required": [ - "file", - "logGroupName" - ] + "type": "object" }, - "aws:opsworks/RailsAppLayerEbsVolume:RailsAppLayerEbsVolume": { + "aws:opsworks/RailsAppLayerLoadBasedAutoScalingUpscaling:RailsAppLayerLoadBasedAutoScalingUpscaling": { "properties": { - "encrypted": { - "type": "boolean", + "alarms": { + "type": "array", + "items": { + "type": "string" + }, "language": { "python": { "mapCase": false } } }, - "iops": { - "type": "integer", - "description": "For PIOPS volumes, the IOPS per disk.\n", + "cpuThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "mountPoint": { - "type": "string", - "description": "The path to mount the EBS volume on the layer's instances.\n", + "ignoreMetricsTime": { + "type": "integer", "language": { "python": { "mapCase": false } } }, - "numberOfDisks": { + "instanceCount": { "type": "integer", - "description": "The number of disks to use for the EBS volume.\n", "language": { "python": { "mapCase": false } } }, - "raidLevel": { - "type": "string", - "description": "The RAID level to use for the volume.\n", + "loadThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "size": { - "type": "integer", - "description": "The size of the volume in gigabytes.\n", + "memoryThreshold": { + "type": "number", "language": { "python": { "mapCase": false } } }, - "type": { - "type": "string", - "description": "The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.\n", + "thresholdsWaitTime": { + "type": "integer", "language": { "python": { "mapCase": false @@ -113497,12 +115808,7 @@ } } }, - "type": "object", - "required": [ - "mountPoint", - "numberOfDisks", - "size" - ] + "type": "object" }, "aws:opsworks/StackCustomCookbooksSource:StackCustomCookbooksSource": { "properties": { @@ -113760,6 +116066,171 @@ "size" ] }, + "aws:opsworks/StaticWebLayerLoadBasedAutoScaling:StaticWebLayerLoadBasedAutoScaling": { + "properties": { + "downscaling": { + "$ref": "#/types/aws:opsworks/StaticWebLayerLoadBasedAutoScalingDownscaling:StaticWebLayerLoadBasedAutoScalingDownscaling", + "language": { + "python": { + "mapCase": false + } + } + }, + "enable": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "upscaling": { + "$ref": "#/types/aws:opsworks/StaticWebLayerLoadBasedAutoScalingUpscaling:StaticWebLayerLoadBasedAutoScalingUpscaling", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "downscaling", + "upscaling" + ] + } + } + }, + "aws:opsworks/StaticWebLayerLoadBasedAutoScalingDownscaling:StaticWebLayerLoadBasedAutoScalingDownscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "cpuThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "ignoreMetricsTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "instanceCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "loadThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "memoryThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "thresholdsWaitTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:opsworks/StaticWebLayerLoadBasedAutoScalingUpscaling:StaticWebLayerLoadBasedAutoScalingUpscaling": { + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "string" + }, + "language": { + "python": { + "mapCase": false + } + } + }, + "cpuThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "ignoreMetricsTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "instanceCount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "loadThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "memoryThreshold": { + "type": "number", + "language": { + "python": { + "mapCase": false + } + } + }, + "thresholdsWaitTime": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, "aws:organizations/OrganizationAccount:OrganizationAccount": { "properties": { "arn": { @@ -116454,6 +118925,35 @@ }, "type": "object" }, + "aws:rds/ReservedInstanceRecurringCharge:ReservedInstanceRecurringCharge": { + "properties": { + "recurringChargeAmount": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "recurringChargeFrequency": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "recurringChargeAmount", + "recurringChargeFrequency" + ] + } + } + }, "aws:rds/SecurityGroupIngress:SecurityGroupIngress": { "properties": { "cidr": { @@ -123434,6 +125934,444 @@ "functionArn" ] }, + "aws:s3control/StorageLensConfigurationStorageLensConfiguration:StorageLensConfigurationStorageLensConfiguration": { + "properties": { + "accountLevel": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfigurationAccountLevel:StorageLensConfigurationStorageLensConfigurationAccountLevel", + "description": "The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "awsOrg": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfigurationAwsOrg:StorageLensConfigurationStorageLensConfigurationAwsOrg", + "description": "The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "dataExport": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfigurationDataExport:StorageLensConfigurationStorageLensConfigurationDataExport", + "description": "Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "enabled": { + "type": "boolean", + "description": "Whether the S3 Storage Lens configuration is enabled.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "exclude": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfigurationExclude:StorageLensConfigurationStorageLensConfigurationExclude", + "description": "What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "include": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfigurationInclude:StorageLensConfigurationStorageLensConfigurationInclude", + "description": "What is included in this configuration. Conflicts with `exclude`. See Include below for more details.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "accountLevel", + "enabled" + ] + }, + "aws:s3control/StorageLensConfigurationStorageLensConfigurationAccountLevel:StorageLensConfigurationStorageLensConfigurationAccountLevel": { + "properties": { + "activityMetrics": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics:StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics", + "description": "S3 Storage Lens activity metrics. See Activity Metrics below for more details.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "bucketLevel": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel:StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel", + "description": "S3 Storage Lens bucket-level configuration. See Bucket Level below for more details.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "bucketLevel" + ] + }, + "aws:s3control/StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics:StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the activity metrics are enabled.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:s3control/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel:StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel": { + "properties": { + "activityMetrics": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics:StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics", + "description": "S3 Storage Lens activity metrics. See Activity Metrics above for more details.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "prefixLevel": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel:StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel", + "description": "Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:s3control/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics:StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the activity metrics are enabled.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:s3control/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel:StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel": { + "properties": { + "storageMetrics": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics:StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics", + "description": "Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "storageMetrics" + ] + }, + "aws:s3control/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics:StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether prefix-level storage metrics are enabled.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "selectionCriteria": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria:StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria", + "description": "Selection criteria. See Selection Criteria below for more details.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:s3control/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria:StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria": { + "properties": { + "delimiter": { + "type": "string", + "description": "The delimiter of the selection criteria being used.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "maxDepth": { + "type": "integer", + "description": "The max depth of the selection criteria.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "minStorageBytesPercentage": { + "type": "number", + "description": "The minimum number of storage bytes percentage whose metrics will be selected.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:s3control/StorageLensConfigurationStorageLensConfigurationAwsOrg:StorageLensConfigurationStorageLensConfigurationAwsOrg": { + "properties": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the Amazon Web Services organization.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "arn" + ] + }, + "aws:s3control/StorageLensConfigurationStorageLensConfigurationDataExport:StorageLensConfigurationStorageLensConfigurationDataExport": { + "properties": { + "cloudWatchMetrics": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics:StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics", + "description": "Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "s3BucketDestination": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination:StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination", + "description": "The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:s3control/StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics:StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether CloudWatch publishing for S3 Storage Lens metrics is enabled.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "enabled" + ] + }, + "aws:s3control/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination:StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination": { + "properties": { + "accountId": { + "type": "string", + "description": "The account ID of the owner of the S3 Storage Lens metrics export bucket.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the bucket.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "encryption": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption:StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption", + "description": "Encryption of the metrics exports in this bucket. See Encryption below for more details.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "format": { + "type": "string", + "description": "The export format. Valid values: `CSV`, `Parquet`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "outputSchemaVersion": { + "type": "string", + "description": "The schema version of the export file. Valid values: `V_1`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "prefix": { + "type": "string", + "description": "The prefix of the destination bucket where the metrics export will be delivered.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "accountId", + "arn", + "format", + "outputSchemaVersion" + ] + }, + "aws:s3control/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption:StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption": { + "properties": { + "sseKms": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms:StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms", + "description": "SSE-KMS encryption. See SSE KMS below for more details.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "sseS3s": { + "type": "array", + "items": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3:StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3" + }, + "description": "SSE-S3 encryption. An empty configuration block `{}` should be used.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:s3control/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms:StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms": { + "properties": { + "keyId": { + "type": "string", + "description": "KMS key ARN.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "keyId" + ] + }, + "aws:s3control/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3:StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3": { + "type": "object" + }, + "aws:s3control/StorageLensConfigurationStorageLensConfigurationExclude:StorageLensConfigurationStorageLensConfigurationExclude": { + "properties": { + "buckets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of S3 bucket ARNs.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "regions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of AWS Regions.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:s3control/StorageLensConfigurationStorageLensConfigurationInclude:StorageLensConfigurationStorageLensConfigurationInclude": { + "properties": { + "buckets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of S3 bucket ARNs.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "regions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of AWS Regions.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, "aws:s3outposts/EndpointNetworkInterface:EndpointNetworkInterface": { "properties": { "networkInterfaceId": { @@ -131062,6 +134000,115 @@ "position" ] }, + "aws:sesv2/ConfigurationSetDeliveryOptions:ConfigurationSetDeliveryOptions": { + "properties": { + "sendingPoolName": { + "type": "string", + "description": "The name of the dedicated IP pool to associate with the configuration set.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "tlsPolicy": { + "type": "string", + "description": "Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:sesv2/ConfigurationSetReputationOptions:ConfigurationSetReputationOptions": { + "properties": { + "lastFreshStart": { + "type": "string", + "description": "The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "reputationMetricsEnabled": { + "type": "boolean", + "description": "If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "lastFreshStart", + "reputationMetricsEnabled" + ] + } + } + }, + "aws:sesv2/ConfigurationSetSendingOptions:ConfigurationSetSendingOptions": { + "properties": { + "sendingEnabled": { + "type": "boolean", + "description": "If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "sendingEnabled" + ] + } + } + }, + "aws:sesv2/ConfigurationSetSuppressionOptions:ConfigurationSetSuppressionOptions": { + "properties": { + "suppressedReasons": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "aws:sesv2/ConfigurationSetTrackingOptions:ConfigurationSetTrackingOptions": { + "properties": { + "customRedirectDomain": { + "type": "string", + "description": "The domain to use for tracking open and click events.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "customRedirectDomain" + ] + }, "aws:sfn/StateMachineLoggingConfiguration:StateMachineLoggingConfiguration": { "properties": { "includeExecutionData": { @@ -380839,7 +383886,7 @@ } }, "aws:acm/certificateValidation:CertificateValidation": { - "description": "{{% examples %}}\nThis resource represents a successful validation of an ACM certificate in concert\nwith other resources.\n\nMost commonly, this resource is used together with `aws.route53.Record` and\n`aws.acm.Certificate` to request a DNS validated certificate,\ndeploy the required validation records and wait for validation to complete.\n\n\u003e **WARNING:** This resource implements a part of the validation workflow. It does not represent a real-world entity in AWS, therefore changing or deleting this resource on its own has no immediate effect.\n\n\n## Example Usage\n\n{{% example %}}\n### DNS Validation with Route 53\n\n```typescript\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCertificate = new aws.acm.Certificate(\"exampleCertificate\", {\n domainName: \"example.com\",\n validationMethod: \"DNS\",\n});\nconst exampleZone = aws.route53.getZone({\n name: \"example.com\",\n privateZone: false,\n});\n\nconst certValidation = new aws.route53.Record(\"certValidation\", {\n name: exampleCertificate.domainValidationOptions[0].resourceRecordName,\n records: [exampleCertificate.domainValidationOptions[0].resourceRecordValue],\n ttl: 60,\n type: exampleCertificate.domainValidationOptions[0].resourceRecordType,\n zoneId: exampleZone.then(x =\u003e x.zoneId),\n});\n\nconst certCertificateValidation = new aws.acm.CertificateValidation(\"cert\", {\n certificateArn: exampleCertificate.arn,\n validationRecordFqdns: [certValidation.fqdn],\n});\n\nexport const certificateArn = certCertificateValidation.certificateArn;\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/acm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n exampleCertificate, err := acm.NewCertificate(ctx, \"exampleCertificate\", \u0026acm.CertificateArgs{\n DomainName: pulumi.String(\"example.com\"),\n ValidationMethod: pulumi.String(\"DNS\"),\n })\n if err != nil {\n return err\n }\n \n exampleZone, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n Name: pulumi.StringRef(\"example.com\"),\n PrivateZone: pulumi.BoolRef(false),\n }, nil)\n if err != nil {\n return err\n }\n \n domainValidationOption := exampleCertificate.DomainValidationOptions.ApplyT(func(options []acm.CertificateDomainValidationOption) interface{} {\n return options[0]\n })\n \n certValidation, err := route53.NewRecord(ctx, \"certValidation\", \u0026route53.RecordArgs{\n Name: domainValidationOption.ApplyT(func(option interface{}) string {\n return *option.(acm.CertificateDomainValidationOption).ResourceRecordName\n }).(pulumi.StringOutput),\n Type: domainValidationOption.ApplyT(func(option interface{}) string {\n return *option.(acm.CertificateDomainValidationOption).ResourceRecordType\n }).(pulumi.StringOutput),\n Records: pulumi.StringArray{\n domainValidationOption.ApplyT(func(option interface{}) string {\n return *option.(acm.CertificateDomainValidationOption).ResourceRecordValue\n }).(pulumi.StringOutput),\n },\n Ttl: pulumi.Int(10 * 60),\n ZoneId: pulumi.String(exampleZone.ZoneId),\n })\n if err != nil {\n return err\n }\n \n certCertificateValidation, err := acm.NewCertificateValidation(ctx, \"cert\", \u0026acm.CertificateValidationArgs{\n CertificateArn: exampleCertificate.Arn,\n ValidationRecordFqdns: pulumi.StringArray{\n certValidation.Fqdn,\n },\n })\n if err != nil {\n return err\n }\n \n ctx.Export(\"certificateArn\", certCertificateValidation.CertificateArn)\n \n return nil\n })\n}\n```\n```python\nimport pulumi_aws as aws\n\nexample_certificate = aws.acm.Certificate(\"exampleCertificate\",\n domain_name=\"example.com\",\n validation_method=\"DNS\")\n\nexample_zone = aws.route53.getZone(name=\"example.com\",\n private_zone=False)\n\ncert_validation = aws.route53.Record(\"certValidation\",\n name=example_certificate.domain_validation_options[0].resource_record_name,\n records=[example_certificate.domain_validation_options[0].resource_record_value],\n ttl=60,\n type=example_certificate.domain_validation_options[0].resource_record_type,\n zone_id=example_zone.zone_id)\n\ncert_certificate_validation = aws.route53.CertificateValidation(\"cert\",\n certificate_arn=example_certificate.arn,\n validation_record_fdqns=[cert_validation.fdqn])\n\npulumi.export(\"certificate_arn\", cert_certificate_validation.certificate_arn)\n```\n```csharp\nusing Pulumi;\nusing Pulumi.Aws.Acm;\nusing Pulumi.Aws.Route53;\nusing System.Collections.Generic;\n\nreturn await Deployment.RunAsync(() =\u003e\n{\n var exampleCertificate = new Certificate(\"exampleCertificate\", new CertificateArgs\n {\n DomainName = \"example.com\",\n ValidationMethod = \"DNS\"\n });\n\n var exampleZone = GetZone.Invoke(new GetZoneInvokeArgs\n {\n Name = \"example.com\",\n PrivateZone = false,\n });\n\n var certValidation = new Record(\"certValidation\", new RecordArgs\n {\n Name = exampleCertificate.DomainValidationOptions.Apply(options =\u003e options[0].ResourceRecordName!),\n Records =\n {\n exampleCertificate.DomainValidationOptions.Apply(options =\u003e options[0].ResourceRecordValue!),\n },\n Ttl = 60,\n Type = exampleCertificate.DomainValidationOptions.Apply(options =\u003e options[0].ResourceRecordType!),\n ZoneId = exampleZone.Apply(zone =\u003e zone.Id),\n });\n\n var certCertificateValidation = new CertificateValidation(\"cert\", new CertificateValidationArgs\n {\n CertificateArn = exampleCertificate.Arn,\n ValidationRecordFqdns =\n {\n certValidation.Fqdn,\n },\n });\n \n return new Dictionary\u003cstring, object?\u003e\n {\n [\"certificateArn\"] = certCertificateValidation.CertificateArn,\n };\n});\n```\n```yaml\nvariables:\n zoneId:\n Fn::Invoke:\n Function: aws.route53.getZone\n Arguments:\n name: \"example.com\"\n privateZone: false\n Return: id\nresources:\n exampleCertificate:\n type: aws.acm.Certificate\n properties:\n domainName: \"example.com\"\n validationMethod: \"DNS\"\n certValidation:\n type: aws.route53.Record\n properties:\n name: ${exampleCertificate.domainValidationOptions[0].resourceRecordName}\n records: [${exampleCertificate.domainValidationOptions[0].resourceRecordValue}]\n ttl: 60\n type: ${exampleCertificate.domainValidationOptions[0].resourceRecordType}\n zoneId: ${zoneId}\n certCertificateValidation:\n type: aws.acm.CertificateValidation\n properties:\n certificateArn: ${exampleCertificate.arn}\n validationRecordFqdns: [${certValidation.fqdn}]\noutputs:\n certificateArn: ${certCertificateValidation.certificateArn}\n```\n{{% /example %}}\n{{% example %}}\n### Email Validation\n\n```typescript\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCertificate = new aws.acm.Certificate(\"exampleCertificate\", {\n domainName: \"example.com\",\n validationMethod: \"EMAIL\",\n});\n\nconst exampleCertificateValidation = new aws.acm.CertificateValidation(\"exampleCertificateValidation\", {\n certificateArn: exampleCertificate.arn,\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/acm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n exampleCertificate, err := acm.NewCertificate(ctx, \"exampleCertificate\", \u0026acm.CertificateArgs{\n DomainName: pulumi.String(\"example.com\"),\n ValidationMethod: pulumi.String(\"EMAIL\"),\n })\n if err != nil {\n return err\n }\n \n _, err = acm.NewCertificateValidation(ctx, \"exampleCertificateValidation\", \u0026acm.CertificateValidationArgs{\n CertificateArn: exampleCertificate.Arn,\n })\n if err != nil {\n return err\n }\n\t\treturn nil\n\t})\n}\n```\n```python\nimport pulumi_aws as aws\n\nexample_certificate = aws.acm.Certificate(\"exampleCertificate\",\n domain_name=\"example.com\",\n validation_method=\"EMAIL\")\n\nexample_certificate_validation = aws.acm.CertificateValidation(\"exampleCertificateValidation\",\n certificate_arn=example_certificate.arn)\n```\n```csharp\nusing Pulumi;\nusing Pulumi.Aws.Acm;\n\nreturn await Deployment.RunAsync(() =\u003e\n{\n var exampleCertificate = new Certificate(\"exampleCertificate\", new CertificateArgs\n {\n DomainName = \"example.com\",\n ValidationMethod = \"EMAIL\"\n });\n\n var certCertificateValidation = new CertificateValidation(\"cert\", new CertificateValidationArgs\n {\n CertificateArn = exampleCertificate.Arn,\n });\n});\n\n```\n```yaml\nresources:\n exampleCertificate:\n type: aws.acm.Certificate\n properties:\n domainName: \"example.com\"\n validationMethod: \"EMAIL\"\n certCertificateValidation:\n type: aws.acm.CertificateValidation\n properties:\n certificateArn: ${exampleCertificate.arn}\n```\n{{% /example %}}\n\n{{% //examples %}}", + "description": "{{% examples %}}\nThis resource represents a successful validation of an ACM certificate in concert\nwith other resources.\n\nMost commonly, this resource is used together with `aws.route53.Record` and\n`aws.acm.Certificate` to request a DNS validated certificate,\ndeploy the required validation records and wait for validation to complete.\n\n\u003e **WARNING:** This resource implements a part of the validation workflow. It does not represent a real-world entity in AWS, therefore changing or deleting this resource on its own has no immediate effect.\n\n## Example Usage\n\n{{% example %}}\n### DNS Validation with Route 53\n\n```typescript\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCertificate = new aws.acm.Certificate(\"exampleCertificate\", {\n domainName: \"example.com\",\n validationMethod: \"DNS\",\n});\nconst exampleZone = aws.route53.getZone({\n name: \"example.com\",\n privateZone: false,\n});\n\nconst certValidation = new aws.route53.Record(\"certValidation\", {\n name: exampleCertificate.domainValidationOptions[0].resourceRecordName,\n records: [exampleCertificate.domainValidationOptions[0].resourceRecordValue],\n ttl: 60,\n type: exampleCertificate.domainValidationOptions[0].resourceRecordType,\n zoneId: exampleZone.then(x =\u003e x.zoneId),\n});\n\nconst certCertificateValidation = new aws.acm.CertificateValidation(\"cert\", {\n certificateArn: exampleCertificate.arn,\n validationRecordFqdns: [certValidation.fqdn],\n});\n\nexport const certificateArn = certCertificateValidation.certificateArn;\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/acm\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n exampleCertificate, err := acm.NewCertificate(ctx, \"exampleCertificate\", \u0026acm.CertificateArgs{\n DomainName: pulumi.String(\"example.com\"),\n ValidationMethod: pulumi.String(\"DNS\"),\n })\n if err != nil {\n return err\n }\n \n exampleZone, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n Name: pulumi.StringRef(\"example.com\"),\n PrivateZone: pulumi.BoolRef(false),\n }, nil)\n if err != nil {\n return err\n }\n \n domainValidationOption := exampleCertificate.DomainValidationOptions.ApplyT(func(options []acm.CertificateDomainValidationOption) interface{} {\n return options[0]\n })\n \n certValidation, err := route53.NewRecord(ctx, \"certValidation\", \u0026route53.RecordArgs{\n Name: domainValidationOption.ApplyT(func(option interface{}) string {\n return *option.(acm.CertificateDomainValidationOption).ResourceRecordName\n }).(pulumi.StringOutput),\n Type: domainValidationOption.ApplyT(func(option interface{}) string {\n return *option.(acm.CertificateDomainValidationOption).ResourceRecordType\n }).(pulumi.StringOutput),\n Records: pulumi.StringArray{\n domainValidationOption.ApplyT(func(option interface{}) string {\n return *option.(acm.CertificateDomainValidationOption).ResourceRecordValue\n }).(pulumi.StringOutput),\n },\n Ttl: pulumi.Int(10 * 60),\n ZoneId: pulumi.String(exampleZone.ZoneId),\n })\n if err != nil {\n return err\n }\n \n certCertificateValidation, err := acm.NewCertificateValidation(ctx, \"cert\", \u0026acm.CertificateValidationArgs{\n CertificateArn: exampleCertificate.Arn,\n ValidationRecordFqdns: pulumi.StringArray{\n certValidation.Fqdn,\n },\n })\n if err != nil {\n return err\n }\n \n ctx.Export(\"certificateArn\", certCertificateValidation.CertificateArn)\n \n return nil\n })\n}\n```\n```python\nimport pulumi_aws as aws\n\nexample_certificate = aws.acm.Certificate(\"exampleCertificate\",\n domain_name=\"example.com\",\n validation_method=\"DNS\")\n\nexample_zone = aws.route53.getZone(name=\"example.com\",\n private_zone=False)\n\ncert_validation = aws.route53.Record(\"certValidation\",\n name=example_certificate.domain_validation_options[0].resource_record_name,\n records=[example_certificate.domain_validation_options[0].resource_record_value],\n ttl=60,\n type=example_certificate.domain_validation_options[0].resource_record_type,\n zone_id=example_zone.zone_id)\n\ncert_certificate_validation = aws.route53.CertificateValidation(\"cert\",\n certificate_arn=example_certificate.arn,\n validation_record_fdqns=[cert_validation.fdqn])\n\npulumi.export(\"certificate_arn\", cert_certificate_validation.certificate_arn)\n```\n```csharp\nusing Pulumi;\nusing Pulumi.Aws.Acm;\nusing Pulumi.Aws.Route53;\nusing System.Collections.Generic;\n\nreturn await Deployment.RunAsync(() =\u003e\n{\n var exampleCertificate = new Certificate(\"exampleCertificate\", new CertificateArgs\n {\n DomainName = \"example.com\",\n ValidationMethod = \"DNS\"\n });\n\n var exampleZone = GetZone.Invoke(new GetZoneInvokeArgs\n {\n Name = \"example.com\",\n PrivateZone = false,\n });\n\n var certValidation = new Record(\"certValidation\", new RecordArgs\n {\n Name = exampleCertificate.DomainValidationOptions.Apply(options =\u003e options[0].ResourceRecordName!),\n Records =\n {\n exampleCertificate.DomainValidationOptions.Apply(options =\u003e options[0].ResourceRecordValue!),\n },\n Ttl = 60,\n Type = exampleCertificate.DomainValidationOptions.Apply(options =\u003e options[0].ResourceRecordType!),\n ZoneId = exampleZone.Apply(zone =\u003e zone.Id),\n });\n\n var certCertificateValidation = new CertificateValidation(\"cert\", new CertificateValidationArgs\n {\n CertificateArn = exampleCertificate.Arn,\n ValidationRecordFqdns =\n {\n certValidation.Fqdn,\n },\n });\n \n return new Dictionary\u003cstring, object?\u003e\n {\n [\"certificateArn\"] = certCertificateValidation.CertificateArn,\n };\n});\n```\n```yaml\nvariables:\n zoneId:\n Fn::Invoke:\n Function: aws.route53.getZone\n Arguments:\n name: \"example.com\"\n privateZone: false\n Return: id\nresources:\n exampleCertificate:\n type: aws.acm.Certificate\n properties:\n domainName: \"example.com\"\n validationMethod: \"DNS\"\n certValidation:\n type: aws.route53.Record\n properties:\n name: ${exampleCertificate.domainValidationOptions[0].resourceRecordName}\n records: [${exampleCertificate.domainValidationOptions[0].resourceRecordValue}]\n ttl: 60\n type: ${exampleCertificate.domainValidationOptions[0].resourceRecordType}\n zoneId: ${zoneId}\n certCertificateValidation:\n type: aws.acm.CertificateValidation\n properties:\n certificateArn: ${exampleCertificate.arn}\n validationRecordFqdns: [${certValidation.fqdn}]\noutputs:\n certificateArn: ${certCertificateValidation.certificateArn}\n```\n{{% /example %}}\n{{% example %}}\n### Email Validation\n\n```typescript\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCertificate = new aws.acm.Certificate(\"exampleCertificate\", {\n domainName: \"example.com\",\n validationMethod: \"EMAIL\",\n});\n\nconst exampleCertificateValidation = new aws.acm.CertificateValidation(\"exampleCertificateValidation\", {\n certificateArn: exampleCertificate.arn,\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/acm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n exampleCertificate, err := acm.NewCertificate(ctx, \"exampleCertificate\", \u0026acm.CertificateArgs{\n DomainName: pulumi.String(\"example.com\"),\n ValidationMethod: pulumi.String(\"EMAIL\"),\n })\n if err != nil {\n return err\n }\n \n _, err = acm.NewCertificateValidation(ctx, \"exampleCertificateValidation\", \u0026acm.CertificateValidationArgs{\n CertificateArn: exampleCertificate.Arn,\n })\n if err != nil {\n return err\n }\n\t\treturn nil\n\t})\n}\n```\n```python\nimport pulumi_aws as aws\n\nexample_certificate = aws.acm.Certificate(\"exampleCertificate\",\n domain_name=\"example.com\",\n validation_method=\"EMAIL\")\n\nexample_certificate_validation = aws.acm.CertificateValidation(\"exampleCertificateValidation\",\n certificate_arn=example_certificate.arn)\n```\n```csharp\nusing Pulumi;\nusing Pulumi.Aws.Acm;\n\nreturn await Deployment.RunAsync(() =\u003e\n{\n var exampleCertificate = new Certificate(\"exampleCertificate\", new CertificateArgs\n {\n DomainName = \"example.com\",\n ValidationMethod = \"EMAIL\"\n });\n\n var certCertificateValidation = new CertificateValidation(\"cert\", new CertificateValidationArgs\n {\n CertificateArn = exampleCertificate.Arn,\n });\n});\n\n```\n```yaml\nresources:\n exampleCertificate:\n type: aws.acm.Certificate\n properties:\n domainName: \"example.com\"\n validationMethod: \"EMAIL\"\n certCertificateValidation:\n type: aws.acm.CertificateValidation\n properties:\n certificateArn: ${exampleCertificate.arn}\n```\n{{% /example %}}\n\n{{% //examples %}}", "properties": { "certificateArn": { "type": "string", @@ -382661,7 +385708,7 @@ } }, "aws:amp/workspace:Workspace": { - "description": "Manages an Amazon Managed Service for Prometheus (AMP) Workspace.\n\n\u003e **NOTE:** This AWS functionality is in Preview and may change before General Availability release. Backwards compatibility is not guaranteed between provider releases.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst demo = new aws.amp.Workspace(\"demo\", {\n alias: \"prometheus-test\",\n tags: {\n Environment: \"production\",\n Owner: \"abhi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndemo = aws.amp.Workspace(\"demo\",\n alias=\"prometheus-test\",\n tags={\n \"Environment\": \"production\",\n \"Owner\": \"abhi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var demo = new Aws.Amp.Workspace(\"demo\", new()\n {\n Alias = \"prometheus-test\",\n Tags = \n {\n { \"Environment\", \"production\" },\n { \"Owner\", \"abhi\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/amp\"\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 := amp.NewWorkspace(ctx, \"demo\", \u0026amp.WorkspaceArgs{\n\t\t\tAlias: pulumi.String(\"prometheus-test\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"production\"),\n\t\t\t\t\"Owner\": pulumi.String(\"abhi\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amp.Workspace;\nimport com.pulumi.aws.amp.WorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var demo = new Workspace(\"demo\", WorkspaceArgs.builder() \n .alias(\"prometheus-test\")\n .tags(Map.ofEntries(\n Map.entry(\"Environment\", \"production\"),\n Map.entry(\"Owner\", \"abhi\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: aws:amp:Workspace\n properties:\n alias: prometheus-test\n tags:\n Environment: production\n Owner: abhi\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAMP Workspaces can be imported using the identifier, e.g.,\n\n```sh\n $ pulumi import aws:amp/workspace:Workspace demo ws-C6DCB907-F2D7-4D96-957B-66691F865D8B\n```\n\n ", + "description": "Manages an Amazon Managed Service for Prometheus (AMP) Workspace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.amp.Workspace(\"example\", {\n alias: \"example\",\n tags: {\n Environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.amp.Workspace(\"example\",\n alias=\"example\",\n tags={\n \"Environment\": \"production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Amp.Workspace(\"example\", new()\n {\n Alias = \"example\",\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/amp\"\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 := amp.NewWorkspace(ctx, \"example\", \u0026amp.WorkspaceArgs{\n\t\t\tAlias: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"production\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.amp.Workspace;\nimport com.pulumi.aws.amp.WorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Workspace(\"example\", WorkspaceArgs.builder() \n .alias(\"example\")\n .tags(Map.of(\"Environment\", \"production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:amp:Workspace\n properties:\n alias: example\n tags:\n Environment: production\n```\n{{% /example %}}\n{{% example %}}\n### CloudWatch Logging\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleLogGroup = new aws.cloudwatch.LogGroup(\"example\", {});\nconst exampleWorkspace = new aws.amp.Workspace(\"example\", {\n loggingConfiguration: {\n logGroupArn: pulumi.interpolate`${exampleLogGroup.arn}:*`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_log_group = aws.cloudwatch.LogGroup(\"exampleLogGroup\")\nexample_workspace = aws.amp.Workspace(\"exampleWorkspace\", logging_configuration=aws.amp.WorkspaceLoggingConfigurationArgs(\n log_group_arn=example_log_group.arn.apply(lambda arn: f\"{arn}:*\"),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleLogGroup = new Aws.CloudWatch.LogGroup(\"exampleLogGroup\");\n\n var exampleWorkspace = new Aws.Amp.Workspace(\"exampleWorkspace\", new()\n {\n LoggingConfiguration = new Aws.Amp.Inputs.WorkspaceLoggingConfigurationArgs\n {\n LogGroupArn = exampleLogGroup.Arn.Apply(arn =\u003e $\"{arn}:*\"),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/amp\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLogGroup, err := cloudwatch.NewLogGroup(ctx, \"exampleLogGroup\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amp.NewWorkspace(ctx, \"exampleWorkspace\", \u0026amp.WorkspaceArgs{\n\t\t\tLoggingConfiguration: \u0026amp.WorkspaceLoggingConfigurationArgs{\n\t\t\t\tLogGroupArn: exampleLogGroup.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"%v:*\", arn), nil\n\t\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.amp.Workspace;\nimport com.pulumi.aws.amp.WorkspaceArgs;\nimport com.pulumi.aws.amp.inputs.WorkspaceLoggingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleLogGroup = new LogGroup(\"exampleLogGroup\");\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder() \n .loggingConfiguration(WorkspaceLoggingConfigurationArgs.builder()\n .logGroupArn(exampleLogGroup.arn().applyValue(arn -\u003e String.format(\"%s:*\", arn)))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogGroup:\n type: aws:cloudwatch:LogGroup\n exampleWorkspace:\n type: aws:amp:Workspace\n properties:\n loggingConfiguration:\n logGroupArn: ${exampleLogGroup.arn}:*\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAMP Workspaces can be imported using the identifier, e.g.,\n\n```sh\n $ pulumi import aws:amp/workspace:Workspace demo ws-C6DCB907-F2D7-4D96-957B-66691F865D8B\n```\n\n ", "properties": { "alias": { "type": "string", @@ -382671,6 +385718,10 @@ "type": "string", "description": "Amazon Resource Name (ARN) of the workspace.\n" }, + "loggingConfiguration": { + "$ref": "#/types/aws:amp/WorkspaceLoggingConfiguration:WorkspaceLoggingConfiguration", + "description": "Logging configuration for the workspace. See Logging Configuration below for details.\n" + }, "prometheusEndpoint": { "type": "string", "description": "Prometheus endpoint available for this workspace.\n" @@ -382700,6 +385751,10 @@ "type": "string", "description": "The alias of the prometheus workspace. See more [in AWS Docs](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-onboard-create-workspace.html).\n" }, + "loggingConfiguration": { + "$ref": "#/types/aws:amp/WorkspaceLoggingConfiguration:WorkspaceLoggingConfiguration", + "description": "Logging configuration for the workspace. See Logging Configuration below for details.\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -382719,6 +385774,10 @@ "type": "string", "description": "Amazon Resource Name (ARN) of the workspace.\n" }, + "loggingConfiguration": { + "$ref": "#/types/aws:amp/WorkspaceLoggingConfiguration:WorkspaceLoggingConfiguration", + "description": "Logging configuration for the workspace. See Logging Configuration below for details.\n" + }, "prometheusEndpoint": { "type": "string", "description": "Prometheus endpoint available for this workspace.\n" @@ -400637,7 +403696,7 @@ } }, "aws:cfg/rule:Rule": { - "description": "Provides an AWS Config Rule.\n\n\u003e **Note:** Config Rule requires an existing `Configuration Recorder` to be present. Use of `depends_on` is recommended (as shown below) to avoid race conditions.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### AWS Managed Rules\n\nAWS managed rules can be used by setting the source owner to `AWS` and the source identifier to the name of the managed rule. More information about AWS managed rules can be found in the [AWS Config Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst role = new aws.iam.Role(\"role\", {assumeRolePolicy: `{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"config.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n`});\nconst foo = new aws.cfg.Recorder(\"foo\", {roleArn: role.arn});\nconst rule = new aws.cfg.Rule(\"rule\", {source: {\n owner: \"AWS\",\n sourceIdentifier: \"S3_BUCKET_VERSIONING_ENABLED\",\n}}, {\n dependsOn: [foo],\n});\nconst rolePolicy = new aws.iam.RolePolicy(\"rolePolicy\", {\n role: role.id,\n policy: `{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n \t{\n \t\t\"Action\": \"config:Put*\",\n \t\t\"Effect\": \"Allow\",\n \t\t\"Resource\": \"*\"\n\n \t}\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nrole = aws.iam.Role(\"role\", assume_role_policy=\"\"\"{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"config.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n\"\"\")\nfoo = aws.cfg.Recorder(\"foo\", role_arn=role.arn)\nrule = aws.cfg.Rule(\"rule\", source=aws.cfg.RuleSourceArgs(\n owner=\"AWS\",\n source_identifier=\"S3_BUCKET_VERSIONING_ENABLED\",\n),\nopts=pulumi.ResourceOptions(depends_on=[foo]))\nrole_policy = aws.iam.RolePolicy(\"rolePolicy\",\n role=role.id,\n policy=\"\"\"{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n \t{\n \t\t\"Action\": \"config:Put*\",\n \t\t\"Effect\": \"Allow\",\n \t\t\"Resource\": \"*\"\n\n \t}\n ]\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var role = new Aws.Iam.Role(\"role\", new()\n {\n AssumeRolePolicy = @\"{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {\n \"\"Action\"\": \"\"sts:AssumeRole\"\",\n \"\"Principal\"\": {\n \"\"Service\"\": \"\"config.amazonaws.com\"\"\n },\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Sid\"\": \"\"\"\"\n }\n ]\n}\n\",\n });\n\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n RoleArn = role.Arn,\n });\n\n var rule = new Aws.Cfg.Rule(\"rule\", new()\n {\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"AWS\",\n SourceIdentifier = \"S3_BUCKET_VERSIONING_ENABLED\",\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n foo,\n },\n });\n\n var rolePolicy = new Aws.Iam.RolePolicy(\"rolePolicy\", new()\n {\n Role = role.Id,\n Policy = @\"{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n \t{\n \t\t\"\"Action\"\": \"\"config:Put*\"\",\n \t\t\"\"Effect\"\": \"\"Allow\"\",\n \t\t\"\"Resource\"\": \"\"*\"\"\n\n \t}\n ]\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"config.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n`)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tRoleArn: role.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRule(ctx, \"rule\", \u0026cfg.RuleArgs{\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\tSourceIdentifier: pulumi.String(\"S3_BUCKET_VERSIONING_ENABLED\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfoo,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"rolePolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: role.ID(),\n\t\t\tPolicy: pulumi.Any(fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n \t{\n \t\t\"Action\": \"config:Put*\",\n \t\t\"Effect\": \"Allow\",\n \t\t\"Resource\": \"*\"\n\n \t}\n ]\n}\n`)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var role = new Role(\"role\", RoleArgs.builder() \n .assumeRolePolicy(\"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"config.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n \"\"\")\n .build());\n\n var foo = new Recorder(\"foo\", RecorderArgs.builder() \n .roleArn(role.arn())\n .build());\n\n var rule = new Rule(\"rule\", RuleArgs.builder() \n .source(RuleSourceArgs.builder()\n .owner(\"AWS\")\n .sourceIdentifier(\"S3_BUCKET_VERSIONING_ENABLED\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(foo)\n .build());\n\n var rolePolicy = new RolePolicy(\"rolePolicy\", RolePolicyArgs.builder() \n .role(role.id())\n .policy(\"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n \t{\n \t\t\"Action\": \"config:Put*\",\n \t\t\"Effect\": \"Allow\",\n \t\t\"Resource\": \"*\"\n\n \t}\n ]\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n rule:\n type: aws:cfg:Rule\n properties:\n source:\n owner: AWS\n sourceIdentifier: S3_BUCKET_VERSIONING_ENABLED\n options:\n dependson:\n - ${foo}\n foo:\n type: aws:cfg:Recorder\n properties:\n roleArn: ${role.arn}\n role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"config.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n }\n rolePolicy:\n type: aws:iam:RolePolicy\n properties:\n role: ${role.id}\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n \t{\n \t\t\"Action\": \"config:Put*\",\n \t\t\"Effect\": \"Allow\",\n \t\t\"Resource\": \"*\"\n\n \t}\n ]\n }\n```\n{{% /example %}}\n{{% example %}}\n### Custom Rules\n\nCustom rules can be used by setting the source owner to `CUSTOM_LAMBDA` and the source identifier to the Amazon Resource Name (ARN) of the Lambda Function. The AWS Config service must have permissions to invoke the Lambda Function, e.g. via the `aws.lambda.Permission` resource. More information about custom rules can be found in the [AWS Config Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html).\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRecorder = new aws.cfg.Recorder(\"exampleRecorder\", {});\n// ... other configuration ...\nconst exampleFunction = new aws.lambda.Function(\"exampleFunction\", {});\n// ... other configuration ...\nconst examplePermission = new aws.lambda.Permission(\"examplePermission\", {\n action: \"lambda:InvokeFunction\",\n \"function\": exampleFunction.arn,\n principal: \"config.amazonaws.com\",\n});\n// ... other configuration ...\nconst exampleRule = new aws.cfg.Rule(\"exampleRule\", {source: {\n owner: \"CUSTOM_LAMBDA\",\n sourceIdentifier: exampleFunction.arn,\n}}, {\n dependsOn: [\n exampleRecorder,\n examplePermission,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_recorder = aws.cfg.Recorder(\"exampleRecorder\")\n# ... other configuration ...\nexample_function = aws.lambda_.Function(\"exampleFunction\")\n# ... other configuration ...\nexample_permission = aws.lambda_.Permission(\"examplePermission\",\n action=\"lambda:InvokeFunction\",\n function=example_function.arn,\n principal=\"config.amazonaws.com\")\n# ... other configuration ...\nexample_rule = aws.cfg.Rule(\"exampleRule\", source=aws.cfg.RuleSourceArgs(\n owner=\"CUSTOM_LAMBDA\",\n source_identifier=example_function.arn,\n),\nopts=pulumi.ResourceOptions(depends_on=[\n example_recorder,\n example_permission,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRecorder = new Aws.Cfg.Recorder(\"exampleRecorder\");\n\n // ... other configuration ...\n var exampleFunction = new Aws.Lambda.Function(\"exampleFunction\");\n\n // ... other configuration ...\n var examplePermission = new Aws.Lambda.Permission(\"examplePermission\", new()\n {\n Action = \"lambda:InvokeFunction\",\n Function = exampleFunction.Arn,\n Principal = \"config.amazonaws.com\",\n });\n\n // ... other configuration ...\n var exampleRule = new Aws.Cfg.Rule(\"exampleRule\", new()\n {\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"CUSTOM_LAMBDA\",\n SourceIdentifier = exampleFunction.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleRecorder,\n examplePermission,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRecorder, err := cfg.NewRecorder(ctx, \"exampleRecorder\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFunction, err := lambda.NewFunction(ctx, \"exampleFunction\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermission, err := lambda.NewPermission(ctx, \"examplePermission\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: exampleFunction.Arn,\n\t\t\tPrincipal: pulumi.String(\"config.amazonaws.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRule(ctx, \"exampleRule\", \u0026cfg.RuleArgs{\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"CUSTOM_LAMBDA\"),\n\t\t\t\tSourceIdentifier: exampleFunction.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleRecorder,\n\t\t\texamplePermission,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRecorder = new Recorder(\"exampleRecorder\");\n\n var exampleFunction = new Function(\"exampleFunction\");\n\n var examplePermission = new Permission(\"examplePermission\", PermissionArgs.builder() \n .action(\"lambda:InvokeFunction\")\n .function(exampleFunction.arn())\n .principal(\"config.amazonaws.com\")\n .build());\n\n var exampleRule = new Rule(\"exampleRule\", RuleArgs.builder() \n .source(RuleSourceArgs.builder()\n .owner(\"CUSTOM_LAMBDA\")\n .sourceIdentifier(exampleFunction.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleRecorder,\n examplePermission)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRecorder:\n type: aws:cfg:Recorder\n exampleFunction:\n type: aws:lambda:Function\n examplePermission:\n type: aws:lambda:Permission\n properties:\n action: lambda:InvokeFunction\n function: ${exampleFunction.arn}\n principal: config.amazonaws.com\n exampleRule:\n type: aws:cfg:Rule\n properties:\n source:\n owner: CUSTOM_LAMBDA\n sourceIdentifier: ${exampleFunction.arn}\n options:\n dependson:\n - ${exampleRecorder}\n - ${examplePermission}\n```\n\n{{% /example %}}\n{{% example %}}\n### Custom Policies\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.Rule(\"example\", {source: {\n owner: \"CUSTOM_POLICY\",\n sourceDetails: [{\n messageType: \"ConfigurationItemChangeNotification\",\n }],\n customPolicyDetails: {\n policyRuntime: \"guard-2.x.x\",\n policyText: `\t rule tableisactive when\n\t\t resourceType == \"AWS::DynamoDB::Table\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"AWS::DynamoDB::Table\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\t }\n`,\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.Rule(\"example\", source=aws.cfg.RuleSourceArgs(\n owner=\"CUSTOM_POLICY\",\n source_details=[aws.cfg.RuleSourceSourceDetailArgs(\n message_type=\"ConfigurationItemChangeNotification\",\n )],\n custom_policy_details=aws.cfg.RuleSourceCustomPolicyDetailsArgs(\n policy_runtime=\"guard-2.x.x\",\n policy_text=\"\"\"\t rule tableisactive when\n\t\t resourceType == \"AWS::DynamoDB::Table\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"AWS::DynamoDB::Table\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\t }\n\"\"\",\n ),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.Rule(\"example\", new()\n {\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"CUSTOM_POLICY\",\n SourceDetails = new[]\n {\n new Aws.Cfg.Inputs.RuleSourceSourceDetailArgs\n {\n MessageType = \"ConfigurationItemChangeNotification\",\n },\n },\n CustomPolicyDetails = new Aws.Cfg.Inputs.RuleSourceCustomPolicyDetailsArgs\n {\n PolicyRuntime = \"guard-2.x.x\",\n PolicyText = @\"\t rule tableisactive when\n\t\t resourceType == \"\"AWS::DynamoDB::Table\"\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"\"AWS::DynamoDB::Table\"\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"\"ENABLED\"\"\n\t }\n\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cfg\"\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 := cfg.NewRule(ctx, \"example\", \u0026cfg.RuleArgs{\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"CUSTOM_POLICY\"),\n\t\t\t\tSourceDetails: cfg.RuleSourceSourceDetailArray{\n\t\t\t\t\t\u0026cfg.RuleSourceSourceDetailArgs{\n\t\t\t\t\t\tMessageType: pulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCustomPolicyDetails: \u0026cfg.RuleSourceCustomPolicyDetailsArgs{\n\t\t\t\t\tPolicyRuntime: pulumi.String(\"guard-2.x.x\"),\n\t\t\t\t\tPolicyText: pulumi.String(fmt.Sprintf(`\t rule tableisactive when\n\t\t resourceType == \"AWS::DynamoDB::Table\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"AWS::DynamoDB::Table\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\t }\n`)),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceCustomPolicyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Rule(\"example\", RuleArgs.builder() \n .source(RuleSourceArgs.builder()\n .owner(\"CUSTOM_POLICY\")\n .sourceDetails(RuleSourceSourceDetailArgs.builder()\n .messageType(\"ConfigurationItemChangeNotification\")\n .build())\n .customPolicyDetails(RuleSourceCustomPolicyDetailsArgs.builder()\n .policyRuntime(\"guard-2.x.x\")\n .policyText(\"\"\"\n\t rule tableisactive when\n\t\t resourceType == \"AWS::DynamoDB::Table\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"AWS::DynamoDB::Table\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\t }\n \"\"\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:Rule\n properties:\n source:\n owner: CUSTOM_POLICY\n sourceDetails:\n - messageType: ConfigurationItemChangeNotification\n customPolicyDetails:\n policyRuntime: guard-2.x.x\n policyText: \"\\t rule tableisactive when\\n\\t\\t resourceType == \\\"AWS::DynamoDB::Table\\\" {\\n\\t\\t configuration.tableStatus == ['ACTIVE']\\n\\t }\\n\\t \\n\\t rule checkcompliance when\\n\\t\\t resourceType == \\\"AWS::DynamoDB::Table\\\"\\n\\t\\t tableisactive {\\n\\t\\t\\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \\\"ENABLED\\\"\\n\\t }\\n\"\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nConfig Rule can be imported using the name, e.g.,\n\n```sh\n $ pulumi import aws:cfg/rule:Rule foo example\n```\n\n ", + "description": "Provides an AWS Config Rule.\n\n\u003e **Note:** Config Rule requires an existing `Configuration Recorder` to be present. Use of `depends_on` is recommended (as shown below) to avoid race conditions.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### AWS Managed Rules\n\nAWS managed rules can be used by setting the source owner to `AWS` and the source identifier to the name of the managed rule. More information about AWS managed rules can be found in the [AWS Config Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst role = new aws.iam.Role(\"role\", {assumeRolePolicy: `{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"config.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n`});\nconst foo = new aws.cfg.Recorder(\"foo\", {roleArn: role.arn});\nconst rule = new aws.cfg.Rule(\"rule\", {source: {\n owner: \"AWS\",\n sourceIdentifier: \"S3_BUCKET_VERSIONING_ENABLED\",\n}}, {\n dependsOn: [foo],\n});\nconst rolePolicy = new aws.iam.RolePolicy(\"rolePolicy\", {\n role: role.id,\n policy: `{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n \t{\n \t\t\"Action\": \"config:Put*\",\n \t\t\"Effect\": \"Allow\",\n \t\t\"Resource\": \"*\"\n\n \t}\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nrole = aws.iam.Role(\"role\", assume_role_policy=\"\"\"{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"config.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n\"\"\")\nfoo = aws.cfg.Recorder(\"foo\", role_arn=role.arn)\nrule = aws.cfg.Rule(\"rule\", source=aws.cfg.RuleSourceArgs(\n owner=\"AWS\",\n source_identifier=\"S3_BUCKET_VERSIONING_ENABLED\",\n),\nopts=pulumi.ResourceOptions(depends_on=[foo]))\nrole_policy = aws.iam.RolePolicy(\"rolePolicy\",\n role=role.id,\n policy=\"\"\"{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n \t{\n \t\t\"Action\": \"config:Put*\",\n \t\t\"Effect\": \"Allow\",\n \t\t\"Resource\": \"*\"\n\n \t}\n ]\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var role = new Aws.Iam.Role(\"role\", new()\n {\n AssumeRolePolicy = @\"{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {\n \"\"Action\"\": \"\"sts:AssumeRole\"\",\n \"\"Principal\"\": {\n \"\"Service\"\": \"\"config.amazonaws.com\"\"\n },\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Sid\"\": \"\"\"\"\n }\n ]\n}\n\",\n });\n\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n RoleArn = role.Arn,\n });\n\n var rule = new Aws.Cfg.Rule(\"rule\", new()\n {\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"AWS\",\n SourceIdentifier = \"S3_BUCKET_VERSIONING_ENABLED\",\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n foo,\n },\n });\n\n var rolePolicy = new Aws.Iam.RolePolicy(\"rolePolicy\", new()\n {\n Role = role.Id,\n Policy = @\"{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n \t{\n \t\t\"\"Action\"\": \"\"config:Put*\"\",\n \t\t\"\"Effect\"\": \"\"Allow\"\",\n \t\t\"\"Resource\"\": \"\"*\"\"\n\n \t}\n ]\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"config.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n`)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tRoleArn: role.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRule(ctx, \"rule\", \u0026cfg.RuleArgs{\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\tSourceIdentifier: pulumi.String(\"S3_BUCKET_VERSIONING_ENABLED\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfoo,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"rolePolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: role.ID(),\n\t\t\tPolicy: pulumi.Any(fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n \t{\n \t\t\"Action\": \"config:Put*\",\n \t\t\"Effect\": \"Allow\",\n \t\t\"Resource\": \"*\"\n\n \t}\n ]\n}\n`)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var role = new Role(\"role\", RoleArgs.builder() \n .assumeRolePolicy(\"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"config.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n}\n \"\"\")\n .build());\n\n var foo = new Recorder(\"foo\", RecorderArgs.builder() \n .roleArn(role.arn())\n .build());\n\n var rule = new Rule(\"rule\", RuleArgs.builder() \n .source(RuleSourceArgs.builder()\n .owner(\"AWS\")\n .sourceIdentifier(\"S3_BUCKET_VERSIONING_ENABLED\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(foo)\n .build());\n\n var rolePolicy = new RolePolicy(\"rolePolicy\", RolePolicyArgs.builder() \n .role(role.id())\n .policy(\"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n \t{\n \t\t\"Action\": \"config:Put*\",\n \t\t\"Effect\": \"Allow\",\n \t\t\"Resource\": \"*\"\n\n \t}\n ]\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n rule:\n type: aws:cfg:Rule\n properties:\n source:\n owner: AWS\n sourceIdentifier: S3_BUCKET_VERSIONING_ENABLED\n options:\n dependson:\n - ${foo}\n foo:\n type: aws:cfg:Recorder\n properties:\n roleArn: ${role.arn}\n role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"config.amazonaws.com\"\n },\n \"Effect\": \"Allow\",\n \"Sid\": \"\"\n }\n ]\n }\n rolePolicy:\n type: aws:iam:RolePolicy\n properties:\n role: ${role.id}\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n \t{\n \t\t\"Action\": \"config:Put*\",\n \t\t\"Effect\": \"Allow\",\n \t\t\"Resource\": \"*\"\n\n \t}\n ]\n }\n```\n{{% /example %}}\n{{% example %}}\n### Custom Rules\n\nCustom rules can be used by setting the source owner to `CUSTOM_LAMBDA` and the source identifier to the Amazon Resource Name (ARN) of the Lambda Function. The AWS Config service must have permissions to invoke the Lambda Function, e.g. via the `aws.lambda.Permission` resource. More information about custom rules can be found in the [AWS Config Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html).\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleRecorder = new aws.cfg.Recorder(\"exampleRecorder\", {});\n// ... other configuration ...\nconst exampleFunction = new aws.lambda.Function(\"exampleFunction\", {});\n// ... other configuration ...\nconst examplePermission = new aws.lambda.Permission(\"examplePermission\", {\n action: \"lambda:InvokeFunction\",\n \"function\": exampleFunction.arn,\n principal: \"config.amazonaws.com\",\n});\n// ... other configuration ...\nconst exampleRule = new aws.cfg.Rule(\"exampleRule\", {source: {\n owner: \"CUSTOM_LAMBDA\",\n sourceIdentifier: exampleFunction.arn,\n}}, {\n dependsOn: [\n exampleRecorder,\n examplePermission,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_recorder = aws.cfg.Recorder(\"exampleRecorder\")\n# ... other configuration ...\nexample_function = aws.lambda_.Function(\"exampleFunction\")\n# ... other configuration ...\nexample_permission = aws.lambda_.Permission(\"examplePermission\",\n action=\"lambda:InvokeFunction\",\n function=example_function.arn,\n principal=\"config.amazonaws.com\")\n# ... other configuration ...\nexample_rule = aws.cfg.Rule(\"exampleRule\", source=aws.cfg.RuleSourceArgs(\n owner=\"CUSTOM_LAMBDA\",\n source_identifier=example_function.arn,\n),\nopts=pulumi.ResourceOptions(depends_on=[\n example_recorder,\n example_permission,\n ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRecorder = new Aws.Cfg.Recorder(\"exampleRecorder\");\n\n // ... other configuration ...\n var exampleFunction = new Aws.Lambda.Function(\"exampleFunction\");\n\n // ... other configuration ...\n var examplePermission = new Aws.Lambda.Permission(\"examplePermission\", new()\n {\n Action = \"lambda:InvokeFunction\",\n Function = exampleFunction.Arn,\n Principal = \"config.amazonaws.com\",\n });\n\n // ... other configuration ...\n var exampleRule = new Aws.Cfg.Rule(\"exampleRule\", new()\n {\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"CUSTOM_LAMBDA\",\n SourceIdentifier = exampleFunction.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleRecorder,\n examplePermission,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRecorder, err := cfg.NewRecorder(ctx, \"exampleRecorder\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFunction, err := lambda.NewFunction(ctx, \"exampleFunction\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePermission, err := lambda.NewPermission(ctx, \"examplePermission\", \u0026lambda.PermissionArgs{\n\t\t\tAction: pulumi.String(\"lambda:InvokeFunction\"),\n\t\t\tFunction: exampleFunction.Arn,\n\t\t\tPrincipal: pulumi.String(\"config.amazonaws.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRule(ctx, \"exampleRule\", \u0026cfg.RuleArgs{\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"CUSTOM_LAMBDA\"),\n\t\t\t\tSourceIdentifier: exampleFunction.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleRecorder,\n\t\t\texamplePermission,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.Permission;\nimport com.pulumi.aws.lambda.PermissionArgs;\nimport com.pulumi.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleRecorder = new Recorder(\"exampleRecorder\");\n\n var exampleFunction = new Function(\"exampleFunction\");\n\n var examplePermission = new Permission(\"examplePermission\", PermissionArgs.builder() \n .action(\"lambda:InvokeFunction\")\n .function(exampleFunction.arn())\n .principal(\"config.amazonaws.com\")\n .build());\n\n var exampleRule = new Rule(\"exampleRule\", RuleArgs.builder() \n .source(RuleSourceArgs.builder()\n .owner(\"CUSTOM_LAMBDA\")\n .sourceIdentifier(exampleFunction.arn())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn( \n exampleRecorder,\n examplePermission)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRecorder:\n type: aws:cfg:Recorder\n exampleFunction:\n type: aws:lambda:Function\n examplePermission:\n type: aws:lambda:Permission\n properties:\n action: lambda:InvokeFunction\n function: ${exampleFunction.arn}\n principal: config.amazonaws.com\n exampleRule:\n type: aws:cfg:Rule\n properties:\n source:\n owner: CUSTOM_LAMBDA\n sourceIdentifier: ${exampleFunction.arn}\n options:\n dependson:\n - ${exampleRecorder}\n - ${examplePermission}\n```\n{{% /example %}}\n{{% example %}}\n### Custom Policies\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.Rule(\"example\", {source: {\n owner: \"CUSTOM_POLICY\",\n sourceDetails: [{\n messageType: \"ConfigurationItemChangeNotification\",\n }],\n customPolicyDetails: {\n policyRuntime: \"guard-2.x.x\",\n policyText: `\t rule tableisactive when\n\t\t resourceType == \"AWS::DynamoDB::Table\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"AWS::DynamoDB::Table\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\t }\n`,\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.Rule(\"example\", source=aws.cfg.RuleSourceArgs(\n owner=\"CUSTOM_POLICY\",\n source_details=[aws.cfg.RuleSourceSourceDetailArgs(\n message_type=\"ConfigurationItemChangeNotification\",\n )],\n custom_policy_details=aws.cfg.RuleSourceCustomPolicyDetailsArgs(\n policy_runtime=\"guard-2.x.x\",\n policy_text=\"\"\"\t rule tableisactive when\n\t\t resourceType == \"AWS::DynamoDB::Table\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"AWS::DynamoDB::Table\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\t }\n\"\"\",\n ),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Cfg.Rule(\"example\", new()\n {\n Source = new Aws.Cfg.Inputs.RuleSourceArgs\n {\n Owner = \"CUSTOM_POLICY\",\n SourceDetails = new[]\n {\n new Aws.Cfg.Inputs.RuleSourceSourceDetailArgs\n {\n MessageType = \"ConfigurationItemChangeNotification\",\n },\n },\n CustomPolicyDetails = new Aws.Cfg.Inputs.RuleSourceCustomPolicyDetailsArgs\n {\n PolicyRuntime = \"guard-2.x.x\",\n PolicyText = @\"\t rule tableisactive when\n\t\t resourceType == \"\"AWS::DynamoDB::Table\"\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"\"AWS::DynamoDB::Table\"\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"\"ENABLED\"\"\n\t }\n\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cfg\"\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 := cfg.NewRule(ctx, \"example\", \u0026cfg.RuleArgs{\n\t\t\tSource: \u0026cfg.RuleSourceArgs{\n\t\t\t\tOwner: pulumi.String(\"CUSTOM_POLICY\"),\n\t\t\t\tSourceDetails: cfg.RuleSourceSourceDetailArray{\n\t\t\t\t\t\u0026cfg.RuleSourceSourceDetailArgs{\n\t\t\t\t\t\tMessageType: pulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCustomPolicyDetails: \u0026cfg.RuleSourceCustomPolicyDetailsArgs{\n\t\t\t\t\tPolicyRuntime: pulumi.String(\"guard-2.x.x\"),\n\t\t\t\t\tPolicyText: pulumi.String(fmt.Sprintf(`\t rule tableisactive when\n\t\t resourceType == \"AWS::DynamoDB::Table\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"AWS::DynamoDB::Table\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\t }\n`)),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cfg.Rule;\nimport com.pulumi.aws.cfg.RuleArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceArgs;\nimport com.pulumi.aws.cfg.inputs.RuleSourceCustomPolicyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Rule(\"example\", RuleArgs.builder() \n .source(RuleSourceArgs.builder()\n .owner(\"CUSTOM_POLICY\")\n .sourceDetails(RuleSourceSourceDetailArgs.builder()\n .messageType(\"ConfigurationItemChangeNotification\")\n .build())\n .customPolicyDetails(RuleSourceCustomPolicyDetailsArgs.builder()\n .policyRuntime(\"guard-2.x.x\")\n .policyText(\"\"\"\n\t rule tableisactive when\n\t\t resourceType == \"AWS::DynamoDB::Table\" {\n\t\t configuration.tableStatus == ['ACTIVE']\n\t }\n\t \n\t rule checkcompliance when\n\t\t resourceType == \"AWS::DynamoDB::Table\"\n\t\t tableisactive {\n\t\t\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \"ENABLED\"\n\t }\n \"\"\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:Rule\n properties:\n source:\n owner: CUSTOM_POLICY\n sourceDetails:\n - messageType: ConfigurationItemChangeNotification\n customPolicyDetails:\n policyRuntime: guard-2.x.x\n policyText: \"\\t rule tableisactive when\\n\\t\\t resourceType == \\\"AWS::DynamoDB::Table\\\" {\\n\\t\\t configuration.tableStatus == ['ACTIVE']\\n\\t }\\n\\t \\n\\t rule checkcompliance when\\n\\t\\t resourceType == \\\"AWS::DynamoDB::Table\\\"\\n\\t\\t tableisactive {\\n\\t\\t\\t supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == \\\"ENABLED\\\"\\n\\t }\\n\"\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nConfig Rule can be imported using the name, e.g.,\n\n```sh\n $ pulumi import aws:cfg/rule:Rule foo example\n```\n\n ", "properties": { "arn": { "type": "string", @@ -402556,7 +405615,7 @@ } }, "aws:cloudfront/distribution:Distribution": { - "description": "Creates an Amazon CloudFront web distribution.\n\nFor information about CloudFront distributions, see the\n[Amazon CloudFront Developer Guide](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html). For specific information about creating\nCloudFront web distributions, see the [POST Distribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html) page in the Amazon\nCloudFront API Reference.\n\n\u003e **NOTE:** CloudFront distributions take about 15 minutes to reach a deployed\nstate after creation or modification. During this time, deletes to resources will\nbe blocked. If you need to delete a distribution that is enabled and you do not\nwant to wait, you need to use the `retain_on_delete` flag.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThe following example below creates a CloudFront distribution with an S3 origin.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucketV2 = new aws.s3.BucketV2(\"bucketV2\", {tags: {\n Name: \"My bucket\",\n}});\nconst bAcl = new aws.s3.BucketAclV2(\"bAcl\", {\n bucket: bucketV2.id,\n acl: \"private\",\n});\nconst s3OriginId = \"myS3Origin\";\nconst s3Distribution = new aws.cloudfront.Distribution(\"s3Distribution\", {\n origins: [{\n domainName: bucketV2.bucketRegionalDomainName,\n originId: s3OriginId,\n s3OriginConfig: {\n originAccessIdentity: \"origin-access-identity/cloudfront/ABCDEFG1234567\",\n },\n }],\n enabled: true,\n isIpv6Enabled: true,\n comment: \"Some comment\",\n defaultRootObject: \"index.html\",\n loggingConfig: {\n includeCookies: false,\n bucket: \"mylogs.s3.amazonaws.com\",\n prefix: \"myprefix\",\n },\n aliases: [\n \"mysite.example.com\",\n \"yoursite.example.com\",\n ],\n defaultCacheBehavior: {\n allowedMethods: [\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n ],\n cachedMethods: [\n \"GET\",\n \"HEAD\",\n ],\n targetOriginId: s3OriginId,\n forwardedValues: {\n queryString: false,\n cookies: {\n forward: \"none\",\n },\n },\n viewerProtocolPolicy: \"allow-all\",\n minTtl: 0,\n defaultTtl: 3600,\n maxTtl: 86400,\n },\n orderedCacheBehaviors: [\n {\n pathPattern: \"/content/immutable/*\",\n allowedMethods: [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n cachedMethods: [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n targetOriginId: s3OriginId,\n forwardedValues: {\n queryString: false,\n headers: [\"Origin\"],\n cookies: {\n forward: \"none\",\n },\n },\n minTtl: 0,\n defaultTtl: 86400,\n maxTtl: 31536000,\n compress: true,\n viewerProtocolPolicy: \"redirect-to-https\",\n },\n {\n pathPattern: \"/content/*\",\n allowedMethods: [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n cachedMethods: [\n \"GET\",\n \"HEAD\",\n ],\n targetOriginId: s3OriginId,\n forwardedValues: {\n queryString: false,\n cookies: {\n forward: \"none\",\n },\n },\n minTtl: 0,\n defaultTtl: 3600,\n maxTtl: 86400,\n compress: true,\n viewerProtocolPolicy: \"redirect-to-https\",\n },\n ],\n priceClass: \"PriceClass_200\",\n restrictions: {\n geoRestriction: {\n restrictionType: \"whitelist\",\n locations: [\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n ],\n },\n },\n tags: {\n Environment: \"production\",\n },\n viewerCertificate: {\n cloudfrontDefaultCertificate: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket_v2 = aws.s3.BucketV2(\"bucketV2\", tags={\n \"Name\": \"My bucket\",\n})\nb_acl = aws.s3.BucketAclV2(\"bAcl\",\n bucket=bucket_v2.id,\n acl=\"private\")\ns3_origin_id = \"myS3Origin\"\ns3_distribution = aws.cloudfront.Distribution(\"s3Distribution\",\n origins=[aws.cloudfront.DistributionOriginArgs(\n domain_name=bucket_v2.bucket_regional_domain_name,\n origin_id=s3_origin_id,\n s3_origin_config=aws.cloudfront.DistributionOriginS3OriginConfigArgs(\n origin_access_identity=\"origin-access-identity/cloudfront/ABCDEFG1234567\",\n ),\n )],\n enabled=True,\n is_ipv6_enabled=True,\n comment=\"Some comment\",\n default_root_object=\"index.html\",\n logging_config=aws.cloudfront.DistributionLoggingConfigArgs(\n include_cookies=False,\n bucket=\"mylogs.s3.amazonaws.com\",\n prefix=\"myprefix\",\n ),\n aliases=[\n \"mysite.example.com\",\n \"yoursite.example.com\",\n ],\n default_cache_behavior=aws.cloudfront.DistributionDefaultCacheBehaviorArgs(\n allowed_methods=[\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n ],\n cached_methods=[\n \"GET\",\n \"HEAD\",\n ],\n target_origin_id=s3_origin_id,\n forwarded_values=aws.cloudfront.DistributionDefaultCacheBehaviorForwardedValuesArgs(\n query_string=False,\n cookies=aws.cloudfront.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs(\n forward=\"none\",\n ),\n ),\n viewer_protocol_policy=\"allow-all\",\n min_ttl=0,\n default_ttl=3600,\n max_ttl=86400,\n ),\n ordered_cache_behaviors=[\n aws.cloudfront.DistributionOrderedCacheBehaviorArgs(\n path_pattern=\"/content/immutable/*\",\n allowed_methods=[\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n cached_methods=[\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n target_origin_id=s3_origin_id,\n forwarded_values=aws.cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs(\n query_string=False,\n headers=[\"Origin\"],\n cookies=aws.cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs(\n forward=\"none\",\n ),\n ),\n min_ttl=0,\n default_ttl=86400,\n max_ttl=31536000,\n compress=True,\n viewer_protocol_policy=\"redirect-to-https\",\n ),\n aws.cloudfront.DistributionOrderedCacheBehaviorArgs(\n path_pattern=\"/content/*\",\n allowed_methods=[\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n cached_methods=[\n \"GET\",\n \"HEAD\",\n ],\n target_origin_id=s3_origin_id,\n forwarded_values=aws.cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs(\n query_string=False,\n cookies=aws.cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs(\n forward=\"none\",\n ),\n ),\n min_ttl=0,\n default_ttl=3600,\n max_ttl=86400,\n compress=True,\n viewer_protocol_policy=\"redirect-to-https\",\n ),\n ],\n price_class=\"PriceClass_200\",\n restrictions=aws.cloudfront.DistributionRestrictionsArgs(\n geo_restriction=aws.cloudfront.DistributionRestrictionsGeoRestrictionArgs(\n restriction_type=\"whitelist\",\n locations=[\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n ],\n ),\n ),\n tags={\n \"Environment\": \"production\",\n },\n viewer_certificate=aws.cloudfront.DistributionViewerCertificateArgs(\n cloudfront_default_certificate=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucketV2 = new Aws.S3.BucketV2(\"bucketV2\", new()\n {\n Tags = \n {\n { \"Name\", \"My bucket\" },\n },\n });\n\n var bAcl = new Aws.S3.BucketAclV2(\"bAcl\", new()\n {\n Bucket = bucketV2.Id,\n Acl = \"private\",\n });\n\n var s3OriginId = \"myS3Origin\";\n\n var s3Distribution = new Aws.CloudFront.Distribution(\"s3Distribution\", new()\n {\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = bucketV2.BucketRegionalDomainName,\n OriginId = s3OriginId,\n S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs\n {\n OriginAccessIdentity = \"origin-access-identity/cloudfront/ABCDEFG1234567\",\n },\n },\n },\n Enabled = true,\n IsIpv6Enabled = true,\n Comment = \"Some comment\",\n DefaultRootObject = \"index.html\",\n LoggingConfig = new Aws.CloudFront.Inputs.DistributionLoggingConfigArgs\n {\n IncludeCookies = false,\n Bucket = \"mylogs.s3.amazonaws.com\",\n Prefix = \"myprefix\",\n },\n Aliases = new[]\n {\n \"mysite.example.com\",\n \"yoursite.example.com\",\n },\n DefaultCacheBehavior = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n AllowedMethods = new[]\n {\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n },\n CachedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n },\n TargetOriginId = s3OriginId,\n ForwardedValues = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorForwardedValuesArgs\n {\n QueryString = false,\n Cookies = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs\n {\n Forward = \"none\",\n },\n },\n ViewerProtocolPolicy = \"allow-all\",\n MinTtl = 0,\n DefaultTtl = 3600,\n MaxTtl = 86400,\n },\n OrderedCacheBehaviors = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorArgs\n {\n PathPattern = \"/content/immutable/*\",\n AllowedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n },\n CachedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n },\n TargetOriginId = s3OriginId,\n ForwardedValues = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesArgs\n {\n QueryString = false,\n Headers = new[]\n {\n \"Origin\",\n },\n Cookies = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs\n {\n Forward = \"none\",\n },\n },\n MinTtl = 0,\n DefaultTtl = 86400,\n MaxTtl = 31536000,\n Compress = true,\n ViewerProtocolPolicy = \"redirect-to-https\",\n },\n new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorArgs\n {\n PathPattern = \"/content/*\",\n AllowedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n },\n CachedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n },\n TargetOriginId = s3OriginId,\n ForwardedValues = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesArgs\n {\n QueryString = false,\n Cookies = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs\n {\n Forward = \"none\",\n },\n },\n MinTtl = 0,\n DefaultTtl = 3600,\n MaxTtl = 86400,\n Compress = true,\n ViewerProtocolPolicy = \"redirect-to-https\",\n },\n },\n PriceClass = \"PriceClass_200\",\n Restrictions = new Aws.CloudFront.Inputs.DistributionRestrictionsArgs\n {\n GeoRestriction = new Aws.CloudFront.Inputs.DistributionRestrictionsGeoRestrictionArgs\n {\n RestrictionType = \"whitelist\",\n Locations = new[]\n {\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n },\n },\n },\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n ViewerCertificate = new Aws.CloudFront.Inputs.DistributionViewerCertificateArgs\n {\n CloudfrontDefaultCertificate = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucketV2, err := s3.NewBucketV2(ctx, \"bucketV2\", \u0026s3.BucketV2Args{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"My bucket\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bAcl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucketV2.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3OriginId := \"myS3Origin\"\n\t\t_, err = cloudfront.NewDistribution(ctx, \"s3Distribution\", \u0026cloudfront.DistributionArgs{\n\t\t\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: bucketV2.BucketRegionalDomainName,\n\t\t\t\t\tOriginId: pulumi.String(s3OriginId),\n\t\t\t\t\tS3OriginConfig: \u0026cloudfront.DistributionOriginS3OriginConfigArgs{\n\t\t\t\t\t\tOriginAccessIdentity: pulumi.String(\"origin-access-identity/cloudfront/ABCDEFG1234567\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tIsIpv6Enabled: pulumi.Bool(true),\n\t\t\tComment: pulumi.String(\"Some comment\"),\n\t\t\tDefaultRootObject: pulumi.String(\"index.html\"),\n\t\t\tLoggingConfig: \u0026cloudfront.DistributionLoggingConfigArgs{\n\t\t\t\tIncludeCookies: pulumi.Bool(false),\n\t\t\t\tBucket: pulumi.String(\"mylogs.s3.amazonaws.com\"),\n\t\t\t\tPrefix: pulumi.String(\"myprefix\"),\n\t\t\t},\n\t\t\tAliases: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mysite.example.com\"),\n\t\t\t\tpulumi.String(\"yoursite.example.com\"),\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026cloudfront.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t\tpulumi.String(\"PATCH\"),\n\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t},\n\t\t\t\tCachedMethods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t},\n\t\t\t\tTargetOriginId: pulumi.String(s3OriginId),\n\t\t\t\tForwardedValues: \u0026cloudfront.DistributionDefaultCacheBehaviorForwardedValuesArgs{\n\t\t\t\t\tQueryString: pulumi.Bool(false),\n\t\t\t\t\tCookies: \u0026cloudfront.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs{\n\t\t\t\t\t\tForward: pulumi.String(\"none\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tViewerProtocolPolicy: pulumi.String(\"allow-all\"),\n\t\t\t\tMinTtl: pulumi.Int(0),\n\t\t\t\tDefaultTtl: pulumi.Int(3600),\n\t\t\t\tMaxTtl: pulumi.Int(86400),\n\t\t\t},\n\t\t\tOrderedCacheBehaviors: cloudfront.DistributionOrderedCacheBehaviorArray{\n\t\t\t\t\u0026cloudfront.DistributionOrderedCacheBehaviorArgs{\n\t\t\t\t\tPathPattern: pulumi.String(\"/content/immutable/*\"),\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t\t},\n\t\t\t\t\tCachedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t\t},\n\t\t\t\t\tTargetOriginId: pulumi.String(s3OriginId),\n\t\t\t\t\tForwardedValues: \u0026cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs{\n\t\t\t\t\t\tQueryString: pulumi.Bool(false),\n\t\t\t\t\t\tHeaders: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Origin\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCookies: \u0026cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs{\n\t\t\t\t\t\t\tForward: pulumi.String(\"none\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tMinTtl: pulumi.Int(0),\n\t\t\t\t\tDefaultTtl: pulumi.Int(86400),\n\t\t\t\t\tMaxTtl: pulumi.Int(31536000),\n\t\t\t\t\tCompress: pulumi.Bool(true),\n\t\t\t\t\tViewerProtocolPolicy: pulumi.String(\"redirect-to-https\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudfront.DistributionOrderedCacheBehaviorArgs{\n\t\t\t\t\tPathPattern: pulumi.String(\"/content/*\"),\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t\t},\n\t\t\t\t\tCachedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t},\n\t\t\t\t\tTargetOriginId: pulumi.String(s3OriginId),\n\t\t\t\t\tForwardedValues: \u0026cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs{\n\t\t\t\t\t\tQueryString: pulumi.Bool(false),\n\t\t\t\t\t\tCookies: \u0026cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs{\n\t\t\t\t\t\t\tForward: pulumi.String(\"none\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tMinTtl: pulumi.Int(0),\n\t\t\t\t\tDefaultTtl: pulumi.Int(3600),\n\t\t\t\t\tMaxTtl: pulumi.Int(86400),\n\t\t\t\t\tCompress: pulumi.Bool(true),\n\t\t\t\t\tViewerProtocolPolicy: pulumi.String(\"redirect-to-https\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPriceClass: pulumi.String(\"PriceClass_200\"),\n\t\t\tRestrictions: \u0026cloudfront.DistributionRestrictionsArgs{\n\t\t\t\tGeoRestriction: \u0026cloudfront.DistributionRestrictionsGeoRestrictionArgs{\n\t\t\t\t\tRestrictionType: pulumi.String(\"whitelist\"),\n\t\t\t\t\tLocations: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\t\t\tpulumi.String(\"CA\"),\n\t\t\t\t\t\tpulumi.String(\"GB\"),\n\t\t\t\t\t\tpulumi.String(\"DE\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t\tViewerCertificate: \u0026cloudfront.DistributionViewerCertificateArgs{\n\t\t\t\tCloudfrontDefaultCertificate: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginS3OriginConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionLoggingConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorForwardedValuesArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOrderedCacheBehaviorArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOrderedCacheBehaviorForwardedValuesArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionRestrictionsArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionRestrictionsGeoRestrictionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionViewerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucketV2 = new BucketV2(\"bucketV2\", BucketV2Args.builder() \n .tags(Map.of(\"Name\", \"My bucket\"))\n .build());\n\n var bAcl = new BucketAclV2(\"bAcl\", BucketAclV2Args.builder() \n .bucket(bucketV2.id())\n .acl(\"private\")\n .build());\n\n final var s3OriginId = \"myS3Origin\";\n\n var s3Distribution = new Distribution(\"s3Distribution\", DistributionArgs.builder() \n .origins(DistributionOriginArgs.builder()\n .domainName(bucketV2.bucketRegionalDomainName())\n .originId(s3OriginId)\n .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()\n .originAccessIdentity(\"origin-access-identity/cloudfront/ABCDEFG1234567\")\n .build())\n .build())\n .enabled(true)\n .isIpv6Enabled(true)\n .comment(\"Some comment\")\n .defaultRootObject(\"index.html\")\n .loggingConfig(DistributionLoggingConfigArgs.builder()\n .includeCookies(false)\n .bucket(\"mylogs.s3.amazonaws.com\")\n .prefix(\"myprefix\")\n .build())\n .aliases( \n \"mysite.example.com\",\n \"yoursite.example.com\")\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .allowedMethods( \n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\")\n .cachedMethods( \n \"GET\",\n \"HEAD\")\n .targetOriginId(s3OriginId)\n .forwardedValues(DistributionDefaultCacheBehaviorForwardedValuesArgs.builder()\n .queryString(false)\n .cookies(DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs.builder()\n .forward(\"none\")\n .build())\n .build())\n .viewerProtocolPolicy(\"allow-all\")\n .minTtl(0)\n .defaultTtl(3600)\n .maxTtl(86400)\n .build())\n .orderedCacheBehaviors( \n DistributionOrderedCacheBehaviorArgs.builder()\n .pathPattern(\"/content/immutable/*\")\n .allowedMethods( \n \"GET\",\n \"HEAD\",\n \"OPTIONS\")\n .cachedMethods( \n \"GET\",\n \"HEAD\",\n \"OPTIONS\")\n .targetOriginId(s3OriginId)\n .forwardedValues(DistributionOrderedCacheBehaviorForwardedValuesArgs.builder()\n .queryString(false)\n .headers(\"Origin\")\n .cookies(DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs.builder()\n .forward(\"none\")\n .build())\n .build())\n .minTtl(0)\n .defaultTtl(86400)\n .maxTtl(31536000)\n .compress(true)\n .viewerProtocolPolicy(\"redirect-to-https\")\n .build(),\n DistributionOrderedCacheBehaviorArgs.builder()\n .pathPattern(\"/content/*\")\n .allowedMethods( \n \"GET\",\n \"HEAD\",\n \"OPTIONS\")\n .cachedMethods( \n \"GET\",\n \"HEAD\")\n .targetOriginId(s3OriginId)\n .forwardedValues(DistributionOrderedCacheBehaviorForwardedValuesArgs.builder()\n .queryString(false)\n .cookies(DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs.builder()\n .forward(\"none\")\n .build())\n .build())\n .minTtl(0)\n .defaultTtl(3600)\n .maxTtl(86400)\n .compress(true)\n .viewerProtocolPolicy(\"redirect-to-https\")\n .build())\n .priceClass(\"PriceClass_200\")\n .restrictions(DistributionRestrictionsArgs.builder()\n .geoRestriction(DistributionRestrictionsGeoRestrictionArgs.builder()\n .restrictionType(\"whitelist\")\n .locations( \n \"US\",\n \"CA\",\n \"GB\",\n \"DE\")\n .build())\n .build())\n .tags(Map.of(\"Environment\", \"production\"))\n .viewerCertificate(DistributionViewerCertificateArgs.builder()\n .cloudfrontDefaultCertificate(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucketV2:\n type: aws:s3:BucketV2\n properties:\n tags:\n Name: My bucket\n bAcl:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${bucketV2.id}\n acl: private\n s3Distribution:\n type: aws:cloudfront:Distribution\n properties:\n origins:\n - domainName: ${bucketV2.bucketRegionalDomainName}\n originId: ${s3OriginId}\n s3OriginConfig:\n originAccessIdentity: origin-access-identity/cloudfront/ABCDEFG1234567\n enabled: true\n isIpv6Enabled: true\n comment: Some comment\n defaultRootObject: index.html\n loggingConfig:\n includeCookies: false\n bucket: mylogs.s3.amazonaws.com\n prefix: myprefix\n aliases:\n - mysite.example.com\n - yoursite.example.com\n defaultCacheBehavior:\n allowedMethods:\n - DELETE\n - GET\n - HEAD\n - OPTIONS\n - PATCH\n - POST\n - PUT\n cachedMethods:\n - GET\n - HEAD\n targetOriginId: ${s3OriginId}\n forwardedValues:\n queryString: false\n cookies:\n forward: none\n viewerProtocolPolicy: allow-all\n minTtl: 0\n defaultTtl: 3600\n maxTtl: 86400\n # Cache behavior with precedence 0\n orderedCacheBehaviors:\n - pathPattern: /content/immutable/*\n allowedMethods:\n - GET\n - HEAD\n - OPTIONS\n cachedMethods:\n - GET\n - HEAD\n - OPTIONS\n targetOriginId: ${s3OriginId}\n forwardedValues:\n queryString: false\n headers:\n - Origin\n cookies:\n forward: none\n minTtl: 0\n defaultTtl: 86400\n maxTtl: 3.1536e+07\n compress: true\n viewerProtocolPolicy: redirect-to-https\n - pathPattern: /content/*\n allowedMethods:\n - GET\n - HEAD\n - OPTIONS\n cachedMethods:\n - GET\n - HEAD\n targetOriginId: ${s3OriginId}\n forwardedValues:\n queryString: false\n cookies:\n forward: none\n minTtl: 0\n defaultTtl: 3600\n maxTtl: 86400\n compress: true\n viewerProtocolPolicy: redirect-to-https\n priceClass: PriceClass_200\n restrictions:\n geoRestriction:\n restrictionType: whitelist\n locations:\n - US\n - CA\n - GB\n - DE\n tags:\n Environment: production\n viewerCertificate:\n cloudfrontDefaultCertificate: true\nvariables:\n s3OriginId: myS3Origin\n```\n\nThe following example below creates a Cloudfront distribution with an origin group for failover routing:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3Distribution = new aws.cloudfront.Distribution(\"s3Distribution\", {\n originGroups: [{\n originId: \"groupS3\",\n failoverCriteria: {\n statusCodes: [\n 403,\n 404,\n 500,\n 502,\n ],\n },\n members: [\n {\n originId: \"primaryS3\",\n },\n {\n originId: \"failoverS3\",\n },\n ],\n }],\n origins: [\n {\n domainName: aws_s3_bucket.primary.bucket_regional_domain_name,\n originId: \"primaryS3\",\n s3OriginConfig: {\n originAccessIdentity: aws_cloudfront_origin_access_identity[\"default\"].cloudfront_access_identity_path,\n },\n },\n {\n domainName: aws_s3_bucket.failover.bucket_regional_domain_name,\n originId: \"failoverS3\",\n s3OriginConfig: {\n originAccessIdentity: aws_cloudfront_origin_access_identity[\"default\"].cloudfront_access_identity_path,\n },\n },\n ],\n defaultCacheBehavior: {\n targetOriginId: \"groupS3\",\n },\n});\n// ... other configuration ...\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3_distribution = aws.cloudfront.Distribution(\"s3Distribution\",\n origin_groups=[aws.cloudfront.DistributionOriginGroupArgs(\n origin_id=\"groupS3\",\n failover_criteria=aws.cloudfront.DistributionOriginGroupFailoverCriteriaArgs(\n status_codes=[\n 403,\n 404,\n 500,\n 502,\n ],\n ),\n members=[\n aws.cloudfront.DistributionOriginGroupMemberArgs(\n origin_id=\"primaryS3\",\n ),\n aws.cloudfront.DistributionOriginGroupMemberArgs(\n origin_id=\"failoverS3\",\n ),\n ],\n )],\n origins=[\n aws.cloudfront.DistributionOriginArgs(\n domain_name=aws_s3_bucket[\"primary\"][\"bucket_regional_domain_name\"],\n origin_id=\"primaryS3\",\n s3_origin_config=aws.cloudfront.DistributionOriginS3OriginConfigArgs(\n origin_access_identity=aws_cloudfront_origin_access_identity[\"default\"][\"cloudfront_access_identity_path\"],\n ),\n ),\n aws.cloudfront.DistributionOriginArgs(\n domain_name=aws_s3_bucket[\"failover\"][\"bucket_regional_domain_name\"],\n origin_id=\"failoverS3\",\n s3_origin_config=aws.cloudfront.DistributionOriginS3OriginConfigArgs(\n origin_access_identity=aws_cloudfront_origin_access_identity[\"default\"][\"cloudfront_access_identity_path\"],\n ),\n ),\n ],\n default_cache_behavior=aws.cloudfront.DistributionDefaultCacheBehaviorArgs(\n target_origin_id=\"groupS3\",\n ))\n# ... other configuration ...\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3Distribution = new Aws.CloudFront.Distribution(\"s3Distribution\", new()\n {\n OriginGroups = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginGroupArgs\n {\n OriginId = \"groupS3\",\n FailoverCriteria = new Aws.CloudFront.Inputs.DistributionOriginGroupFailoverCriteriaArgs\n {\n StatusCodes = new[]\n {\n 403,\n 404,\n 500,\n 502,\n },\n },\n Members = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginGroupMemberArgs\n {\n OriginId = \"primaryS3\",\n },\n new Aws.CloudFront.Inputs.DistributionOriginGroupMemberArgs\n {\n OriginId = \"failoverS3\",\n },\n },\n },\n },\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = aws_s3_bucket.Primary.Bucket_regional_domain_name,\n OriginId = \"primaryS3\",\n S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs\n {\n OriginAccessIdentity = aws_cloudfront_origin_access_identity.Default.Cloudfront_access_identity_path,\n },\n },\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = aws_s3_bucket.Failover.Bucket_regional_domain_name,\n OriginId = \"failoverS3\",\n S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs\n {\n OriginAccessIdentity = aws_cloudfront_origin_access_identity.Default.Cloudfront_access_identity_path,\n },\n },\n },\n DefaultCacheBehavior = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n TargetOriginId = \"groupS3\",\n },\n });\n\n // ... other configuration ...\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudfront\"\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 := cloudfront.NewDistribution(ctx, \"s3Distribution\", \u0026cloudfront.DistributionArgs{\n\t\t\tOriginGroups: cloudfront.DistributionOriginGroupArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginGroupArgs{\n\t\t\t\t\tOriginId: pulumi.String(\"groupS3\"),\n\t\t\t\t\tFailoverCriteria: \u0026cloudfront.DistributionOriginGroupFailoverCriteriaArgs{\n\t\t\t\t\t\tStatusCodes: pulumi.IntArray{\n\t\t\t\t\t\t\tpulumi.Int(403),\n\t\t\t\t\t\t\tpulumi.Int(404),\n\t\t\t\t\t\t\tpulumi.Int(500),\n\t\t\t\t\t\t\tpulumi.Int(502),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tMembers: cloudfront.DistributionOriginGroupMemberArray{\n\t\t\t\t\t\t\u0026cloudfront.DistributionOriginGroupMemberArgs{\n\t\t\t\t\t\t\tOriginId: pulumi.String(\"primaryS3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudfront.DistributionOriginGroupMemberArgs{\n\t\t\t\t\t\t\tOriginId: pulumi.String(\"failoverS3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: pulumi.Any(aws_s3_bucket.Primary.Bucket_regional_domain_name),\n\t\t\t\t\tOriginId: pulumi.String(\"primaryS3\"),\n\t\t\t\t\tS3OriginConfig: \u0026cloudfront.DistributionOriginS3OriginConfigArgs{\n\t\t\t\t\t\tOriginAccessIdentity: pulumi.Any(aws_cloudfront_origin_access_identity.Default.Cloudfront_access_identity_path),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: pulumi.Any(aws_s3_bucket.Failover.Bucket_regional_domain_name),\n\t\t\t\t\tOriginId: pulumi.String(\"failoverS3\"),\n\t\t\t\t\tS3OriginConfig: \u0026cloudfront.DistributionOriginS3OriginConfigArgs{\n\t\t\t\t\t\tOriginAccessIdentity: pulumi.Any(aws_cloudfront_origin_access_identity.Default.Cloudfront_access_identity_path),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026cloudfront.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tTargetOriginId: pulumi.String(\"groupS3\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginGroupArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginGroupFailoverCriteriaArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginS3OriginConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var s3Distribution = new Distribution(\"s3Distribution\", DistributionArgs.builder() \n .originGroups(DistributionOriginGroupArgs.builder()\n .originId(\"groupS3\")\n .failoverCriteria(DistributionOriginGroupFailoverCriteriaArgs.builder()\n .statusCodes( \n 403,\n 404,\n 500,\n 502)\n .build())\n .members( \n DistributionOriginGroupMemberArgs.builder()\n .originId(\"primaryS3\")\n .build(),\n DistributionOriginGroupMemberArgs.builder()\n .originId(\"failoverS3\")\n .build())\n .build())\n .origins( \n DistributionOriginArgs.builder()\n .domainName(aws_s3_bucket.primary().bucket_regional_domain_name())\n .originId(\"primaryS3\")\n .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()\n .originAccessIdentity(aws_cloudfront_origin_access_identity.default().cloudfront_access_identity_path())\n .build())\n .build(),\n DistributionOriginArgs.builder()\n .domainName(aws_s3_bucket.failover().bucket_regional_domain_name())\n .originId(\"failoverS3\")\n .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()\n .originAccessIdentity(aws_cloudfront_origin_access_identity.default().cloudfront_access_identity_path())\n .build())\n .build())\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .targetOriginId(\"groupS3\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3Distribution:\n type: aws:cloudfront:Distribution\n properties:\n originGroups:\n - originId: groupS3\n failoverCriteria:\n statusCodes:\n - 403\n - 404\n - 500\n - 502\n members:\n - originId: primaryS3\n - originId: failoverS3\n origins:\n - domainName: ${aws_s3_bucket.primary.bucket_regional_domain_name}\n originId: primaryS3\n s3OriginConfig:\n originAccessIdentity: ${aws_cloudfront_origin_access_identity.default.cloudfront_access_identity_path}\n - domainName: ${aws_s3_bucket.failover.bucket_regional_domain_name}\n originId: failoverS3\n s3OriginConfig:\n originAccessIdentity: ${aws_cloudfront_origin_access_identity.default.cloudfront_access_identity_path}\n defaultCacheBehavior:\n targetOriginId: groupS3\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nCloudfront Distributions can be imported using the `id`, e.g.,\n\n```sh\n $ pulumi import aws:cloudfront/distribution:Distribution distribution E74FTE3EXAMPLE\n```\n\n ", + "description": "Creates an Amazon CloudFront web distribution.\n\nFor information about CloudFront distributions, see the\n[Amazon CloudFront Developer Guide](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html). For specific information about creating\nCloudFront web distributions, see the [POST Distribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html) page in the Amazon\nCloudFront API Reference.\n\n\u003e **NOTE:** CloudFront distributions take about 15 minutes to reach a deployed\nstate after creation or modification. During this time, deletes to resources will\nbe blocked. If you need to delete a distribution that is enabled and you do not\nwant to wait, you need to use the `retain_on_delete` flag.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThe following example below creates a CloudFront distribution with an S3 origin.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucketV2 = new aws.s3.BucketV2(\"bucketV2\", {tags: {\n Name: \"My bucket\",\n}});\nconst bAcl = new aws.s3.BucketAclV2(\"bAcl\", {\n bucket: bucketV2.id,\n acl: \"private\",\n});\nconst s3OriginId = \"myS3Origin\";\nconst s3Distribution = new aws.cloudfront.Distribution(\"s3Distribution\", {\n origins: [{\n domainName: bucketV2.bucketRegionalDomainName,\n originId: locals.s3_origin_id,\n s3OriginConfig: {\n originAccessIdentity: \"origin-access-identity/cloudfront/ABCDEFG1234567\",\n },\n }],\n enabled: true,\n isIpv6Enabled: true,\n comment: \"Some comment\",\n defaultRootObject: \"index.html\",\n loggingConfig: {\n includeCookies: false,\n bucket: \"mylogs.s3.amazonaws.com\",\n prefix: \"myprefix\",\n },\n aliases: [\n \"mysite.example.com\",\n \"yoursite.example.com\",\n ],\n defaultCacheBehavior: {\n allowedMethods: [\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n ],\n cachedMethods: [\n \"GET\",\n \"HEAD\",\n ],\n targetOriginId: s3OriginId,\n forwardedValues: {\n queryString: false,\n cookies: {\n forward: \"none\",\n },\n },\n viewerProtocolPolicy: \"allow-all\",\n minTtl: 0,\n defaultTtl: 3600,\n maxTtl: 86400,\n },\n orderedCacheBehaviors: [\n {\n pathPattern: \"/content/immutable/*\",\n allowedMethods: [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n cachedMethods: [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n targetOriginId: s3OriginId,\n forwardedValues: {\n queryString: false,\n headers: [\"Origin\"],\n cookies: {\n forward: \"none\",\n },\n },\n minTtl: 0,\n defaultTtl: 86400,\n maxTtl: 31536000,\n compress: true,\n viewerProtocolPolicy: \"redirect-to-https\",\n },\n {\n pathPattern: \"/content/*\",\n allowedMethods: [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n cachedMethods: [\n \"GET\",\n \"HEAD\",\n ],\n targetOriginId: s3OriginId,\n forwardedValues: {\n queryString: false,\n cookies: {\n forward: \"none\",\n },\n },\n minTtl: 0,\n defaultTtl: 3600,\n maxTtl: 86400,\n compress: true,\n viewerProtocolPolicy: \"redirect-to-https\",\n },\n ],\n priceClass: \"PriceClass_200\",\n restrictions: {\n geoRestriction: {\n restrictionType: \"whitelist\",\n locations: [\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n ],\n },\n },\n tags: {\n Environment: \"production\",\n },\n viewerCertificate: {\n cloudfrontDefaultCertificate: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket_v2 = aws.s3.BucketV2(\"bucketV2\", tags={\n \"Name\": \"My bucket\",\n})\nb_acl = aws.s3.BucketAclV2(\"bAcl\",\n bucket=bucket_v2.id,\n acl=\"private\")\ns3_origin_id = \"myS3Origin\"\ns3_distribution = aws.cloudfront.Distribution(\"s3Distribution\",\n origins=[aws.cloudfront.DistributionOriginArgs(\n domain_name=bucket_v2.bucket_regional_domain_name,\n origin_id=locals[\"s3_origin_id\"],\n s3_origin_config=aws.cloudfront.DistributionOriginS3OriginConfigArgs(\n origin_access_identity=\"origin-access-identity/cloudfront/ABCDEFG1234567\",\n ),\n )],\n enabled=True,\n is_ipv6_enabled=True,\n comment=\"Some comment\",\n default_root_object=\"index.html\",\n logging_config=aws.cloudfront.DistributionLoggingConfigArgs(\n include_cookies=False,\n bucket=\"mylogs.s3.amazonaws.com\",\n prefix=\"myprefix\",\n ),\n aliases=[\n \"mysite.example.com\",\n \"yoursite.example.com\",\n ],\n default_cache_behavior=aws.cloudfront.DistributionDefaultCacheBehaviorArgs(\n allowed_methods=[\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n ],\n cached_methods=[\n \"GET\",\n \"HEAD\",\n ],\n target_origin_id=s3_origin_id,\n forwarded_values=aws.cloudfront.DistributionDefaultCacheBehaviorForwardedValuesArgs(\n query_string=False,\n cookies=aws.cloudfront.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs(\n forward=\"none\",\n ),\n ),\n viewer_protocol_policy=\"allow-all\",\n min_ttl=0,\n default_ttl=3600,\n max_ttl=86400,\n ),\n ordered_cache_behaviors=[\n aws.cloudfront.DistributionOrderedCacheBehaviorArgs(\n path_pattern=\"/content/immutable/*\",\n allowed_methods=[\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n cached_methods=[\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n target_origin_id=s3_origin_id,\n forwarded_values=aws.cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs(\n query_string=False,\n headers=[\"Origin\"],\n cookies=aws.cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs(\n forward=\"none\",\n ),\n ),\n min_ttl=0,\n default_ttl=86400,\n max_ttl=31536000,\n compress=True,\n viewer_protocol_policy=\"redirect-to-https\",\n ),\n aws.cloudfront.DistributionOrderedCacheBehaviorArgs(\n path_pattern=\"/content/*\",\n allowed_methods=[\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n ],\n cached_methods=[\n \"GET\",\n \"HEAD\",\n ],\n target_origin_id=s3_origin_id,\n forwarded_values=aws.cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs(\n query_string=False,\n cookies=aws.cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs(\n forward=\"none\",\n ),\n ),\n min_ttl=0,\n default_ttl=3600,\n max_ttl=86400,\n compress=True,\n viewer_protocol_policy=\"redirect-to-https\",\n ),\n ],\n price_class=\"PriceClass_200\",\n restrictions=aws.cloudfront.DistributionRestrictionsArgs(\n geo_restriction=aws.cloudfront.DistributionRestrictionsGeoRestrictionArgs(\n restriction_type=\"whitelist\",\n locations=[\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n ],\n ),\n ),\n tags={\n \"Environment\": \"production\",\n },\n viewer_certificate=aws.cloudfront.DistributionViewerCertificateArgs(\n cloudfront_default_certificate=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucketV2 = new Aws.S3.BucketV2(\"bucketV2\", new()\n {\n Tags = \n {\n { \"Name\", \"My bucket\" },\n },\n });\n\n var bAcl = new Aws.S3.BucketAclV2(\"bAcl\", new()\n {\n Bucket = bucketV2.Id,\n Acl = \"private\",\n });\n\n var s3OriginId = \"myS3Origin\";\n\n var s3Distribution = new Aws.CloudFront.Distribution(\"s3Distribution\", new()\n {\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = bucketV2.BucketRegionalDomainName,\n OriginId = locals.S3_origin_id,\n S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs\n {\n OriginAccessIdentity = \"origin-access-identity/cloudfront/ABCDEFG1234567\",\n },\n },\n },\n Enabled = true,\n IsIpv6Enabled = true,\n Comment = \"Some comment\",\n DefaultRootObject = \"index.html\",\n LoggingConfig = new Aws.CloudFront.Inputs.DistributionLoggingConfigArgs\n {\n IncludeCookies = false,\n Bucket = \"mylogs.s3.amazonaws.com\",\n Prefix = \"myprefix\",\n },\n Aliases = new[]\n {\n \"mysite.example.com\",\n \"yoursite.example.com\",\n },\n DefaultCacheBehavior = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n AllowedMethods = new[]\n {\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\",\n },\n CachedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n },\n TargetOriginId = s3OriginId,\n ForwardedValues = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorForwardedValuesArgs\n {\n QueryString = false,\n Cookies = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs\n {\n Forward = \"none\",\n },\n },\n ViewerProtocolPolicy = \"allow-all\",\n MinTtl = 0,\n DefaultTtl = 3600,\n MaxTtl = 86400,\n },\n OrderedCacheBehaviors = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorArgs\n {\n PathPattern = \"/content/immutable/*\",\n AllowedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n },\n CachedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n },\n TargetOriginId = s3OriginId,\n ForwardedValues = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesArgs\n {\n QueryString = false,\n Headers = new[]\n {\n \"Origin\",\n },\n Cookies = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs\n {\n Forward = \"none\",\n },\n },\n MinTtl = 0,\n DefaultTtl = 86400,\n MaxTtl = 31536000,\n Compress = true,\n ViewerProtocolPolicy = \"redirect-to-https\",\n },\n new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorArgs\n {\n PathPattern = \"/content/*\",\n AllowedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n },\n CachedMethods = new[]\n {\n \"GET\",\n \"HEAD\",\n },\n TargetOriginId = s3OriginId,\n ForwardedValues = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesArgs\n {\n QueryString = false,\n Cookies = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs\n {\n Forward = \"none\",\n },\n },\n MinTtl = 0,\n DefaultTtl = 3600,\n MaxTtl = 86400,\n Compress = true,\n ViewerProtocolPolicy = \"redirect-to-https\",\n },\n },\n PriceClass = \"PriceClass_200\",\n Restrictions = new Aws.CloudFront.Inputs.DistributionRestrictionsArgs\n {\n GeoRestriction = new Aws.CloudFront.Inputs.DistributionRestrictionsGeoRestrictionArgs\n {\n RestrictionType = \"whitelist\",\n Locations = new[]\n {\n \"US\",\n \"CA\",\n \"GB\",\n \"DE\",\n },\n },\n },\n Tags = \n {\n { \"Environment\", \"production\" },\n },\n ViewerCertificate = new Aws.CloudFront.Inputs.DistributionViewerCertificateArgs\n {\n CloudfrontDefaultCertificate = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudfront\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucketV2, err := s3.NewBucketV2(ctx, \"bucketV2\", \u0026s3.BucketV2Args{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"My bucket\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bAcl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucketV2.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3OriginId := \"myS3Origin\"\n\t\t_, err = cloudfront.NewDistribution(ctx, \"s3Distribution\", \u0026cloudfront.DistributionArgs{\n\t\t\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: bucketV2.BucketRegionalDomainName,\n\t\t\t\t\tOriginId: pulumi.Any(locals.S3_origin_id),\n\t\t\t\t\tS3OriginConfig: \u0026cloudfront.DistributionOriginS3OriginConfigArgs{\n\t\t\t\t\t\tOriginAccessIdentity: pulumi.String(\"origin-access-identity/cloudfront/ABCDEFG1234567\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tIsIpv6Enabled: pulumi.Bool(true),\n\t\t\tComment: pulumi.String(\"Some comment\"),\n\t\t\tDefaultRootObject: pulumi.String(\"index.html\"),\n\t\t\tLoggingConfig: \u0026cloudfront.DistributionLoggingConfigArgs{\n\t\t\t\tIncludeCookies: pulumi.Bool(false),\n\t\t\t\tBucket: pulumi.String(\"mylogs.s3.amazonaws.com\"),\n\t\t\t\tPrefix: pulumi.String(\"myprefix\"),\n\t\t\t},\n\t\t\tAliases: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mysite.example.com\"),\n\t\t\t\tpulumi.String(\"yoursite.example.com\"),\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026cloudfront.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t\tpulumi.String(\"PATCH\"),\n\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t},\n\t\t\t\tCachedMethods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t},\n\t\t\t\tTargetOriginId: pulumi.String(s3OriginId),\n\t\t\t\tForwardedValues: \u0026cloudfront.DistributionDefaultCacheBehaviorForwardedValuesArgs{\n\t\t\t\t\tQueryString: pulumi.Bool(false),\n\t\t\t\t\tCookies: \u0026cloudfront.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs{\n\t\t\t\t\t\tForward: pulumi.String(\"none\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tViewerProtocolPolicy: pulumi.String(\"allow-all\"),\n\t\t\t\tMinTtl: pulumi.Int(0),\n\t\t\t\tDefaultTtl: pulumi.Int(3600),\n\t\t\t\tMaxTtl: pulumi.Int(86400),\n\t\t\t},\n\t\t\tOrderedCacheBehaviors: cloudfront.DistributionOrderedCacheBehaviorArray{\n\t\t\t\t\u0026cloudfront.DistributionOrderedCacheBehaviorArgs{\n\t\t\t\t\tPathPattern: pulumi.String(\"/content/immutable/*\"),\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t\t},\n\t\t\t\t\tCachedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t\t},\n\t\t\t\t\tTargetOriginId: pulumi.String(s3OriginId),\n\t\t\t\t\tForwardedValues: \u0026cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs{\n\t\t\t\t\t\tQueryString: pulumi.Bool(false),\n\t\t\t\t\t\tHeaders: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Origin\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCookies: \u0026cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs{\n\t\t\t\t\t\t\tForward: pulumi.String(\"none\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tMinTtl: pulumi.Int(0),\n\t\t\t\t\tDefaultTtl: pulumi.Int(86400),\n\t\t\t\t\tMaxTtl: pulumi.Int(31536000),\n\t\t\t\t\tCompress: pulumi.Bool(true),\n\t\t\t\t\tViewerProtocolPolicy: pulumi.String(\"redirect-to-https\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudfront.DistributionOrderedCacheBehaviorArgs{\n\t\t\t\t\tPathPattern: pulumi.String(\"/content/*\"),\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t\tpulumi.String(\"OPTIONS\"),\n\t\t\t\t\t},\n\t\t\t\t\tCachedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t},\n\t\t\t\t\tTargetOriginId: pulumi.String(s3OriginId),\n\t\t\t\t\tForwardedValues: \u0026cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs{\n\t\t\t\t\t\tQueryString: pulumi.Bool(false),\n\t\t\t\t\t\tCookies: \u0026cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs{\n\t\t\t\t\t\t\tForward: pulumi.String(\"none\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tMinTtl: pulumi.Int(0),\n\t\t\t\t\tDefaultTtl: pulumi.Int(3600),\n\t\t\t\t\tMaxTtl: pulumi.Int(86400),\n\t\t\t\t\tCompress: pulumi.Bool(true),\n\t\t\t\t\tViewerProtocolPolicy: pulumi.String(\"redirect-to-https\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPriceClass: pulumi.String(\"PriceClass_200\"),\n\t\t\tRestrictions: \u0026cloudfront.DistributionRestrictionsArgs{\n\t\t\t\tGeoRestriction: \u0026cloudfront.DistributionRestrictionsGeoRestrictionArgs{\n\t\t\t\t\tRestrictionType: pulumi.String(\"whitelist\"),\n\t\t\t\t\tLocations: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\t\t\tpulumi.String(\"CA\"),\n\t\t\t\t\t\tpulumi.String(\"GB\"),\n\t\t\t\t\t\tpulumi.String(\"DE\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t\tViewerCertificate: \u0026cloudfront.DistributionViewerCertificateArgs{\n\t\t\t\tCloudfrontDefaultCertificate: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginS3OriginConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionLoggingConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorForwardedValuesArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOrderedCacheBehaviorArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOrderedCacheBehaviorForwardedValuesArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionRestrictionsArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionRestrictionsGeoRestrictionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionViewerCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bucketV2 = new BucketV2(\"bucketV2\", BucketV2Args.builder() \n .tags(Map.of(\"Name\", \"My bucket\"))\n .build());\n\n var bAcl = new BucketAclV2(\"bAcl\", BucketAclV2Args.builder() \n .bucket(bucketV2.id())\n .acl(\"private\")\n .build());\n\n final var s3OriginId = \"myS3Origin\";\n\n var s3Distribution = new Distribution(\"s3Distribution\", DistributionArgs.builder() \n .origins(DistributionOriginArgs.builder()\n .domainName(bucketV2.bucketRegionalDomainName())\n .originId(locals.s3_origin_id())\n .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()\n .originAccessIdentity(\"origin-access-identity/cloudfront/ABCDEFG1234567\")\n .build())\n .build())\n .enabled(true)\n .isIpv6Enabled(true)\n .comment(\"Some comment\")\n .defaultRootObject(\"index.html\")\n .loggingConfig(DistributionLoggingConfigArgs.builder()\n .includeCookies(false)\n .bucket(\"mylogs.s3.amazonaws.com\")\n .prefix(\"myprefix\")\n .build())\n .aliases( \n \"mysite.example.com\",\n \"yoursite.example.com\")\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .allowedMethods( \n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PATCH\",\n \"POST\",\n \"PUT\")\n .cachedMethods( \n \"GET\",\n \"HEAD\")\n .targetOriginId(s3OriginId)\n .forwardedValues(DistributionDefaultCacheBehaviorForwardedValuesArgs.builder()\n .queryString(false)\n .cookies(DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs.builder()\n .forward(\"none\")\n .build())\n .build())\n .viewerProtocolPolicy(\"allow-all\")\n .minTtl(0)\n .defaultTtl(3600)\n .maxTtl(86400)\n .build())\n .orderedCacheBehaviors( \n DistributionOrderedCacheBehaviorArgs.builder()\n .pathPattern(\"/content/immutable/*\")\n .allowedMethods( \n \"GET\",\n \"HEAD\",\n \"OPTIONS\")\n .cachedMethods( \n \"GET\",\n \"HEAD\",\n \"OPTIONS\")\n .targetOriginId(s3OriginId)\n .forwardedValues(DistributionOrderedCacheBehaviorForwardedValuesArgs.builder()\n .queryString(false)\n .headers(\"Origin\")\n .cookies(DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs.builder()\n .forward(\"none\")\n .build())\n .build())\n .minTtl(0)\n .defaultTtl(86400)\n .maxTtl(31536000)\n .compress(true)\n .viewerProtocolPolicy(\"redirect-to-https\")\n .build(),\n DistributionOrderedCacheBehaviorArgs.builder()\n .pathPattern(\"/content/*\")\n .allowedMethods( \n \"GET\",\n \"HEAD\",\n \"OPTIONS\")\n .cachedMethods( \n \"GET\",\n \"HEAD\")\n .targetOriginId(s3OriginId)\n .forwardedValues(DistributionOrderedCacheBehaviorForwardedValuesArgs.builder()\n .queryString(false)\n .cookies(DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs.builder()\n .forward(\"none\")\n .build())\n .build())\n .minTtl(0)\n .defaultTtl(3600)\n .maxTtl(86400)\n .compress(true)\n .viewerProtocolPolicy(\"redirect-to-https\")\n .build())\n .priceClass(\"PriceClass_200\")\n .restrictions(DistributionRestrictionsArgs.builder()\n .geoRestriction(DistributionRestrictionsGeoRestrictionArgs.builder()\n .restrictionType(\"whitelist\")\n .locations( \n \"US\",\n \"CA\",\n \"GB\",\n \"DE\")\n .build())\n .build())\n .tags(Map.of(\"Environment\", \"production\"))\n .viewerCertificate(DistributionViewerCertificateArgs.builder()\n .cloudfrontDefaultCertificate(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucketV2:\n type: aws:s3:BucketV2\n properties:\n tags:\n Name: My bucket\n bAcl:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${bucketV2.id}\n acl: private\n s3Distribution:\n type: aws:cloudfront:Distribution\n properties:\n origins:\n - domainName: ${bucketV2.bucketRegionalDomainName}\n originId: ${locals.s3_origin_id}\n s3OriginConfig:\n originAccessIdentity: origin-access-identity/cloudfront/ABCDEFG1234567\n enabled: true\n isIpv6Enabled: true\n comment: Some comment\n defaultRootObject: index.html\n loggingConfig:\n includeCookies: false\n bucket: mylogs.s3.amazonaws.com\n prefix: myprefix\n aliases:\n - mysite.example.com\n - yoursite.example.com\n defaultCacheBehavior:\n allowedMethods:\n - DELETE\n - GET\n - HEAD\n - OPTIONS\n - PATCH\n - POST\n - PUT\n cachedMethods:\n - GET\n - HEAD\n targetOriginId: ${s3OriginId}\n forwardedValues:\n queryString: false\n cookies:\n forward: none\n viewerProtocolPolicy: allow-all\n minTtl: 0\n defaultTtl: 3600\n maxTtl: 86400\n # Cache behavior with precedence 0\n orderedCacheBehaviors:\n - pathPattern: /content/immutable/*\n allowedMethods:\n - GET\n - HEAD\n - OPTIONS\n cachedMethods:\n - GET\n - HEAD\n - OPTIONS\n targetOriginId: ${s3OriginId}\n forwardedValues:\n queryString: false\n headers:\n - Origin\n cookies:\n forward: none\n minTtl: 0\n defaultTtl: 86400\n maxTtl: 3.1536e+07\n compress: true\n viewerProtocolPolicy: redirect-to-https\n - pathPattern: /content/*\n allowedMethods:\n - GET\n - HEAD\n - OPTIONS\n cachedMethods:\n - GET\n - HEAD\n targetOriginId: ${s3OriginId}\n forwardedValues:\n queryString: false\n cookies:\n forward: none\n minTtl: 0\n defaultTtl: 3600\n maxTtl: 86400\n compress: true\n viewerProtocolPolicy: redirect-to-https\n priceClass: PriceClass_200\n restrictions:\n geoRestriction:\n restrictionType: whitelist\n locations:\n - US\n - CA\n - GB\n - DE\n tags:\n Environment: production\n viewerCertificate:\n cloudfrontDefaultCertificate: true\nvariables:\n s3OriginId: myS3Origin\n```\n\nThe following example below creates a Cloudfront distribution with an origin group for failover routing:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3Distribution = new aws.cloudfront.Distribution(\"s3Distribution\", {\n originGroups: [{\n originId: \"groupS3\",\n failoverCriteria: {\n statusCodes: [\n 403,\n 404,\n 500,\n 502,\n ],\n },\n members: [\n {\n originId: \"primaryS3\",\n },\n {\n originId: \"failoverS3\",\n },\n ],\n }],\n origins: [\n {\n domainName: aws_s3_bucket.primary.bucket_regional_domain_name,\n originId: \"primaryS3\",\n s3OriginConfig: {\n originAccessIdentity: aws_cloudfront_origin_access_identity[\"default\"].cloudfront_access_identity_path,\n },\n },\n {\n domainName: aws_s3_bucket.failover.bucket_regional_domain_name,\n originId: \"failoverS3\",\n s3OriginConfig: {\n originAccessIdentity: aws_cloudfront_origin_access_identity[\"default\"].cloudfront_access_identity_path,\n },\n },\n ],\n defaultCacheBehavior: {\n targetOriginId: \"groupS3\",\n },\n});\n// ... other configuration ...\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3_distribution = aws.cloudfront.Distribution(\"s3Distribution\",\n origin_groups=[aws.cloudfront.DistributionOriginGroupArgs(\n origin_id=\"groupS3\",\n failover_criteria=aws.cloudfront.DistributionOriginGroupFailoverCriteriaArgs(\n status_codes=[\n 403,\n 404,\n 500,\n 502,\n ],\n ),\n members=[\n aws.cloudfront.DistributionOriginGroupMemberArgs(\n origin_id=\"primaryS3\",\n ),\n aws.cloudfront.DistributionOriginGroupMemberArgs(\n origin_id=\"failoverS3\",\n ),\n ],\n )],\n origins=[\n aws.cloudfront.DistributionOriginArgs(\n domain_name=aws_s3_bucket[\"primary\"][\"bucket_regional_domain_name\"],\n origin_id=\"primaryS3\",\n s3_origin_config=aws.cloudfront.DistributionOriginS3OriginConfigArgs(\n origin_access_identity=aws_cloudfront_origin_access_identity[\"default\"][\"cloudfront_access_identity_path\"],\n ),\n ),\n aws.cloudfront.DistributionOriginArgs(\n domain_name=aws_s3_bucket[\"failover\"][\"bucket_regional_domain_name\"],\n origin_id=\"failoverS3\",\n s3_origin_config=aws.cloudfront.DistributionOriginS3OriginConfigArgs(\n origin_access_identity=aws_cloudfront_origin_access_identity[\"default\"][\"cloudfront_access_identity_path\"],\n ),\n ),\n ],\n default_cache_behavior=aws.cloudfront.DistributionDefaultCacheBehaviorArgs(\n target_origin_id=\"groupS3\",\n ))\n# ... other configuration ...\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3Distribution = new Aws.CloudFront.Distribution(\"s3Distribution\", new()\n {\n OriginGroups = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginGroupArgs\n {\n OriginId = \"groupS3\",\n FailoverCriteria = new Aws.CloudFront.Inputs.DistributionOriginGroupFailoverCriteriaArgs\n {\n StatusCodes = new[]\n {\n 403,\n 404,\n 500,\n 502,\n },\n },\n Members = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginGroupMemberArgs\n {\n OriginId = \"primaryS3\",\n },\n new Aws.CloudFront.Inputs.DistributionOriginGroupMemberArgs\n {\n OriginId = \"failoverS3\",\n },\n },\n },\n },\n Origins = new[]\n {\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = aws_s3_bucket.Primary.Bucket_regional_domain_name,\n OriginId = \"primaryS3\",\n S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs\n {\n OriginAccessIdentity = aws_cloudfront_origin_access_identity.Default.Cloudfront_access_identity_path,\n },\n },\n new Aws.CloudFront.Inputs.DistributionOriginArgs\n {\n DomainName = aws_s3_bucket.Failover.Bucket_regional_domain_name,\n OriginId = \"failoverS3\",\n S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs\n {\n OriginAccessIdentity = aws_cloudfront_origin_access_identity.Default.Cloudfront_access_identity_path,\n },\n },\n },\n DefaultCacheBehavior = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorArgs\n {\n TargetOriginId = \"groupS3\",\n },\n });\n\n // ... other configuration ...\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudfront\"\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 := cloudfront.NewDistribution(ctx, \"s3Distribution\", \u0026cloudfront.DistributionArgs{\n\t\t\tOriginGroups: cloudfront.DistributionOriginGroupArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginGroupArgs{\n\t\t\t\t\tOriginId: pulumi.String(\"groupS3\"),\n\t\t\t\t\tFailoverCriteria: \u0026cloudfront.DistributionOriginGroupFailoverCriteriaArgs{\n\t\t\t\t\t\tStatusCodes: pulumi.IntArray{\n\t\t\t\t\t\t\tpulumi.Int(403),\n\t\t\t\t\t\t\tpulumi.Int(404),\n\t\t\t\t\t\t\tpulumi.Int(500),\n\t\t\t\t\t\t\tpulumi.Int(502),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tMembers: cloudfront.DistributionOriginGroupMemberArray{\n\t\t\t\t\t\t\u0026cloudfront.DistributionOriginGroupMemberArgs{\n\t\t\t\t\t\t\tOriginId: pulumi.String(\"primaryS3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cloudfront.DistributionOriginGroupMemberArgs{\n\t\t\t\t\t\t\tOriginId: pulumi.String(\"failoverS3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOrigins: cloudfront.DistributionOriginArray{\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: pulumi.Any(aws_s3_bucket.Primary.Bucket_regional_domain_name),\n\t\t\t\t\tOriginId: pulumi.String(\"primaryS3\"),\n\t\t\t\t\tS3OriginConfig: \u0026cloudfront.DistributionOriginS3OriginConfigArgs{\n\t\t\t\t\t\tOriginAccessIdentity: pulumi.Any(aws_cloudfront_origin_access_identity.Default.Cloudfront_access_identity_path),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudfront.DistributionOriginArgs{\n\t\t\t\t\tDomainName: pulumi.Any(aws_s3_bucket.Failover.Bucket_regional_domain_name),\n\t\t\t\t\tOriginId: pulumi.String(\"failoverS3\"),\n\t\t\t\t\tS3OriginConfig: \u0026cloudfront.DistributionOriginS3OriginConfigArgs{\n\t\t\t\t\t\tOriginAccessIdentity: pulumi.Any(aws_cloudfront_origin_access_identity.Default.Cloudfront_access_identity_path),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDefaultCacheBehavior: \u0026cloudfront.DistributionDefaultCacheBehaviorArgs{\n\t\t\t\tTargetOriginId: pulumi.String(\"groupS3\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudfront.Distribution;\nimport com.pulumi.aws.cloudfront.DistributionArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginGroupArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginGroupFailoverCriteriaArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionOriginS3OriginConfigArgs;\nimport com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var s3Distribution = new Distribution(\"s3Distribution\", DistributionArgs.builder() \n .originGroups(DistributionOriginGroupArgs.builder()\n .originId(\"groupS3\")\n .failoverCriteria(DistributionOriginGroupFailoverCriteriaArgs.builder()\n .statusCodes( \n 403,\n 404,\n 500,\n 502)\n .build())\n .members( \n DistributionOriginGroupMemberArgs.builder()\n .originId(\"primaryS3\")\n .build(),\n DistributionOriginGroupMemberArgs.builder()\n .originId(\"failoverS3\")\n .build())\n .build())\n .origins( \n DistributionOriginArgs.builder()\n .domainName(aws_s3_bucket.primary().bucket_regional_domain_name())\n .originId(\"primaryS3\")\n .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()\n .originAccessIdentity(aws_cloudfront_origin_access_identity.default().cloudfront_access_identity_path())\n .build())\n .build(),\n DistributionOriginArgs.builder()\n .domainName(aws_s3_bucket.failover().bucket_regional_domain_name())\n .originId(\"failoverS3\")\n .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()\n .originAccessIdentity(aws_cloudfront_origin_access_identity.default().cloudfront_access_identity_path())\n .build())\n .build())\n .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()\n .targetOriginId(\"groupS3\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3Distribution:\n type: aws:cloudfront:Distribution\n properties:\n originGroups:\n - originId: groupS3\n failoverCriteria:\n statusCodes:\n - 403\n - 404\n - 500\n - 502\n members:\n - originId: primaryS3\n - originId: failoverS3\n origins:\n - domainName: ${aws_s3_bucket.primary.bucket_regional_domain_name}\n originId: primaryS3\n s3OriginConfig:\n originAccessIdentity: ${aws_cloudfront_origin_access_identity.default.cloudfront_access_identity_path}\n - domainName: ${aws_s3_bucket.failover.bucket_regional_domain_name}\n originId: failoverS3\n s3OriginConfig:\n originAccessIdentity: ${aws_cloudfront_origin_access_identity.default.cloudfront_access_identity_path}\n defaultCacheBehavior:\n targetOriginId: groupS3\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nCloudfront Distributions can be imported using the `id`, e.g.,\n\n```sh\n $ pulumi import aws:cloudfront/distribution:Distribution distribution E74FTE3EXAMPLE\n```\n\n ", "properties": { "aliases": { "type": "array", @@ -405049,7 +408108,7 @@ } }, "aws:cloudwatch/eventApiDestination:EventApiDestination": { - "description": "Provides an EventBridge event API Destination resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventApiDestination(\"test\", {\n description: \"An API Destination\",\n invocationEndpoint: \"https://api.destination.com/endpoint\",\n httpMethod: \"POST\",\n invocationRateLimitPerSecond: 20,\n connectionArn: aws_cloudwatch_event_connection.test.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.EventApiDestination(\"test\",\n description=\"An API Destination\",\n invocation_endpoint=\"https://api.destination.com/endpoint\",\n http_method=\"POST\",\n invocation_rate_limit_per_second=20,\n connection_arn=aws_cloudwatch_event_connection[\"test\"][\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudWatch.EventApiDestination(\"test\", new()\n {\n Description = \"An API Destination\",\n InvocationEndpoint = \"https://api.destination.com/endpoint\",\n HttpMethod = \"POST\",\n InvocationRateLimitPerSecond = 20,\n ConnectionArn = aws_cloudwatch_event_connection.Test.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\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 := cloudwatch.NewEventApiDestination(ctx, \"test\", \u0026cloudwatch.EventApiDestinationArgs{\n\t\t\tDescription: pulumi.String(\"An API Destination\"),\n\t\t\tInvocationEndpoint: pulumi.String(\"https://api.destination.com/endpoint\"),\n\t\t\tHttpMethod: pulumi.String(\"POST\"),\n\t\t\tInvocationRateLimitPerSecond: pulumi.Int(20),\n\t\t\tConnectionArn: pulumi.Any(aws_cloudwatch_event_connection.Test.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventApiDestination;\nimport com.pulumi.aws.cloudwatch.EventApiDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventApiDestination(\"test\", EventApiDestinationArgs.builder() \n .description(\"An API Destination\")\n .invocationEndpoint(\"https://api.destination.com/endpoint\")\n .httpMethod(\"POST\")\n .invocationRateLimitPerSecond(20)\n .connectionArn(aws_cloudwatch_event_connection.test().arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventApiDestination\n properties:\n description: An API Destination\n invocationEndpoint: https://api.destination.com/endpoint\n httpMethod: POST\n invocationRateLimitPerSecond: 20\n connectionArn: ${aws_cloudwatch_event_connection.test.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nEventBridge API Destinations can be imported using the `name`, e.g., console\n\n```sh\n $ pulumi import aws:cloudwatch/eventApiDestination:EventApiDestination test api-destination\n```\n\n ", + "description": "Provides an EventBridge event API Destination resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventApiDestination(\"test\", {\n description: \"An API Destination\",\n invocationEndpoint: \"https://api.destination.com/endpoint\",\n httpMethod: \"POST\",\n invocationRateLimitPerSecond: 20,\n connectionArn: aws_cloudwatch_event_connection.test.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.EventApiDestination(\"test\",\n description=\"An API Destination\",\n invocation_endpoint=\"https://api.destination.com/endpoint\",\n http_method=\"POST\",\n invocation_rate_limit_per_second=20,\n connection_arn=aws_cloudwatch_event_connection[\"test\"][\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudWatch.EventApiDestination(\"test\", new()\n {\n Description = \"An API Destination\",\n InvocationEndpoint = \"https://api.destination.com/endpoint\",\n HttpMethod = \"POST\",\n InvocationRateLimitPerSecond = 20,\n ConnectionArn = aws_cloudwatch_event_connection.Test.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\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 := cloudwatch.NewEventApiDestination(ctx, \"test\", \u0026cloudwatch.EventApiDestinationArgs{\n\t\t\tDescription: pulumi.String(\"An API Destination\"),\n\t\t\tInvocationEndpoint: pulumi.String(\"https://api.destination.com/endpoint\"),\n\t\t\tHttpMethod: pulumi.String(\"POST\"),\n\t\t\tInvocationRateLimitPerSecond: pulumi.Int(20),\n\t\t\tConnectionArn: pulumi.Any(aws_cloudwatch_event_connection.Test.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventApiDestination;\nimport com.pulumi.aws.cloudwatch.EventApiDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventApiDestination(\"test\", EventApiDestinationArgs.builder() \n .description(\"An API Destination\")\n .invocationEndpoint(\"https://api.destination.com/endpoint\")\n .httpMethod(\"POST\")\n .invocationRateLimitPerSecond(20)\n .connectionArn(aws_cloudwatch_event_connection.test().arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventApiDestination\n properties:\n description: An API Destination\n invocationEndpoint: https://api.destination.com/endpoint\n httpMethod: POST\n invocationRateLimitPerSecond: 20\n connectionArn: ${aws_cloudwatch_event_connection.test.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nEventBridge API Destinations can be imported using the `name`, e.g., console\n\n```sh\n $ pulumi import aws:cloudwatch/eventApiDestination:EventApiDestination test api-destination\n```\n\n ", "properties": { "arn": { "type": "string", @@ -405156,7 +408215,7 @@ } }, "aws:cloudwatch/eventArchive:EventArchive": { - "description": "Provides an EventBridge event archive resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst orderEventBus = new aws.cloudwatch.EventBus(\"orderEventBus\", {});\nconst orderEventArchive = new aws.cloudwatch.EventArchive(\"orderEventArchive\", {eventSourceArn: orderEventBus.arn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_event_bus = aws.cloudwatch.EventBus(\"orderEventBus\")\norder_event_archive = aws.cloudwatch.EventArchive(\"orderEventArchive\", event_source_arn=order_event_bus.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var orderEventBus = new Aws.CloudWatch.EventBus(\"orderEventBus\");\n\n var orderEventArchive = new Aws.CloudWatch.EventArchive(\"orderEventArchive\", new()\n {\n EventSourceArn = orderEventBus.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torderEventBus, err := cloudwatch.NewEventBus(ctx, \"orderEventBus\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventArchive(ctx, \"orderEventArchive\", \u0026cloudwatch.EventArchiveArgs{\n\t\t\tEventSourceArn: orderEventBus.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventArchive;\nimport com.pulumi.aws.cloudwatch.EventArchiveArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var orderEventBus = new EventBus(\"orderEventBus\");\n\n var orderEventArchive = new EventArchive(\"orderEventArchive\", EventArchiveArgs.builder() \n .eventSourceArn(orderEventBus.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n orderEventBus:\n type: aws:cloudwatch:EventBus\n orderEventArchive:\n type: aws:cloudwatch:EventArchive\n properties:\n eventSourceArn: ${orderEventBus.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n## Example all optional arguments\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst orderEventBus = new aws.cloudwatch.EventBus(\"orderEventBus\", {});\nconst orderEventArchive = new aws.cloudwatch.EventArchive(\"orderEventArchive\", {\n description: \"Archived events from order service\",\n eventSourceArn: orderEventBus.arn,\n retentionDays: 7,\n eventPattern: `{\n \"source\": [\"company.team.order\"]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_event_bus = aws.cloudwatch.EventBus(\"orderEventBus\")\norder_event_archive = aws.cloudwatch.EventArchive(\"orderEventArchive\",\n description=\"Archived events from order service\",\n event_source_arn=order_event_bus.arn,\n retention_days=7,\n event_pattern=\"\"\"{\n \"source\": [\"company.team.order\"]\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var orderEventBus = new Aws.CloudWatch.EventBus(\"orderEventBus\");\n\n var orderEventArchive = new Aws.CloudWatch.EventArchive(\"orderEventArchive\", new()\n {\n Description = \"Archived events from order service\",\n EventSourceArn = orderEventBus.Arn,\n RetentionDays = 7,\n EventPattern = @\"{\n \"\"source\"\": [\"\"company.team.order\"\"]\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torderEventBus, err := cloudwatch.NewEventBus(ctx, \"orderEventBus\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventArchive(ctx, \"orderEventArchive\", \u0026cloudwatch.EventArchiveArgs{\n\t\t\tDescription: pulumi.String(\"Archived events from order service\"),\n\t\t\tEventSourceArn: orderEventBus.Arn,\n\t\t\tRetentionDays: pulumi.Int(7),\n\t\t\tEventPattern: pulumi.String(fmt.Sprintf(\"{\\n \\\"source\\\": [\\\"company.team.order\\\"]\\n}\\n\")),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventArchive;\nimport com.pulumi.aws.cloudwatch.EventArchiveArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var orderEventBus = new EventBus(\"orderEventBus\");\n\n var orderEventArchive = new EventArchive(\"orderEventArchive\", EventArchiveArgs.builder() \n .description(\"Archived events from order service\")\n .eventSourceArn(orderEventBus.arn())\n .retentionDays(7)\n .eventPattern(\"\"\"\n{\n \"source\": [\"company.team.order\"]\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n orderEventBus:\n type: aws:cloudwatch:EventBus\n orderEventArchive:\n type: aws:cloudwatch:EventArchive\n properties:\n description: Archived events from order service\n eventSourceArn: ${orderEventBus.arn}\n retentionDays: 7\n eventPattern: |\n {\n \"source\": [\"company.team.order\"]\n }\n```\n\n\n## Import\n\nEvent Archive can be imported using their name, for example console\n\n```sh\n $ pulumi import aws:cloudwatch/eventArchive:EventArchive imported_event_archive order-archive\n```\n\n ", + "description": "Provides an EventBridge event archive resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst orderEventBus = new aws.cloudwatch.EventBus(\"orderEventBus\", {});\nconst orderEventArchive = new aws.cloudwatch.EventArchive(\"orderEventArchive\", {eventSourceArn: orderEventBus.arn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_event_bus = aws.cloudwatch.EventBus(\"orderEventBus\")\norder_event_archive = aws.cloudwatch.EventArchive(\"orderEventArchive\", event_source_arn=order_event_bus.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var orderEventBus = new Aws.CloudWatch.EventBus(\"orderEventBus\");\n\n var orderEventArchive = new Aws.CloudWatch.EventArchive(\"orderEventArchive\", new()\n {\n EventSourceArn = orderEventBus.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torderEventBus, err := cloudwatch.NewEventBus(ctx, \"orderEventBus\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventArchive(ctx, \"orderEventArchive\", \u0026cloudwatch.EventArchiveArgs{\n\t\t\tEventSourceArn: orderEventBus.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventArchive;\nimport com.pulumi.aws.cloudwatch.EventArchiveArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var orderEventBus = new EventBus(\"orderEventBus\");\n\n var orderEventArchive = new EventArchive(\"orderEventArchive\", EventArchiveArgs.builder() \n .eventSourceArn(orderEventBus.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n orderEventBus:\n type: aws:cloudwatch:EventBus\n orderEventArchive:\n type: aws:cloudwatch:EventArchive\n properties:\n eventSourceArn: ${orderEventBus.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n## Example all optional arguments\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst orderEventBus = new aws.cloudwatch.EventBus(\"orderEventBus\", {});\nconst orderEventArchive = new aws.cloudwatch.EventArchive(\"orderEventArchive\", {\n description: \"Archived events from order service\",\n eventSourceArn: orderEventBus.arn,\n retentionDays: 7,\n eventPattern: `{\n \"source\": [\"company.team.order\"]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\norder_event_bus = aws.cloudwatch.EventBus(\"orderEventBus\")\norder_event_archive = aws.cloudwatch.EventArchive(\"orderEventArchive\",\n description=\"Archived events from order service\",\n event_source_arn=order_event_bus.arn,\n retention_days=7,\n event_pattern=\"\"\"{\n \"source\": [\"company.team.order\"]\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var orderEventBus = new Aws.CloudWatch.EventBus(\"orderEventBus\");\n\n var orderEventArchive = new Aws.CloudWatch.EventArchive(\"orderEventArchive\", new()\n {\n Description = \"Archived events from order service\",\n EventSourceArn = orderEventBus.Arn,\n RetentionDays = 7,\n EventPattern = @\"{\n \"\"source\"\": [\"\"company.team.order\"\"]\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\torderEventBus, err := cloudwatch.NewEventBus(ctx, \"orderEventBus\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventArchive(ctx, \"orderEventArchive\", \u0026cloudwatch.EventArchiveArgs{\n\t\t\tDescription: pulumi.String(\"Archived events from order service\"),\n\t\t\tEventSourceArn: orderEventBus.Arn,\n\t\t\tRetentionDays: pulumi.Int(7),\n\t\t\tEventPattern: pulumi.String(fmt.Sprintf(\"{\\n \\\"source\\\": [\\\"company.team.order\\\"]\\n}\\n\")),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventArchive;\nimport com.pulumi.aws.cloudwatch.EventArchiveArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var orderEventBus = new EventBus(\"orderEventBus\");\n\n var orderEventArchive = new EventArchive(\"orderEventArchive\", EventArchiveArgs.builder() \n .description(\"Archived events from order service\")\n .eventSourceArn(orderEventBus.arn())\n .retentionDays(7)\n .eventPattern(\"\"\"\n{\n \"source\": [\"company.team.order\"]\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n orderEventBus:\n type: aws:cloudwatch:EventBus\n orderEventArchive:\n type: aws:cloudwatch:EventArchive\n properties:\n description: Archived events from order service\n eventSourceArn: ${orderEventBus.arn}\n retentionDays: 7\n eventPattern: |\n {\n \"source\": [\"company.team.order\"]\n }\n```\n\n\n## Import\n\nEvent Archive can be imported using their name, for example console\n\n```sh\n $ pulumi import aws:cloudwatch/eventArchive:EventArchive imported_event_archive order-archive\n```\n\n ", "properties": { "arn": { "type": "string", @@ -405249,7 +408308,7 @@ } }, "aws:cloudwatch/eventBus:EventBus": { - "description": "Provides an EventBridge event bus resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst messenger = new aws.cloudwatch.EventBus(\"messenger\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmessenger = aws.cloudwatch.EventBus(\"messenger\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var messenger = new Aws.CloudWatch.EventBus(\"messenger\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\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 := cloudwatch.NewEventBus(ctx, \"messenger\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventBus;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var messenger = new EventBus(\"messenger\");\n\n }\n}\n```\n```yaml\nresources:\n messenger:\n type: aws:cloudwatch:EventBus\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplepartnerEventSource = aws.cloudwatch.getEventSource({\n namePrefix: \"aws.partner/examplepartner.com\",\n});\nconst examplepartnerEventBus = new aws.cloudwatch.EventBus(\"examplepartnerEventBus\", {eventSourceName: examplepartnerEventSource.then(examplepartnerEventSource =\u003e examplepartnerEventSource.name)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplepartner_event_source = aws.cloudwatch.get_event_source(name_prefix=\"aws.partner/examplepartner.com\")\nexamplepartner_event_bus = aws.cloudwatch.EventBus(\"examplepartnerEventBus\", event_source_name=examplepartner_event_source.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplepartnerEventSource = Aws.CloudWatch.GetEventSource.Invoke(new()\n {\n NamePrefix = \"aws.partner/examplepartner.com\",\n });\n\n var examplepartnerEventBus = new Aws.CloudWatch.EventBus(\"examplepartnerEventBus\", new()\n {\n EventSourceName = examplepartnerEventSource.Apply(getEventSourceResult =\u003e getEventSourceResult.Name),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplepartnerEventSource, err := cloudwatch.GetEventSource(ctx, \u0026cloudwatch.GetEventSourceArgs{\n\t\t\tNamePrefix: pulumi.StringRef(\"aws.partner/examplepartner.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventBus(ctx, \"examplepartnerEventBus\", \u0026cloudwatch.EventBusArgs{\n\t\t\tEventSourceName: pulumi.String(examplepartnerEventSource.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetEventSourceArgs;\nimport com.pulumi.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventBusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var examplepartnerEventSource = CloudwatchFunctions.getEventSource(GetEventSourceArgs.builder()\n .namePrefix(\"aws.partner/examplepartner.com\")\n .build());\n\n var examplepartnerEventBus = new EventBus(\"examplepartnerEventBus\", EventBusArgs.builder() \n .eventSourceName(examplepartnerEventSource.applyValue(getEventSourceResult -\u003e getEventSourceResult.name()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplepartnerEventBus:\n type: aws:cloudwatch:EventBus\n properties:\n eventSourceName: ${examplepartnerEventSource.name}\nvariables:\n examplepartnerEventSource:\n Fn::Invoke:\n Function: aws:cloudwatch:getEventSource\n Arguments:\n namePrefix: aws.partner/examplepartner.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nEventBridge event buses can be imported using the `name` (which can also be a partner event source name), e.g., console\n\n```sh\n $ pulumi import aws:cloudwatch/eventBus:EventBus messenger chat-messages\n```\n\n ", + "description": "Provides an EventBridge event bus resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst messenger = new aws.cloudwatch.EventBus(\"messenger\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmessenger = aws.cloudwatch.EventBus(\"messenger\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var messenger = new Aws.CloudWatch.EventBus(\"messenger\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\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 := cloudwatch.NewEventBus(ctx, \"messenger\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventBus;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var messenger = new EventBus(\"messenger\");\n\n }\n}\n```\n```yaml\nresources:\n messenger:\n type: aws:cloudwatch:EventBus\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplepartnerEventSource = aws.cloudwatch.getEventSource({\n namePrefix: \"aws.partner/examplepartner.com\",\n});\nconst examplepartnerEventBus = new aws.cloudwatch.EventBus(\"examplepartnerEventBus\", {eventSourceName: examplepartnerEventSource.then(examplepartnerEventSource =\u003e examplepartnerEventSource.name)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexamplepartner_event_source = aws.cloudwatch.get_event_source(name_prefix=\"aws.partner/examplepartner.com\")\nexamplepartner_event_bus = aws.cloudwatch.EventBus(\"examplepartnerEventBus\", event_source_name=examplepartner_event_source.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplepartnerEventSource = Aws.CloudWatch.GetEventSource.Invoke(new()\n {\n NamePrefix = \"aws.partner/examplepartner.com\",\n });\n\n var examplepartnerEventBus = new Aws.CloudWatch.EventBus(\"examplepartnerEventBus\", new()\n {\n EventSourceName = examplepartnerEventSource.Apply(getEventSourceResult =\u003e getEventSourceResult.Name),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texamplepartnerEventSource, err := cloudwatch.GetEventSource(ctx, \u0026cloudwatch.GetEventSourceArgs{\n\t\t\tNamePrefix: pulumi.StringRef(\"aws.partner/examplepartner.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewEventBus(ctx, \"examplepartnerEventBus\", \u0026cloudwatch.EventBusArgs{\n\t\t\tEventSourceName: pulumi.String(examplepartnerEventSource.Name),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetEventSourceArgs;\nimport com.pulumi.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.cloudwatch.EventBusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var examplepartnerEventSource = CloudwatchFunctions.getEventSource(GetEventSourceArgs.builder()\n .namePrefix(\"aws.partner/examplepartner.com\")\n .build());\n\n var examplepartnerEventBus = new EventBus(\"examplepartnerEventBus\", EventBusArgs.builder() \n .eventSourceName(examplepartnerEventSource.applyValue(getEventSourceResult -\u003e getEventSourceResult.name()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n examplepartnerEventBus:\n type: aws:cloudwatch:EventBus\n properties:\n eventSourceName: ${examplepartnerEventSource.name}\nvariables:\n examplepartnerEventSource:\n Fn::Invoke:\n Function: aws:cloudwatch:getEventSource\n Arguments:\n namePrefix: aws.partner/examplepartner.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nEventBridge event buses can be imported using the `name` (which can also be a partner event source name), e.g., console\n\n```sh\n $ pulumi import aws:cloudwatch/eventBus:EventBus messenger chat-messages\n```\n\n ", "properties": { "arn": { "type": "string", @@ -405380,7 +408439,7 @@ } }, "aws:cloudwatch/eventConnection:EventConnection": { - "description": "Provides an EventBridge connection resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventConnection(\"test\", {\n authParameters: {\n apiKey: {\n key: \"x-signature\",\n value: \"1234\",\n },\n },\n authorizationType: \"API_KEY\",\n description: \"A connection description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.EventConnection(\"test\",\n auth_parameters=aws.cloudwatch.EventConnectionAuthParametersArgs(\n api_key=aws.cloudwatch.EventConnectionAuthParametersApiKeyArgs(\n key=\"x-signature\",\n value=\"1234\",\n ),\n ),\n authorization_type=\"API_KEY\",\n description=\"A connection description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudWatch.EventConnection(\"test\", new()\n {\n AuthParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersArgs\n {\n ApiKey = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersApiKeyArgs\n {\n Key = \"x-signature\",\n Value = \"1234\",\n },\n },\n AuthorizationType = \"API_KEY\",\n Description = \"A connection description\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\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 := cloudwatch.NewEventConnection(ctx, \"test\", \u0026cloudwatch.EventConnectionArgs{\n\t\t\tAuthParameters: \u0026cloudwatch.EventConnectionAuthParametersArgs{\n\t\t\t\tApiKey: \u0026cloudwatch.EventConnectionAuthParametersApiKeyArgs{\n\t\t\t\t\tKey: pulumi.String(\"x-signature\"),\n\t\t\t\t\tValue: pulumi.String(\"1234\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthorizationType: pulumi.String(\"API_KEY\"),\n\t\t\tDescription: pulumi.String(\"A connection description\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventConnection;\nimport com.pulumi.aws.cloudwatch.EventConnectionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventConnection(\"test\", EventConnectionArgs.builder() \n .authParameters(EventConnectionAuthParametersArgs.builder()\n .apiKey(EventConnectionAuthParametersApiKeyArgs.builder()\n .key(\"x-signature\")\n .value(\"1234\")\n .build())\n .build())\n .authorizationType(\"API_KEY\")\n .description(\"A connection description\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventConnection\n properties:\n authParameters:\n apiKey:\n key: x-signature\n value: 1234\n authorizationType: API_KEY\n description: A connection description\n```\n\n{{% /example %}}\n{{% example %}}\n### Basic Authorization\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventConnection(\"test\", {\n authParameters: {\n basic: {\n password: \"Pass1234!\",\n username: \"user\",\n },\n },\n authorizationType: \"BASIC\",\n description: \"A connection description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.EventConnection(\"test\",\n auth_parameters=aws.cloudwatch.EventConnectionAuthParametersArgs(\n basic=aws.cloudwatch.EventConnectionAuthParametersBasicArgs(\n password=\"Pass1234!\",\n username=\"user\",\n ),\n ),\n authorization_type=\"BASIC\",\n description=\"A connection description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudWatch.EventConnection(\"test\", new()\n {\n AuthParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersArgs\n {\n Basic = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersBasicArgs\n {\n Password = \"Pass1234!\",\n Username = \"user\",\n },\n },\n AuthorizationType = \"BASIC\",\n Description = \"A connection description\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\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 := cloudwatch.NewEventConnection(ctx, \"test\", \u0026cloudwatch.EventConnectionArgs{\n\t\t\tAuthParameters: \u0026cloudwatch.EventConnectionAuthParametersArgs{\n\t\t\t\tBasic: \u0026cloudwatch.EventConnectionAuthParametersBasicArgs{\n\t\t\t\t\tPassword: pulumi.String(\"Pass1234!\"),\n\t\t\t\t\tUsername: pulumi.String(\"user\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthorizationType: pulumi.String(\"BASIC\"),\n\t\t\tDescription: pulumi.String(\"A connection description\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventConnection;\nimport com.pulumi.aws.cloudwatch.EventConnectionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersBasicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventConnection(\"test\", EventConnectionArgs.builder() \n .authParameters(EventConnectionAuthParametersArgs.builder()\n .basic(EventConnectionAuthParametersBasicArgs.builder()\n .password(\"Pass1234!\")\n .username(\"user\")\n .build())\n .build())\n .authorizationType(\"BASIC\")\n .description(\"A connection description\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventConnection\n properties:\n authParameters:\n basic:\n password: Pass1234!\n username: user\n authorizationType: BASIC\n description: A connection description\n```\n\n{{% /example %}}\n{{% example %}}\n### OAuth Authorization\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventConnection(\"test\", {\n authParameters: {\n oauth: {\n authorizationEndpoint: \"https://auth.url.com/endpoint\",\n clientParameters: {\n clientId: \"1234567890\",\n clientSecret: \"Pass1234!\",\n },\n httpMethod: \"GET\",\n oauthHttpParameters: {\n bodies: [{\n isValueSecret: false,\n key: \"body-parameter-key\",\n value: \"body-parameter-value\",\n }],\n headers: [{\n isValueSecret: false,\n key: \"header-parameter-key\",\n value: \"header-parameter-value\",\n }],\n queryStrings: [{\n isValueSecret: false,\n key: \"query-string-parameter-key\",\n value: \"query-string-parameter-value\",\n }],\n },\n },\n },\n authorizationType: \"OAUTH_CLIENT_CREDENTIALS\",\n description: \"A connection description\",\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventConnection;\nimport com.pulumi.aws.cloudwatch.EventConnectionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersOauthArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersOauthClientParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersOauthOauthHttpParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventConnection(\"test\", EventConnectionArgs.builder() \n .authParameters(EventConnectionAuthParametersArgs.builder()\n .oauth(EventConnectionAuthParametersOauthArgs.builder()\n .authorizationEndpoint(\"https://auth.url.com/endpoint\")\n .clientParameters(EventConnectionAuthParametersOauthClientParametersArgs.builder()\n .clientId(\"1234567890\")\n .clientSecret(\"Pass1234!\")\n .build())\n .httpMethod(\"GET\")\n .oauthHttpParameters(EventConnectionAuthParametersOauthOauthHttpParametersArgs.builder()\n .body(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .header(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .queryString(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build())\n .build())\n .authorizationType(\"OAUTH_CLIENT_CREDENTIALS\")\n .description(\"A connection description\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventConnection\n properties:\n authParameters:\n oauth:\n authorizationEndpoint: https://auth.url.com/endpoint\n clientParameters:\n clientId: 1234567890\n clientSecret: Pass1234!\n httpMethod: GET\n oauthHttpParameters:\n body:\n - isValueSecret: false\n key: body-parameter-key\n value: body-parameter-value\n header:\n - isValueSecret: false\n key: header-parameter-key\n value: header-parameter-value\n queryString:\n - isValueSecret: false\n key: query-string-parameter-key\n value: query-string-parameter-value\n authorizationType: OAUTH_CLIENT_CREDENTIALS\n description: A connection description\n```\n\n{{% /example %}}\n{{% example %}}\n### Invocation Http Parameters\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventConnection(\"test\", {\n authParameters: {\n basic: {\n password: \"Pass1234!\",\n username: \"user\",\n },\n invocationHttpParameters: {\n bodies: [\n {\n isValueSecret: false,\n key: \"body-parameter-key\",\n value: \"body-parameter-value\",\n },\n {\n isValueSecret: true,\n key: \"body-parameter-key2\",\n value: \"body-parameter-value2\",\n },\n ],\n headers: [{\n isValueSecret: false,\n key: \"header-parameter-key\",\n value: \"header-parameter-value\",\n }],\n queryStrings: [{\n isValueSecret: false,\n key: \"query-string-parameter-key\",\n value: \"query-string-parameter-value\",\n }],\n },\n },\n authorizationType: \"BASIC\",\n description: \"A connection description\",\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventConnection;\nimport com.pulumi.aws.cloudwatch.EventConnectionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersBasicArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersInvocationHttpParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventConnection(\"test\", EventConnectionArgs.builder() \n .authParameters(EventConnectionAuthParametersArgs.builder()\n .basic(EventConnectionAuthParametersBasicArgs.builder()\n .password(\"Pass1234!\")\n .username(\"user\")\n .build())\n .invocationHttpParameters(EventConnectionAuthParametersInvocationHttpParametersArgs.builder()\n .body( \n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .header(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .queryString(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build())\n .authorizationType(\"BASIC\")\n .description(\"A connection description\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventConnection\n properties:\n authParameters:\n basic:\n password: Pass1234!\n username: user\n invocationHttpParameters:\n body:\n - isValueSecret: false\n key: body-parameter-key\n value: body-parameter-value\n - isValueSecret: true\n key: body-parameter-key2\n value: body-parameter-value2\n header:\n - isValueSecret: false\n key: header-parameter-key\n value: header-parameter-value\n queryString:\n - isValueSecret: false\n key: query-string-parameter-key\n value: query-string-parameter-value\n authorizationType: BASIC\n description: A connection description\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nEventBridge Connection can be imported using the `name`, e.g., console\n\n```sh\n $ pulumi import aws:cloudwatch/eventConnection:EventConnection test ngrok-connection\n```\n\n ", + "description": "Provides an EventBridge connection resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventConnection(\"test\", {\n authParameters: {\n apiKey: {\n key: \"x-signature\",\n value: \"1234\",\n },\n },\n authorizationType: \"API_KEY\",\n description: \"A connection description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.EventConnection(\"test\",\n auth_parameters=aws.cloudwatch.EventConnectionAuthParametersArgs(\n api_key=aws.cloudwatch.EventConnectionAuthParametersApiKeyArgs(\n key=\"x-signature\",\n value=\"1234\",\n ),\n ),\n authorization_type=\"API_KEY\",\n description=\"A connection description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudWatch.EventConnection(\"test\", new()\n {\n AuthParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersArgs\n {\n ApiKey = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersApiKeyArgs\n {\n Key = \"x-signature\",\n Value = \"1234\",\n },\n },\n AuthorizationType = \"API_KEY\",\n Description = \"A connection description\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\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 := cloudwatch.NewEventConnection(ctx, \"test\", \u0026cloudwatch.EventConnectionArgs{\n\t\t\tAuthParameters: \u0026cloudwatch.EventConnectionAuthParametersArgs{\n\t\t\t\tApiKey: \u0026cloudwatch.EventConnectionAuthParametersApiKeyArgs{\n\t\t\t\t\tKey: pulumi.String(\"x-signature\"),\n\t\t\t\t\tValue: pulumi.String(\"1234\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthorizationType: pulumi.String(\"API_KEY\"),\n\t\t\tDescription: pulumi.String(\"A connection description\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventConnection;\nimport com.pulumi.aws.cloudwatch.EventConnectionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventConnection(\"test\", EventConnectionArgs.builder() \n .authParameters(EventConnectionAuthParametersArgs.builder()\n .apiKey(EventConnectionAuthParametersApiKeyArgs.builder()\n .key(\"x-signature\")\n .value(\"1234\")\n .build())\n .build())\n .authorizationType(\"API_KEY\")\n .description(\"A connection description\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventConnection\n properties:\n authParameters:\n apiKey:\n key: x-signature\n value: 1234\n authorizationType: API_KEY\n description: A connection description\n```\n\n{{% /example %}}\n{{% example %}}\n### Basic Authorization\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventConnection(\"test\", {\n authParameters: {\n basic: {\n password: \"Pass1234!\",\n username: \"user\",\n },\n },\n authorizationType: \"BASIC\",\n description: \"A connection description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.EventConnection(\"test\",\n auth_parameters=aws.cloudwatch.EventConnectionAuthParametersArgs(\n basic=aws.cloudwatch.EventConnectionAuthParametersBasicArgs(\n password=\"Pass1234!\",\n username=\"user\",\n ),\n ),\n authorization_type=\"BASIC\",\n description=\"A connection description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.CloudWatch.EventConnection(\"test\", new()\n {\n AuthParameters = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersArgs\n {\n Basic = new Aws.CloudWatch.Inputs.EventConnectionAuthParametersBasicArgs\n {\n Password = \"Pass1234!\",\n Username = \"user\",\n },\n },\n AuthorizationType = \"BASIC\",\n Description = \"A connection description\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\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 := cloudwatch.NewEventConnection(ctx, \"test\", \u0026cloudwatch.EventConnectionArgs{\n\t\t\tAuthParameters: \u0026cloudwatch.EventConnectionAuthParametersArgs{\n\t\t\t\tBasic: \u0026cloudwatch.EventConnectionAuthParametersBasicArgs{\n\t\t\t\t\tPassword: pulumi.String(\"Pass1234!\"),\n\t\t\t\t\tUsername: pulumi.String(\"user\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthorizationType: pulumi.String(\"BASIC\"),\n\t\t\tDescription: pulumi.String(\"A connection description\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventConnection;\nimport com.pulumi.aws.cloudwatch.EventConnectionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersBasicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventConnection(\"test\", EventConnectionArgs.builder() \n .authParameters(EventConnectionAuthParametersArgs.builder()\n .basic(EventConnectionAuthParametersBasicArgs.builder()\n .password(\"Pass1234!\")\n .username(\"user\")\n .build())\n .build())\n .authorizationType(\"BASIC\")\n .description(\"A connection description\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventConnection\n properties:\n authParameters:\n basic:\n password: Pass1234!\n username: user\n authorizationType: BASIC\n description: A connection description\n```\n\n{{% /example %}}\n{{% example %}}\n### OAuth Authorization\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventConnection(\"test\", {\n authParameters: {\n oauth: {\n authorizationEndpoint: \"https://auth.url.com/endpoint\",\n clientParameters: {\n clientId: \"1234567890\",\n clientSecret: \"Pass1234!\",\n },\n httpMethod: \"GET\",\n oauthHttpParameters: {\n bodies: [{\n isValueSecret: false,\n key: \"body-parameter-key\",\n value: \"body-parameter-value\",\n }],\n headers: [{\n isValueSecret: false,\n key: \"header-parameter-key\",\n value: \"header-parameter-value\",\n }],\n queryStrings: [{\n isValueSecret: false,\n key: \"query-string-parameter-key\",\n value: \"query-string-parameter-value\",\n }],\n },\n },\n },\n authorizationType: \"OAUTH_CLIENT_CREDENTIALS\",\n description: \"A connection description\",\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventConnection;\nimport com.pulumi.aws.cloudwatch.EventConnectionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersOauthArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersOauthClientParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersOauthOauthHttpParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventConnection(\"test\", EventConnectionArgs.builder() \n .authParameters(EventConnectionAuthParametersArgs.builder()\n .oauth(EventConnectionAuthParametersOauthArgs.builder()\n .authorizationEndpoint(\"https://auth.url.com/endpoint\")\n .clientParameters(EventConnectionAuthParametersOauthClientParametersArgs.builder()\n .clientId(\"1234567890\")\n .clientSecret(\"Pass1234!\")\n .build())\n .httpMethod(\"GET\")\n .oauthHttpParameters(EventConnectionAuthParametersOauthOauthHttpParametersArgs.builder()\n .body(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .header(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .queryString(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build())\n .build())\n .authorizationType(\"OAUTH_CLIENT_CREDENTIALS\")\n .description(\"A connection description\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventConnection\n properties:\n authParameters:\n oauth:\n authorizationEndpoint: https://auth.url.com/endpoint\n clientParameters:\n clientId: 1234567890\n clientSecret: Pass1234!\n httpMethod: GET\n oauthHttpParameters:\n body:\n - isValueSecret: false\n key: body-parameter-key\n value: body-parameter-value\n header:\n - isValueSecret: false\n key: header-parameter-key\n value: header-parameter-value\n queryString:\n - isValueSecret: false\n key: query-string-parameter-key\n value: query-string-parameter-value\n authorizationType: OAUTH_CLIENT_CREDENTIALS\n description: A connection description\n```\n\n{{% /example %}}\n{{% example %}}\n### Invocation Http Parameters\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cloudwatch.EventConnection(\"test\", {\n authParameters: {\n basic: {\n password: \"Pass1234!\",\n username: \"user\",\n },\n invocationHttpParameters: {\n bodies: [\n {\n isValueSecret: false,\n key: \"body-parameter-key\",\n value: \"body-parameter-value\",\n },\n {\n isValueSecret: true,\n key: \"body-parameter-key2\",\n value: \"body-parameter-value2\",\n },\n ],\n headers: [{\n isValueSecret: false,\n key: \"header-parameter-key\",\n value: \"header-parameter-value\",\n }],\n queryStrings: [{\n isValueSecret: false,\n key: \"query-string-parameter-key\",\n value: \"query-string-parameter-value\",\n }],\n },\n },\n authorizationType: \"BASIC\",\n description: \"A connection description\",\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventConnection;\nimport com.pulumi.aws.cloudwatch.EventConnectionArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersBasicArgs;\nimport com.pulumi.aws.cloudwatch.inputs.EventConnectionAuthParametersInvocationHttpParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new EventConnection(\"test\", EventConnectionArgs.builder() \n .authParameters(EventConnectionAuthParametersArgs.builder()\n .basic(EventConnectionAuthParametersBasicArgs.builder()\n .password(\"Pass1234!\")\n .username(\"user\")\n .build())\n .invocationHttpParameters(EventConnectionAuthParametersInvocationHttpParametersArgs.builder()\n .body( \n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .header(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .queryString(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build())\n .authorizationType(\"BASIC\")\n .description(\"A connection description\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:EventConnection\n properties:\n authParameters:\n basic:\n password: Pass1234!\n username: user\n invocationHttpParameters:\n body:\n - isValueSecret: false\n key: body-parameter-key\n value: body-parameter-value\n - isValueSecret: true\n key: body-parameter-key2\n value: body-parameter-value2\n header:\n - isValueSecret: false\n key: header-parameter-key\n value: header-parameter-value\n queryString:\n - isValueSecret: false\n key: query-string-parameter-key\n value: query-string-parameter-value\n authorizationType: BASIC\n description: A connection description\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nEventBridge Connection can be imported using the `name`, e.g., console\n\n```sh\n $ pulumi import aws:cloudwatch/eventConnection:EventConnection test ngrok-connection\n```\n\n ", "properties": { "arn": { "type": "string", @@ -409334,6 +412393,195 @@ "type": "object" } }, + "aws:codepipeline/customActionType:CustomActionType": { + "description": "Provides a CodeDeploy CustomActionType\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codepipeline.CustomActionType(\"example\", {\n category: \"Build\",\n inputArtifactDetails: {\n maximumCount: 1,\n minimumCount: 0,\n },\n outputArtifactDetails: {\n maximumCount: 1,\n minimumCount: 0,\n },\n providerName: \"example\",\n version: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codepipeline.CustomActionType(\"example\",\n category=\"Build\",\n input_artifact_details=aws.codepipeline.CustomActionTypeInputArtifactDetailsArgs(\n maximum_count=1,\n minimum_count=0,\n ),\n output_artifact_details=aws.codepipeline.CustomActionTypeOutputArtifactDetailsArgs(\n maximum_count=1,\n minimum_count=0,\n ),\n provider_name=\"example\",\n version=\"1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodePipeline.CustomActionType(\"example\", new()\n {\n Category = \"Build\",\n InputArtifactDetails = new Aws.CodePipeline.Inputs.CustomActionTypeInputArtifactDetailsArgs\n {\n MaximumCount = 1,\n MinimumCount = 0,\n },\n OutputArtifactDetails = new Aws.CodePipeline.Inputs.CustomActionTypeOutputArtifactDetailsArgs\n {\n MaximumCount = 1,\n MinimumCount = 0,\n },\n ProviderName = \"example\",\n Version = \"1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/codepipeline\"\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 := codepipeline.NewCustomActionType(ctx, \"example\", \u0026codepipeline.CustomActionTypeArgs{\n\t\t\tCategory: pulumi.String(\"Build\"),\n\t\t\tInputArtifactDetails: \u0026codepipeline.CustomActionTypeInputArtifactDetailsArgs{\n\t\t\t\tMaximumCount: pulumi.Int(1),\n\t\t\t\tMinimumCount: pulumi.Int(0),\n\t\t\t},\n\t\t\tOutputArtifactDetails: \u0026codepipeline.CustomActionTypeOutputArtifactDetailsArgs{\n\t\t\t\tMaximumCount: pulumi.Int(1),\n\t\t\t\tMinimumCount: pulumi.Int(0),\n\t\t\t},\n\t\t\tProviderName: pulumi.String(\"example\"),\n\t\t\tVersion: pulumi.String(\"1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codepipeline.CustomActionType;\nimport com.pulumi.aws.codepipeline.CustomActionTypeArgs;\nimport com.pulumi.aws.codepipeline.inputs.CustomActionTypeInputArtifactDetailsArgs;\nimport com.pulumi.aws.codepipeline.inputs.CustomActionTypeOutputArtifactDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CustomActionType(\"example\", CustomActionTypeArgs.builder() \n .category(\"Build\")\n .inputArtifactDetails(CustomActionTypeInputArtifactDetailsArgs.builder()\n .maximumCount(1)\n .minimumCount(0)\n .build())\n .outputArtifactDetails(CustomActionTypeOutputArtifactDetailsArgs.builder()\n .maximumCount(1)\n .minimumCount(0)\n .build())\n .providerName(\"example\")\n .version(\"1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codepipeline:CustomActionType\n properties:\n category: Build\n inputArtifactDetails:\n maximumCount: 1\n minimumCount: 0\n outputArtifactDetails:\n maximumCount: 1\n minimumCount: 0\n providerName: example\n version: 1\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nCodeDeploy CustomActionType can be imported using the `id`, e.g.\n\n```sh\n $ pulumi import aws:codepipeline/customActionType:CustomActionType example Build:terraform:1\n```\n\n ", + "properties": { + "arn": { + "type": "string", + "description": "The action ARN.\n" + }, + "category": { + "type": "string", + "description": "The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval`\n" + }, + "configurationProperties": { + "type": "array", + "items": { + "$ref": "#/types/aws:codepipeline/CustomActionTypeConfigurationProperty:CustomActionTypeConfigurationProperty" + }, + "description": "The configuration properties for the custom action. Max 10 items.\n" + }, + "inputArtifactDetails": { + "$ref": "#/types/aws:codepipeline/CustomActionTypeInputArtifactDetails:CustomActionTypeInputArtifactDetails", + "description": "The details of the input artifact for the action.\n" + }, + "outputArtifactDetails": { + "$ref": "#/types/aws:codepipeline/CustomActionTypeOutputArtifactDetails:CustomActionTypeOutputArtifactDetails", + "description": "The details of the output artifact of the action.\n" + }, + "owner": { + "type": "string", + "description": "The creator of the action being called.\n" + }, + "providerName": { + "type": "string", + "description": "The provider of the service used in the custom action\n" + }, + "settings": { + "$ref": "#/types/aws:codepipeline/CustomActionTypeSettings:CustomActionTypeSettings", + "description": "The settings for an action type.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "version": { + "type": "string", + "description": "The version identifier of the custom action.\n" + } + }, + "required": [ + "arn", + "category", + "inputArtifactDetails", + "outputArtifactDetails", + "owner", + "providerName", + "tagsAll", + "version" + ], + "inputProperties": { + "category": { + "type": "string", + "description": "The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval`\n", + "willReplaceOnChanges": true + }, + "configurationProperties": { + "type": "array", + "items": { + "$ref": "#/types/aws:codepipeline/CustomActionTypeConfigurationProperty:CustomActionTypeConfigurationProperty" + }, + "description": "The configuration properties for the custom action. Max 10 items.\n", + "willReplaceOnChanges": true + }, + "inputArtifactDetails": { + "$ref": "#/types/aws:codepipeline/CustomActionTypeInputArtifactDetails:CustomActionTypeInputArtifactDetails", + "description": "The details of the input artifact for the action.\n", + "willReplaceOnChanges": true + }, + "outputArtifactDetails": { + "$ref": "#/types/aws:codepipeline/CustomActionTypeOutputArtifactDetails:CustomActionTypeOutputArtifactDetails", + "description": "The details of the output artifact of the action.\n", + "willReplaceOnChanges": true + }, + "providerName": { + "type": "string", + "description": "The provider of the service used in the custom action\n", + "willReplaceOnChanges": true + }, + "settings": { + "$ref": "#/types/aws:codepipeline/CustomActionTypeSettings:CustomActionTypeSettings", + "description": "The settings for an action type.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "version": { + "type": "string", + "description": "The version identifier of the custom action.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "category", + "inputArtifactDetails", + "outputArtifactDetails", + "providerName", + "version" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CustomActionType resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "The action ARN.\n" + }, + "category": { + "type": "string", + "description": "The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval`\n", + "willReplaceOnChanges": true + }, + "configurationProperties": { + "type": "array", + "items": { + "$ref": "#/types/aws:codepipeline/CustomActionTypeConfigurationProperty:CustomActionTypeConfigurationProperty" + }, + "description": "The configuration properties for the custom action. Max 10 items.\n", + "willReplaceOnChanges": true + }, + "inputArtifactDetails": { + "$ref": "#/types/aws:codepipeline/CustomActionTypeInputArtifactDetails:CustomActionTypeInputArtifactDetails", + "description": "The details of the input artifact for the action.\n", + "willReplaceOnChanges": true + }, + "outputArtifactDetails": { + "$ref": "#/types/aws:codepipeline/CustomActionTypeOutputArtifactDetails:CustomActionTypeOutputArtifactDetails", + "description": "The details of the output artifact of the action.\n", + "willReplaceOnChanges": true + }, + "owner": { + "type": "string", + "description": "The creator of the action being called.\n" + }, + "providerName": { + "type": "string", + "description": "The provider of the service used in the custom action\n", + "willReplaceOnChanges": true + }, + "settings": { + "$ref": "#/types/aws:codepipeline/CustomActionTypeSettings:CustomActionTypeSettings", + "description": "The settings for an action type.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "version": { + "type": "string", + "description": "The version identifier of the custom action.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "aws:codepipeline/pipeline:Pipeline": { "description": "Provides a CodePipeline.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codestarconnections.Connection(\"example\", {providerType: \"GitHub\"});\nconst codepipelineBucket = new aws.s3.BucketV2(\"codepipelineBucket\", {});\nconst codepipelineRole = new aws.iam.Role(\"codepipelineRole\", {assumeRolePolicy: `{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"codepipeline.amazonaws.com\"\n },\n \"Action\": \"sts:AssumeRole\"\n }\n ]\n}\n`});\nconst s3kmskey = aws.kms.getAlias({\n name: \"alias/myKmsKey\",\n});\nconst codepipeline = new aws.codepipeline.Pipeline(\"codepipeline\", {\n roleArn: codepipelineRole.arn,\n artifactStores: [{\n location: codepipelineBucket.bucket,\n type: \"S3\",\n encryptionKey: {\n id: s3kmskey.then(s3kmskey =\u003e s3kmskey.arn),\n type: \"KMS\",\n },\n }],\n stages: [\n {\n name: \"Source\",\n actions: [{\n name: \"Source\",\n category: \"Source\",\n owner: \"AWS\",\n provider: \"CodeStarSourceConnection\",\n version: \"1\",\n outputArtifacts: [\"source_output\"],\n configuration: {\n ConnectionArn: example.arn,\n FullRepositoryId: \"my-organization/example\",\n BranchName: \"main\",\n },\n }],\n },\n {\n name: \"Build\",\n actions: [{\n name: \"Build\",\n category: \"Build\",\n owner: \"AWS\",\n provider: \"CodeBuild\",\n inputArtifacts: [\"source_output\"],\n outputArtifacts: [\"build_output\"],\n version: \"1\",\n configuration: {\n ProjectName: \"test\",\n },\n }],\n },\n {\n name: \"Deploy\",\n actions: [{\n name: \"Deploy\",\n category: \"Deploy\",\n owner: \"AWS\",\n provider: \"CloudFormation\",\n inputArtifacts: [\"build_output\"],\n version: \"1\",\n configuration: {\n ActionMode: \"REPLACE_ON_FAILURE\",\n Capabilities: \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\",\n OutputFileName: \"CreateStackOutput.json\",\n StackName: \"MyStack\",\n TemplatePath: \"build_output::sam-templated.yaml\",\n },\n }],\n },\n ],\n});\nconst codepipelineBucketAcl = new aws.s3.BucketAclV2(\"codepipelineBucketAcl\", {\n bucket: codepipelineBucket.id,\n acl: \"private\",\n});\nconst codepipelinePolicy = new aws.iam.RolePolicy(\"codepipelinePolicy\", {\n role: codepipelineRole.id,\n policy: pulumi.interpolate`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\":\"Allow\",\n \"Action\": [\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\"\n ],\n \"Resource\": [\n \"${codepipelineBucket.arn}\",\n \"${codepipelineBucket.arn}/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"codestar-connections:UseConnection\"\n ],\n \"Resource\": \"${example.arn}\"\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\"\n ],\n \"Resource\": \"*\"\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codestarconnections.Connection(\"example\", provider_type=\"GitHub\")\ncodepipeline_bucket = aws.s3.BucketV2(\"codepipelineBucket\")\ncodepipeline_role = aws.iam.Role(\"codepipelineRole\", assume_role_policy=\"\"\"{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"codepipeline.amazonaws.com\"\n },\n \"Action\": \"sts:AssumeRole\"\n }\n ]\n}\n\"\"\")\ns3kmskey = aws.kms.get_alias(name=\"alias/myKmsKey\")\ncodepipeline = aws.codepipeline.Pipeline(\"codepipeline\",\n role_arn=codepipeline_role.arn,\n artifact_stores=[aws.codepipeline.PipelineArtifactStoreArgs(\n location=codepipeline_bucket.bucket,\n type=\"S3\",\n encryption_key=aws.codepipeline.PipelineArtifactStoreEncryptionKeyArgs(\n id=s3kmskey.arn,\n type=\"KMS\",\n ),\n )],\n stages=[\n aws.codepipeline.PipelineStageArgs(\n name=\"Source\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Source\",\n category=\"Source\",\n owner=\"AWS\",\n provider=\"CodeStarSourceConnection\",\n version=\"1\",\n output_artifacts=[\"source_output\"],\n configuration={\n \"ConnectionArn\": example.arn,\n \"FullRepositoryId\": \"my-organization/example\",\n \"BranchName\": \"main\",\n },\n )],\n ),\n aws.codepipeline.PipelineStageArgs(\n name=\"Build\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Build\",\n category=\"Build\",\n owner=\"AWS\",\n provider=\"CodeBuild\",\n input_artifacts=[\"source_output\"],\n output_artifacts=[\"build_output\"],\n version=\"1\",\n configuration={\n \"ProjectName\": \"test\",\n },\n )],\n ),\n aws.codepipeline.PipelineStageArgs(\n name=\"Deploy\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Deploy\",\n category=\"Deploy\",\n owner=\"AWS\",\n provider=\"CloudFormation\",\n input_artifacts=[\"build_output\"],\n version=\"1\",\n configuration={\n \"ActionMode\": \"REPLACE_ON_FAILURE\",\n \"Capabilities\": \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\",\n \"OutputFileName\": \"CreateStackOutput.json\",\n \"StackName\": \"MyStack\",\n \"TemplatePath\": \"build_output::sam-templated.yaml\",\n },\n )],\n ),\n ])\ncodepipeline_bucket_acl = aws.s3.BucketAclV2(\"codepipelineBucketAcl\",\n bucket=codepipeline_bucket.id,\n acl=\"private\")\ncodepipeline_policy = aws.iam.RolePolicy(\"codepipelinePolicy\",\n role=codepipeline_role.id,\n policy=pulumi.Output.all(codepipeline_bucket.arn, codepipeline_bucket.arn, example.arn).apply(lambda codepipelineBucketArn, codepipelineBucketArn1, exampleArn: f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Effect\":\"Allow\",\n \"Action\": [\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\"\n ],\n \"Resource\": [\n \"{codepipeline_bucket_arn}\",\n \"{codepipeline_bucket_arn1}/*\"\n ]\n }},\n {{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"codestar-connections:UseConnection\"\n ],\n \"Resource\": \"{example_arn}\"\n }},\n {{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\"\n ],\n \"Resource\": \"*\"\n }}\n ]\n}}\n\"\"\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeStarConnections.Connection(\"example\", new()\n {\n ProviderType = \"GitHub\",\n });\n\n var codepipelineBucket = new Aws.S3.BucketV2(\"codepipelineBucket\");\n\n var codepipelineRole = new Aws.Iam.Role(\"codepipelineRole\", new()\n {\n AssumeRolePolicy = @\"{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Principal\"\": {\n \"\"Service\"\": \"\"codepipeline.amazonaws.com\"\"\n },\n \"\"Action\"\": \"\"sts:AssumeRole\"\"\n }\n ]\n}\n\",\n });\n\n var s3kmskey = Aws.Kms.GetAlias.Invoke(new()\n {\n Name = \"alias/myKmsKey\",\n });\n\n var codepipeline = new Aws.CodePipeline.Pipeline(\"codepipeline\", new()\n {\n RoleArn = codepipelineRole.Arn,\n ArtifactStores = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineArtifactStoreArgs\n {\n Location = codepipelineBucket.Bucket,\n Type = \"S3\",\n EncryptionKey = new Aws.CodePipeline.Inputs.PipelineArtifactStoreEncryptionKeyArgs\n {\n Id = s3kmskey.Apply(getAliasResult =\u003e getAliasResult.Arn),\n Type = \"KMS\",\n },\n },\n },\n Stages = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Source\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Source\",\n Category = \"Source\",\n Owner = \"AWS\",\n Provider = \"CodeStarSourceConnection\",\n Version = \"1\",\n OutputArtifacts = new[]\n {\n \"source_output\",\n },\n Configuration = \n {\n { \"ConnectionArn\", example.Arn },\n { \"FullRepositoryId\", \"my-organization/example\" },\n { \"BranchName\", \"main\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Build\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Build\",\n Category = \"Build\",\n Owner = \"AWS\",\n Provider = \"CodeBuild\",\n InputArtifacts = new[]\n {\n \"source_output\",\n },\n OutputArtifacts = new[]\n {\n \"build_output\",\n },\n Version = \"1\",\n Configuration = \n {\n { \"ProjectName\", \"test\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Deploy\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Deploy\",\n Category = \"Deploy\",\n Owner = \"AWS\",\n Provider = \"CloudFormation\",\n InputArtifacts = new[]\n {\n \"build_output\",\n },\n Version = \"1\",\n Configuration = \n {\n { \"ActionMode\", \"REPLACE_ON_FAILURE\" },\n { \"Capabilities\", \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\" },\n { \"OutputFileName\", \"CreateStackOutput.json\" },\n { \"StackName\", \"MyStack\" },\n { \"TemplatePath\", \"build_output::sam-templated.yaml\" },\n },\n },\n },\n },\n },\n });\n\n var codepipelineBucketAcl = new Aws.S3.BucketAclV2(\"codepipelineBucketAcl\", new()\n {\n Bucket = codepipelineBucket.Id,\n Acl = \"private\",\n });\n\n var codepipelinePolicy = new Aws.Iam.RolePolicy(\"codepipelinePolicy\", new()\n {\n Role = codepipelineRole.Id,\n Policy = Output.Tuple(codepipelineBucket.Arn, codepipelineBucket.Arn, example.Arn).Apply(values =\u003e\n {\n var codepipelineBucketArn = values.Item1;\n var codepipelineBucketArn1 = values.Item2;\n var exampleArn = values.Item3;\n return @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Effect\"\":\"\"Allow\"\",\n \"\"Action\"\": [\n \"\"s3:GetObject\"\",\n \"\"s3:GetObjectVersion\"\",\n \"\"s3:GetBucketVersioning\"\",\n \"\"s3:PutObjectAcl\"\",\n \"\"s3:PutObject\"\"\n ],\n \"\"Resource\"\": [\n \"\"{codepipelineBucketArn}\"\",\n \"\"{codepipelineBucketArn1}/*\"\"\n ]\n }},\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Action\"\": [\n \"\"codestar-connections:UseConnection\"\"\n ],\n \"\"Resource\"\": \"\"{exampleArn}\"\"\n }},\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Action\"\": [\n \"\"codebuild:BatchGetBuilds\"\",\n \"\"codebuild:StartBuild\"\"\n ],\n \"\"Resource\"\": \"\"*\"\"\n }}\n ]\n}}\n\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/codepipeline\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/codestarconnections\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := codestarconnections.NewConnection(ctx, \"example\", \u0026codestarconnections.ConnectionArgs{\n\t\t\tProviderType: pulumi.String(\"GitHub\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelineBucket, err := s3.NewBucketV2(ctx, \"codepipelineBucket\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelineRole, err := iam.NewRole(ctx, \"codepipelineRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"codepipeline.amazonaws.com\"\n },\n \"Action\": \"sts:AssumeRole\"\n }\n ]\n}\n`)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3kmskey, err := kms.LookupAlias(ctx, \u0026kms.LookupAliasArgs{\n\t\t\tName: \"alias/myKmsKey\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codepipeline.NewPipeline(ctx, \"codepipeline\", \u0026codepipeline.PipelineArgs{\n\t\t\tRoleArn: codepipelineRole.Arn,\n\t\t\tArtifactStores: codepipeline.PipelineArtifactStoreArray{\n\t\t\t\t\u0026codepipeline.PipelineArtifactStoreArgs{\n\t\t\t\t\tLocation: codepipelineBucket.Bucket,\n\t\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\t\tEncryptionKey: \u0026codepipeline.PipelineArtifactStoreEncryptionKeyArgs{\n\t\t\t\t\t\tId: pulumi.String(s3kmskey.Arn),\n\t\t\t\t\t\tType: pulumi.String(\"KMS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStages: codepipeline.PipelineStageArray{\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeStarSourceConnection\"),\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ConnectionArn\": example.Arn,\n\t\t\t\t\t\t\t\t\"FullRepositoryId\": pulumi.String(\"my-organization/example\"),\n\t\t\t\t\t\t\t\t\"BranchName\": pulumi.String(\"main\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeBuild\"),\n\t\t\t\t\t\t\tInputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"build_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ProjectName\": pulumi.String(\"test\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Deploy\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CloudFormation\"),\n\t\t\t\t\t\t\tInputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"build_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ActionMode\": pulumi.String(\"REPLACE_ON_FAILURE\"),\n\t\t\t\t\t\t\t\t\"Capabilities\": pulumi.String(\"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\"),\n\t\t\t\t\t\t\t\t\"OutputFileName\": pulumi.String(\"CreateStackOutput.json\"),\n\t\t\t\t\t\t\t\t\"StackName\": pulumi.String(\"MyStack\"),\n\t\t\t\t\t\t\t\t\"TemplatePath\": pulumi.String(\"build_output::sam-templated.yaml\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"codepipelineBucketAcl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: codepipelineBucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"codepipelinePolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: codepipelineRole.ID(),\n\t\t\tPolicy: pulumi.All(codepipelineBucket.Arn, codepipelineBucket.Arn, example.Arn).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tcodepipelineBucketArn := _args[0].(string)\n\t\t\t\tcodepipelineBucketArn1 := _args[1].(string)\n\t\t\t\texampleArn := _args[2].(string)\n\t\t\t\treturn fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\":\"Allow\",\n \"Action\": [\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\"\n ],\n \"Resource\": [\n \"%v\",\n \"%v/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"codestar-connections:UseConnection\"\n ],\n \"Resource\": \"%v\"\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\"\n ],\n \"Resource\": \"*\"\n }\n ]\n}\n`, codepipelineBucketArn, codepipelineBucketArn1, exampleArn), nil\n\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codestarconnections.Connection;\nimport com.pulumi.aws.codestarconnections.ConnectionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetAliasArgs;\nimport com.pulumi.aws.codepipeline.Pipeline;\nimport com.pulumi.aws.codepipeline.PipelineArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreEncryptionKeyArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineStageArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Connection(\"example\", ConnectionArgs.builder() \n .providerType(\"GitHub\")\n .build());\n\n var codepipelineBucket = new BucketV2(\"codepipelineBucket\");\n\n var codepipelineRole = new Role(\"codepipelineRole\", RoleArgs.builder() \n .assumeRolePolicy(\"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"codepipeline.amazonaws.com\"\n },\n \"Action\": \"sts:AssumeRole\"\n }\n ]\n}\n \"\"\")\n .build());\n\n final var s3kmskey = KmsFunctions.getAlias(GetAliasArgs.builder()\n .name(\"alias/myKmsKey\")\n .build());\n\n var codepipeline = new Pipeline(\"codepipeline\", PipelineArgs.builder() \n .roleArn(codepipelineRole.arn())\n .artifactStores(PipelineArtifactStoreArgs.builder()\n .location(codepipelineBucket.bucket())\n .type(\"S3\")\n .encryptionKey(PipelineArtifactStoreEncryptionKeyArgs.builder()\n .id(s3kmskey.applyValue(getAliasResult -\u003e getAliasResult.arn()))\n .type(\"KMS\")\n .build())\n .build())\n .stages( \n PipelineStageArgs.builder()\n .name(\"Source\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Source\")\n .category(\"Source\")\n .owner(\"AWS\")\n .provider(\"CodeStarSourceConnection\")\n .version(\"1\")\n .outputArtifacts(\"source_output\")\n .configuration(Map.ofEntries(\n Map.entry(\"ConnectionArn\", example.arn()),\n Map.entry(\"FullRepositoryId\", \"my-organization/example\"),\n Map.entry(\"BranchName\", \"main\")\n ))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Build\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Build\")\n .category(\"Build\")\n .owner(\"AWS\")\n .provider(\"CodeBuild\")\n .inputArtifacts(\"source_output\")\n .outputArtifacts(\"build_output\")\n .version(\"1\")\n .configuration(Map.of(\"ProjectName\", \"test\"))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Deploy\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Deploy\")\n .category(\"Deploy\")\n .owner(\"AWS\")\n .provider(\"CloudFormation\")\n .inputArtifacts(\"build_output\")\n .version(\"1\")\n .configuration(Map.ofEntries(\n Map.entry(\"ActionMode\", \"REPLACE_ON_FAILURE\"),\n Map.entry(\"Capabilities\", \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\"),\n Map.entry(\"OutputFileName\", \"CreateStackOutput.json\"),\n Map.entry(\"StackName\", \"MyStack\"),\n Map.entry(\"TemplatePath\", \"build_output::sam-templated.yaml\")\n ))\n .build())\n .build())\n .build());\n\n var codepipelineBucketAcl = new BucketAclV2(\"codepipelineBucketAcl\", BucketAclV2Args.builder() \n .bucket(codepipelineBucket.id())\n .acl(\"private\")\n .build());\n\n var codepipelinePolicy = new RolePolicy(\"codepipelinePolicy\", RolePolicyArgs.builder() \n .role(codepipelineRole.id())\n .policy(Output.tuple(codepipelineBucket.arn(), codepipelineBucket.arn(), example.arn()).applyValue(values -\u003e {\n var codepipelineBucketArn = values.t1;\n var codepipelineBucketArn1 = values.t2;\n var exampleArn = values.t3;\n return \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\":\"Allow\",\n \"Action\": [\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\"\n ],\n \"Resource\": [\n \"%s\",\n \"%s/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"codestar-connections:UseConnection\"\n ],\n \"Resource\": \"%s\"\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\"\n ],\n \"Resource\": \"*\"\n }\n ]\n}\n\", codepipelineBucketArn,codepipelineBucketArn1,exampleArn);\n }))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n codepipeline:\n type: aws:codepipeline:Pipeline\n properties:\n roleArn: ${codepipelineRole.arn}\n artifactStores:\n - location: ${codepipelineBucket.bucket}\n type: S3\n encryptionKey:\n id: ${s3kmskey.arn}\n type: KMS\n stages:\n - name: Source\n actions:\n - name: Source\n category: Source\n owner: AWS\n provider: CodeStarSourceConnection\n version: 1\n outputArtifacts:\n - source_output\n configuration:\n ConnectionArn: ${example.arn}\n FullRepositoryId: my-organization/example\n BranchName: main\n - name: Build\n actions:\n - name: Build\n category: Build\n owner: AWS\n provider: CodeBuild\n inputArtifacts:\n - source_output\n outputArtifacts:\n - build_output\n version: 1\n configuration:\n ProjectName: test\n - name: Deploy\n actions:\n - name: Deploy\n category: Deploy\n owner: AWS\n provider: CloudFormation\n inputArtifacts:\n - build_output\n version: 1\n configuration:\n ActionMode: REPLACE_ON_FAILURE\n Capabilities: CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\n OutputFileName: CreateStackOutput.json\n StackName: MyStack\n TemplatePath: build_output::sam-templated.yaml\n example:\n type: aws:codestarconnections:Connection\n properties:\n providerType: GitHub\n codepipelineBucket:\n type: aws:s3:BucketV2\n codepipelineBucketAcl:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${codepipelineBucket.id}\n acl: private\n codepipelineRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"codepipeline.amazonaws.com\"\n },\n \"Action\": \"sts:AssumeRole\"\n }\n ]\n }\n codepipelinePolicy:\n type: aws:iam:RolePolicy\n properties:\n role: ${codepipelineRole.id}\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\":\"Allow\",\n \"Action\": [\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\"\n ],\n \"Resource\": [\n \"${codepipelineBucket.arn}\",\n \"${codepipelineBucket.arn}/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"codestar-connections:UseConnection\"\n ],\n \"Resource\": \"${example.arn}\"\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\"\n ],\n \"Resource\": \"*\"\n }\n ]\n }\nvariables:\n s3kmskey:\n Fn::Invoke:\n Function: aws:kms:getAlias\n Arguments:\n name: alias/myKmsKey\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nCodePipelines can be imported using the name, e.g.,\n\n```sh\n $ pulumi import aws:codepipeline/pipeline:Pipeline foo example\n```\n\n ", "properties": { @@ -411180,137 +414428,145 @@ }, "description": "Map of tags to assign to the User Pool. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, - "tagsAll": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" - }, - "userPoolAddOns": { - "$ref": "#/types/aws:cognito/UserPoolUserPoolAddOns:UserPoolUserPoolAddOns", - "description": "Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below.\n" - }, - "usernameAttributes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with `alias_attributes`.\n" - }, - "usernameConfiguration": { - "$ref": "#/types/aws:cognito/UserPoolUsernameConfiguration:UserPoolUsernameConfiguration", - "description": "Configuration block for username configuration. Detailed below.\n" - }, - "verificationMessageTemplate": { - "$ref": "#/types/aws:cognito/UserPoolVerificationMessageTemplate:UserPoolVerificationMessageTemplate", - "description": "Configuration block for verification message templates. Detailed below.\n" - } - }, - "required": [ - "adminCreateUserConfig", - "arn", - "creationDate", - "customDomain", - "domain", - "emailVerificationMessage", - "emailVerificationSubject", - "endpoint", - "estimatedNumberOfUsers", - "lastModifiedDate", - "name", - "passwordPolicy", - "smsConfiguration", - "smsVerificationMessage", - "tagsAll", - "verificationMessageTemplate" - ], - "inputProperties": { - "accountRecoverySetting": { - "$ref": "#/types/aws:cognito/UserPoolAccountRecoverySetting:UserPoolAccountRecoverySetting", - "description": "Configuration block to define which verified available method a user can use to recover their forgotten password. Detailed below.\n" - }, - "adminCreateUserConfig": { - "$ref": "#/types/aws:cognito/UserPoolAdminCreateUserConfig:UserPoolAdminCreateUserConfig", - "description": "Configuration block for creating a new user profile. Detailed below.\n" - }, - "aliasAttributes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Attributes supported as an alias for this user pool. Valid values: `phone_number`, `email`, or `preferred_username`. Conflicts with `username_attributes`.\n", - "willReplaceOnChanges": true - }, - "autoVerifiedAttributes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Attributes to be auto-verified. Valid values: `email`, `phone_number`.\n" - }, - "deviceConfiguration": { - "$ref": "#/types/aws:cognito/UserPoolDeviceConfiguration:UserPoolDeviceConfiguration", - "description": "Configuration block for the user pool's device tracking. Detailed below.\n" - }, - "emailConfiguration": { - "$ref": "#/types/aws:cognito/UserPoolEmailConfiguration:UserPoolEmailConfiguration", - "description": "Configuration block for configuring email. Detailed below.\n" - }, - "emailVerificationMessage": { - "type": "string", - "description": "String representing the email verification message. Conflicts with `verification_message_template` configuration block `email_message` argument.\n" - }, - "emailVerificationSubject": { - "type": "string", - "description": "String representing the email verification subject. Conflicts with `verification_message_template` configuration block `email_subject` argument.\n" - }, - "lambdaConfig": { - "$ref": "#/types/aws:cognito/UserPoolLambdaConfig:UserPoolLambdaConfig", - "description": "Configuration block for the AWS Lambda triggers associated with the user pool. Detailed below.\n" - }, - "mfaConfiguration": { - "type": "string", - "description": "Multi-Factor Authentication (MFA) configuration for the User Pool. Defaults of `OFF`. Valid values are `OFF` (MFA Tokens are not required), `ON` (MFA is required for all users to sign in; requires at least one of `sms_configuration` or `software_token_mfa_configuration` to be configured), or `OPTIONAL` (MFA Will be required only for individual users who have MFA Enabled; requires at least one of `sms_configuration` or `software_token_mfa_configuration` to be configured).\n" - }, - "name": { - "type": "string", - "description": "Name of the attribute.\n", - "willReplaceOnChanges": true - }, - "passwordPolicy": { - "$ref": "#/types/aws:cognito/UserPoolPasswordPolicy:UserPoolPasswordPolicy", - "description": "Configuration blocked for information about the user pool password policy. Detailed below.\n" - }, - "schemas": { - "type": "array", - "items": { - "$ref": "#/types/aws:cognito/UserPoolSchema:UserPoolSchema" - }, - "description": "Configuration block for the schema attributes of a user pool. Detailed below. Schema attributes from the [standard attribute set](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#cognito-user-pools-standard-attributes) only need to be specified if they are different from the default configuration. Attributes can be added, but not modified or removed. Maximum of 50 attributes.\n" - }, - "smsAuthenticationMessage": { - "type": "string", - "description": "String representing the SMS authentication message. The Message must contain the `{####}` placeholder, which will be replaced with the code.\n" - }, - "smsConfiguration": { - "$ref": "#/types/aws:cognito/UserPoolSmsConfiguration:UserPoolSmsConfiguration", - "description": "Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection.\n" - }, - "smsVerificationMessage": { - "type": "string", - "description": "String representing the SMS verification message. Conflicts with `verification_message_template` configuration block `sms_message` argument.\n" - }, - "softwareTokenMfaConfiguration": { - "$ref": "#/types/aws:cognito/UserPoolSoftwareTokenMfaConfiguration:UserPoolSoftwareTokenMfaConfiguration", - "description": "Configuration block for software token Mult-Factor Authentication (MFA) settings. Detailed below.\n" - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Map of tags to assign to the User Pool. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, + "userAttributeUpdateSettings": { + "$ref": "#/types/aws:cognito/UserPoolUserAttributeUpdateSettings:UserPoolUserAttributeUpdateSettings", + "description": "Configuration block for user attribute update settings. Detailed below.\n" + }, + "userPoolAddOns": { + "$ref": "#/types/aws:cognito/UserPoolUserPoolAddOns:UserPoolUserPoolAddOns", + "description": "Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below.\n" + }, + "usernameAttributes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with `alias_attributes`.\n" + }, + "usernameConfiguration": { + "$ref": "#/types/aws:cognito/UserPoolUsernameConfiguration:UserPoolUsernameConfiguration", + "description": "Configuration block for username configuration. Detailed below.\n" + }, + "verificationMessageTemplate": { + "$ref": "#/types/aws:cognito/UserPoolVerificationMessageTemplate:UserPoolVerificationMessageTemplate", + "description": "Configuration block for verification message templates. Detailed below.\n" + } + }, + "required": [ + "adminCreateUserConfig", + "arn", + "creationDate", + "customDomain", + "domain", + "emailVerificationMessage", + "emailVerificationSubject", + "endpoint", + "estimatedNumberOfUsers", + "lastModifiedDate", + "name", + "passwordPolicy", + "smsConfiguration", + "smsVerificationMessage", + "tagsAll", + "verificationMessageTemplate" + ], + "inputProperties": { + "accountRecoverySetting": { + "$ref": "#/types/aws:cognito/UserPoolAccountRecoverySetting:UserPoolAccountRecoverySetting", + "description": "Configuration block to define which verified available method a user can use to recover their forgotten password. Detailed below.\n" + }, + "adminCreateUserConfig": { + "$ref": "#/types/aws:cognito/UserPoolAdminCreateUserConfig:UserPoolAdminCreateUserConfig", + "description": "Configuration block for creating a new user profile. Detailed below.\n" + }, + "aliasAttributes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Attributes supported as an alias for this user pool. Valid values: `phone_number`, `email`, or `preferred_username`. Conflicts with `username_attributes`.\n", + "willReplaceOnChanges": true + }, + "autoVerifiedAttributes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Attributes to be auto-verified. Valid values: `email`, `phone_number`.\n" + }, + "deviceConfiguration": { + "$ref": "#/types/aws:cognito/UserPoolDeviceConfiguration:UserPoolDeviceConfiguration", + "description": "Configuration block for the user pool's device tracking. Detailed below.\n" + }, + "emailConfiguration": { + "$ref": "#/types/aws:cognito/UserPoolEmailConfiguration:UserPoolEmailConfiguration", + "description": "Configuration block for configuring email. Detailed below.\n" + }, + "emailVerificationMessage": { + "type": "string", + "description": "String representing the email verification message. Conflicts with `verification_message_template` configuration block `email_message` argument.\n" + }, + "emailVerificationSubject": { + "type": "string", + "description": "String representing the email verification subject. Conflicts with `verification_message_template` configuration block `email_subject` argument.\n" + }, + "lambdaConfig": { + "$ref": "#/types/aws:cognito/UserPoolLambdaConfig:UserPoolLambdaConfig", + "description": "Configuration block for the AWS Lambda triggers associated with the user pool. Detailed below.\n" + }, + "mfaConfiguration": { + "type": "string", + "description": "Multi-Factor Authentication (MFA) configuration for the User Pool. Defaults of `OFF`. Valid values are `OFF` (MFA Tokens are not required), `ON` (MFA is required for all users to sign in; requires at least one of `sms_configuration` or `software_token_mfa_configuration` to be configured), or `OPTIONAL` (MFA Will be required only for individual users who have MFA Enabled; requires at least one of `sms_configuration` or `software_token_mfa_configuration` to be configured).\n" + }, + "name": { + "type": "string", + "description": "Name of the attribute.\n", + "willReplaceOnChanges": true + }, + "passwordPolicy": { + "$ref": "#/types/aws:cognito/UserPoolPasswordPolicy:UserPoolPasswordPolicy", + "description": "Configuration blocked for information about the user pool password policy. Detailed below.\n" + }, + "schemas": { + "type": "array", + "items": { + "$ref": "#/types/aws:cognito/UserPoolSchema:UserPoolSchema" + }, + "description": "Configuration block for the schema attributes of a user pool. Detailed below. Schema attributes from the [standard attribute set](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#cognito-user-pools-standard-attributes) only need to be specified if they are different from the default configuration. Attributes can be added, but not modified or removed. Maximum of 50 attributes.\n" + }, + "smsAuthenticationMessage": { + "type": "string", + "description": "String representing the SMS authentication message. The Message must contain the `{####}` placeholder, which will be replaced with the code.\n" + }, + "smsConfiguration": { + "$ref": "#/types/aws:cognito/UserPoolSmsConfiguration:UserPoolSmsConfiguration", + "description": "Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection.\n" + }, + "smsVerificationMessage": { + "type": "string", + "description": "String representing the SMS verification message. Conflicts with `verification_message_template` configuration block `sms_message` argument.\n" + }, + "softwareTokenMfaConfiguration": { + "$ref": "#/types/aws:cognito/UserPoolSoftwareTokenMfaConfiguration:UserPoolSoftwareTokenMfaConfiguration", + "description": "Configuration block for software token Mult-Factor Authentication (MFA) settings. Detailed below.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags to assign to the User Pool. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "userAttributeUpdateSettings": { + "$ref": "#/types/aws:cognito/UserPoolUserAttributeUpdateSettings:UserPoolUserAttributeUpdateSettings", + "description": "Configuration block for user attribute update settings. Detailed below.\n" }, "userPoolAddOns": { "$ref": "#/types/aws:cognito/UserPoolUserPoolAddOns:UserPoolUserPoolAddOns", @@ -411457,6 +414713,10 @@ }, "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" }, + "userAttributeUpdateSettings": { + "$ref": "#/types/aws:cognito/UserPoolUserAttributeUpdateSettings:UserPoolUserAttributeUpdateSettings", + "description": "Configuration block for user attribute update settings. Detailed below.\n" + }, "userPoolAddOns": { "$ref": "#/types/aws:cognito/UserPoolUserPoolAddOns:UserPoolUserPoolAddOns", "description": "Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below.\n" @@ -412044,6 +415304,214 @@ "type": "object" } }, + "aws:comprehend/documentClassifier:DocumentClassifier": { + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst documents = new aws.s3.BucketObjectv2(\"documents\", {});\n// ...\nconst example = new aws.comprehend.DocumentClassifier(\"example\", {\n dataAccessRoleArn: aws_iam_role.example.arn,\n languageCode: \"en\",\n inputDataConfig: {\n s3Uri: pulumi.interpolate`s3://${aws_s3_bucket.test.bucket}/${documents.id}`,\n },\n}, {\n dependsOn: [aws_iam_role_policy.example],\n});\nconst entities = new aws.s3.BucketObjectv2(\"entities\", {});\n// ...\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndocuments = aws.s3.BucketObjectv2(\"documents\")\n# ...\nexample = aws.comprehend.DocumentClassifier(\"example\",\n data_access_role_arn=aws_iam_role[\"example\"][\"arn\"],\n language_code=\"en\",\n input_data_config=aws.comprehend.DocumentClassifierInputDataConfigArgs(\n s3_uri=documents.id.apply(lambda id: f\"s3://{aws_s3_bucket['test']['bucket']}/{id}\"),\n ),\n opts=pulumi.ResourceOptions(depends_on=[aws_iam_role_policy[\"example\"]]))\nentities = aws.s3.BucketObjectv2(\"entities\")\n# ...\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var documents = new Aws.S3.BucketObjectv2(\"documents\");\n\n // ...\n var example = new Aws.Comprehend.DocumentClassifier(\"example\", new()\n {\n DataAccessRoleArn = aws_iam_role.Example.Arn,\n LanguageCode = \"en\",\n InputDataConfig = new Aws.Comprehend.Inputs.DocumentClassifierInputDataConfigArgs\n {\n S3Uri = documents.Id.Apply(id =\u003e $\"s3://{aws_s3_bucket.Test.Bucket}/{id}\"),\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n aws_iam_role_policy.Example,\n },\n });\n\n var entities = new Aws.S3.BucketObjectv2(\"entities\");\n\n // ...\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/comprehend\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdocuments, err := s3.NewBucketObjectv2(ctx, \"documents\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = comprehend.NewDocumentClassifier(ctx, \"example\", \u0026comprehend.DocumentClassifierArgs{\n\t\t\tDataAccessRoleArn: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\tLanguageCode: pulumi.String(\"en\"),\n\t\t\tInputDataConfig: \u0026comprehend.DocumentClassifierInputDataConfigArgs{\n\t\t\t\tS3Uri: documents.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", aws_s3_bucket.Test.Bucket, id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\taws_iam_role_policy.Example,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketObjectv2(ctx, \"entities\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.comprehend.DocumentClassifier;\nimport com.pulumi.aws.comprehend.DocumentClassifierArgs;\nimport com.pulumi.aws.comprehend.inputs.DocumentClassifierInputDataConfigArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var documents = new BucketObjectv2(\"documents\");\n\n var example = new DocumentClassifier(\"example\", DocumentClassifierArgs.builder() \n .dataAccessRoleArn(aws_iam_role.example().arn())\n .languageCode(\"en\")\n .inputDataConfig(DocumentClassifierInputDataConfigArgs.builder()\n .s3Uri(documents.id().applyValue(id -\u003e String.format(\"s3://%s/%s\", aws_s3_bucket.test().bucket(),id)))\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(aws_iam_role_policy.example())\n .build());\n\n var entities = new BucketObjectv2(\"entities\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:comprehend:DocumentClassifier\n properties:\n dataAccessRoleArn: ${aws_iam_role.example.arn}\n languageCode: en\n inputDataConfig:\n s3Uri: s3://${aws_s3_bucket.test.bucket}/${documents.id}\n options:\n dependson:\n - ${aws_iam_role_policy.example}\n documents:\n type: aws:s3:BucketObjectv2\n entities:\n type: aws:s3:BucketObjectv2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nComprehend Document Classifier can be imported using the ARN, e.g.,\n\n```sh\n $ pulumi import aws:comprehend/documentClassifier:DocumentClassifier example arn:aws:comprehend:us-west-2:123456789012:document_classifier/example\n```\n\n ", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the Document Classifier version.\n" + }, + "dataAccessRoleArn": { + "type": "string", + "description": "The ARN for an IAM Role which allows Comprehend to read the training and testing data.\n" + }, + "inputDataConfig": { + "$ref": "#/types/aws:comprehend/DocumentClassifierInputDataConfig:DocumentClassifierInputDataConfig", + "description": "Configuration for the training and testing data.\nSee the `input_data_config` Configuration Block section below.\n" + }, + "languageCode": { + "type": "string", + "description": "Two-letter language code for the language.\nOne of `en`, `es`, `fr`, `it`, `de`, or `pt`.\n" + }, + "mode": { + "type": "string", + "description": "The document classification mode.\nOne of `MULTI_CLASS` or `MULTI_LABEL`.\n`MULTI_CLASS` is also known as \"Single Label\" in the AWS Console.\n" + }, + "modelKmsKeyId": { + "type": "string", + "description": "KMS Key used to encrypt trained Document Classifiers.\nCan be a KMS Key ID or a KMS Key ARN.\n" + }, + "name": { + "type": "string", + "description": "Name for the Document Classifier.\nHas a maximum length of 63 characters.\nCan contain upper- and lower-case letters, numbers, and hypen (`-`).\n" + }, + "outputDataConfig": { + "$ref": "#/types/aws:comprehend/DocumentClassifierOutputDataConfig:DocumentClassifierOutputDataConfig", + "description": "Configuration for the output results of training.\nSee the `output_data_config` Configuration Block section below.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block).\n" + }, + "versionName": { + "type": "string" + }, + "versionNamePrefix": { + "type": "string", + "description": "Creates a unique version name beginning with the specified prefix.\nHas a maximum length of 37 characters.\nCan contain upper- and lower-case letters, numbers, and hypen (`-`).\nConflicts with `version_name`.\n" + }, + "volumeKmsKeyId": { + "type": "string", + "description": "KMS Key used to encrypt storage volumes during job processing.\nCan be a KMS Key ID or a KMS Key ARN.\n" + }, + "vpcConfig": { + "$ref": "#/types/aws:comprehend/DocumentClassifierVpcConfig:DocumentClassifierVpcConfig", + "description": "Configuration parameters for VPC to contain Document Classifier resources.\nSee the `vpc_config` Configuration Block section below.\n" + } + }, + "required": [ + "arn", + "dataAccessRoleArn", + "inputDataConfig", + "languageCode", + "name", + "outputDataConfig", + "tagsAll", + "versionName", + "versionNamePrefix" + ], + "inputProperties": { + "dataAccessRoleArn": { + "type": "string", + "description": "The ARN for an IAM Role which allows Comprehend to read the training and testing data.\n" + }, + "inputDataConfig": { + "$ref": "#/types/aws:comprehend/DocumentClassifierInputDataConfig:DocumentClassifierInputDataConfig", + "description": "Configuration for the training and testing data.\nSee the `input_data_config` Configuration Block section below.\n" + }, + "languageCode": { + "type": "string", + "description": "Two-letter language code for the language.\nOne of `en`, `es`, `fr`, `it`, `de`, or `pt`.\n" + }, + "mode": { + "type": "string", + "description": "The document classification mode.\nOne of `MULTI_CLASS` or `MULTI_LABEL`.\n`MULTI_CLASS` is also known as \"Single Label\" in the AWS Console.\n" + }, + "modelKmsKeyId": { + "type": "string", + "description": "KMS Key used to encrypt trained Document Classifiers.\nCan be a KMS Key ID or a KMS Key ARN.\n" + }, + "name": { + "type": "string", + "description": "Name for the Document Classifier.\nHas a maximum length of 63 characters.\nCan contain upper- and lower-case letters, numbers, and hypen (`-`).\n" + }, + "outputDataConfig": { + "$ref": "#/types/aws:comprehend/DocumentClassifierOutputDataConfig:DocumentClassifierOutputDataConfig", + "description": "Configuration for the output results of training.\nSee the `output_data_config` Configuration Block section below.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block).\n" + }, + "versionName": { + "type": "string" + }, + "versionNamePrefix": { + "type": "string", + "description": "Creates a unique version name beginning with the specified prefix.\nHas a maximum length of 37 characters.\nCan contain upper- and lower-case letters, numbers, and hypen (`-`).\nConflicts with `version_name`.\n" + }, + "volumeKmsKeyId": { + "type": "string", + "description": "KMS Key used to encrypt storage volumes during job processing.\nCan be a KMS Key ID or a KMS Key ARN.\n" + }, + "vpcConfig": { + "$ref": "#/types/aws:comprehend/DocumentClassifierVpcConfig:DocumentClassifierVpcConfig", + "description": "Configuration parameters for VPC to contain Document Classifier resources.\nSee the `vpc_config` Configuration Block section below.\n" + } + }, + "requiredInputs": [ + "dataAccessRoleArn", + "inputDataConfig", + "languageCode" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DocumentClassifier resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the Document Classifier version.\n" + }, + "dataAccessRoleArn": { + "type": "string", + "description": "The ARN for an IAM Role which allows Comprehend to read the training and testing data.\n" + }, + "inputDataConfig": { + "$ref": "#/types/aws:comprehend/DocumentClassifierInputDataConfig:DocumentClassifierInputDataConfig", + "description": "Configuration for the training and testing data.\nSee the `input_data_config` Configuration Block section below.\n" + }, + "languageCode": { + "type": "string", + "description": "Two-letter language code for the language.\nOne of `en`, `es`, `fr`, `it`, `de`, or `pt`.\n" + }, + "mode": { + "type": "string", + "description": "The document classification mode.\nOne of `MULTI_CLASS` or `MULTI_LABEL`.\n`MULTI_CLASS` is also known as \"Single Label\" in the AWS Console.\n" + }, + "modelKmsKeyId": { + "type": "string", + "description": "KMS Key used to encrypt trained Document Classifiers.\nCan be a KMS Key ID or a KMS Key ARN.\n" + }, + "name": { + "type": "string", + "description": "Name for the Document Classifier.\nHas a maximum length of 63 characters.\nCan contain upper- and lower-case letters, numbers, and hypen (`-`).\n" + }, + "outputDataConfig": { + "$ref": "#/types/aws:comprehend/DocumentClassifierOutputDataConfig:DocumentClassifierOutputDataConfig", + "description": "Configuration for the output results of training.\nSee the `output_data_config` Configuration Block section below.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block).\n" + }, + "versionName": { + "type": "string" + }, + "versionNamePrefix": { + "type": "string", + "description": "Creates a unique version name beginning with the specified prefix.\nHas a maximum length of 37 characters.\nCan contain upper- and lower-case letters, numbers, and hypen (`-`).\nConflicts with `version_name`.\n" + }, + "volumeKmsKeyId": { + "type": "string", + "description": "KMS Key used to encrypt storage volumes during job processing.\nCan be a KMS Key ID or a KMS Key ARN.\n" + }, + "vpcConfig": { + "$ref": "#/types/aws:comprehend/DocumentClassifierVpcConfig:DocumentClassifierVpcConfig", + "description": "Configuration parameters for VPC to contain Document Classifier resources.\nSee the `vpc_config` Configuration Block section below.\n" + } + }, + "type": "object" + } + }, "aws:comprehend/entityRecognizer:EntityRecognizer": { "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst documents = new aws.s3.BucketObjectv2(\"documents\", {});\n// ...\nconst entities = new aws.s3.BucketObjectv2(\"entities\", {});\n// ...\nconst example = new aws.comprehend.EntityRecognizer(\"example\", {\n dataAccessRoleArn: aws_iam_role.example.arn,\n languageCode: \"en\",\n inputDataConfig: {\n entityTypes: [\n {\n type: \"ENTITY_1\",\n },\n {\n type: \"ENTITY_2\",\n },\n ],\n documents: {\n s3Uri: pulumi.interpolate`s3://${aws_s3_bucket.documents.bucket}/${documents.id}`,\n },\n entityList: {\n s3Uri: pulumi.interpolate`s3://${aws_s3_bucket.entities.bucket}/${entities.id}`,\n },\n },\n}, {\n dependsOn: [aws_iam_role_policy.example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndocuments = aws.s3.BucketObjectv2(\"documents\")\n# ...\nentities = aws.s3.BucketObjectv2(\"entities\")\n# ...\nexample = aws.comprehend.EntityRecognizer(\"example\",\n data_access_role_arn=aws_iam_role[\"example\"][\"arn\"],\n language_code=\"en\",\n input_data_config=aws.comprehend.EntityRecognizerInputDataConfigArgs(\n entity_types=[\n aws.comprehend.EntityRecognizerInputDataConfigEntityTypeArgs(\n type=\"ENTITY_1\",\n ),\n aws.comprehend.EntityRecognizerInputDataConfigEntityTypeArgs(\n type=\"ENTITY_2\",\n ),\n ],\n documents=aws.comprehend.EntityRecognizerInputDataConfigDocumentsArgs(\n s3_uri=documents.id.apply(lambda id: f\"s3://{aws_s3_bucket['documents']['bucket']}/{id}\"),\n ),\n entity_list=aws.comprehend.EntityRecognizerInputDataConfigEntityListArgs(\n s3_uri=entities.id.apply(lambda id: f\"s3://{aws_s3_bucket['entities']['bucket']}/{id}\"),\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[aws_iam_role_policy[\"example\"]]))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var documents = new Aws.S3.BucketObjectv2(\"documents\");\n\n // ...\n var entities = new Aws.S3.BucketObjectv2(\"entities\");\n\n // ...\n var example = new Aws.Comprehend.EntityRecognizer(\"example\", new()\n {\n DataAccessRoleArn = aws_iam_role.Example.Arn,\n LanguageCode = \"en\",\n InputDataConfig = new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigArgs\n {\n EntityTypes = new[]\n {\n new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigEntityTypeArgs\n {\n Type = \"ENTITY_1\",\n },\n new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigEntityTypeArgs\n {\n Type = \"ENTITY_2\",\n },\n },\n Documents = new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigDocumentsArgs\n {\n S3Uri = documents.Id.Apply(id =\u003e $\"s3://{aws_s3_bucket.Documents.Bucket}/{id}\"),\n },\n EntityList = new Aws.Comprehend.Inputs.EntityRecognizerInputDataConfigEntityListArgs\n {\n S3Uri = entities.Id.Apply(id =\u003e $\"s3://{aws_s3_bucket.Entities.Bucket}/{id}\"),\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n aws_iam_role_policy.Example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/comprehend\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdocuments, err := s3.NewBucketObjectv2(ctx, \"documents\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tentities, err := s3.NewBucketObjectv2(ctx, \"entities\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = comprehend.NewEntityRecognizer(ctx, \"example\", \u0026comprehend.EntityRecognizerArgs{\n\t\t\tDataAccessRoleArn: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\tLanguageCode: pulumi.String(\"en\"),\n\t\t\tInputDataConfig: \u0026comprehend.EntityRecognizerInputDataConfigArgs{\n\t\t\t\tEntityTypes: comprehend.EntityRecognizerInputDataConfigEntityTypeArray{\n\t\t\t\t\t\u0026comprehend.EntityRecognizerInputDataConfigEntityTypeArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ENTITY_1\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026comprehend.EntityRecognizerInputDataConfigEntityTypeArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ENTITY_2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDocuments: \u0026comprehend.EntityRecognizerInputDataConfigDocumentsArgs{\n\t\t\t\t\tS3Uri: documents.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", aws_s3_bucket.Documents.Bucket, id), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t\tEntityList: \u0026comprehend.EntityRecognizerInputDataConfigEntityListArgs{\n\t\t\t\t\tS3Uri: entities.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"s3://%v/%v\", aws_s3_bucket.Entities.Bucket, id), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\taws_iam_role_policy.Example,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketObjectv2;\nimport com.pulumi.aws.comprehend.EntityRecognizer;\nimport com.pulumi.aws.comprehend.EntityRecognizerArgs;\nimport com.pulumi.aws.comprehend.inputs.EntityRecognizerInputDataConfigArgs;\nimport com.pulumi.aws.comprehend.inputs.EntityRecognizerInputDataConfigDocumentsArgs;\nimport com.pulumi.aws.comprehend.inputs.EntityRecognizerInputDataConfigEntityListArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var documents = new BucketObjectv2(\"documents\");\n\n var entities = new BucketObjectv2(\"entities\");\n\n var example = new EntityRecognizer(\"example\", EntityRecognizerArgs.builder() \n .dataAccessRoleArn(aws_iam_role.example().arn())\n .languageCode(\"en\")\n .inputDataConfig(EntityRecognizerInputDataConfigArgs.builder()\n .entityTypes( \n EntityRecognizerInputDataConfigEntityTypeArgs.builder()\n .type(\"ENTITY_1\")\n .build(),\n EntityRecognizerInputDataConfigEntityTypeArgs.builder()\n .type(\"ENTITY_2\")\n .build())\n .documents(EntityRecognizerInputDataConfigDocumentsArgs.builder()\n .s3Uri(documents.id().applyValue(id -\u003e String.format(\"s3://%s/%s\", aws_s3_bucket.documents().bucket(),id)))\n .build())\n .entityList(EntityRecognizerInputDataConfigEntityListArgs.builder()\n .s3Uri(entities.id().applyValue(id -\u003e String.format(\"s3://%s/%s\", aws_s3_bucket.entities().bucket(),id)))\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(aws_iam_role_policy.example())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:comprehend:EntityRecognizer\n properties:\n dataAccessRoleArn: ${aws_iam_role.example.arn}\n languageCode: en\n inputDataConfig:\n entityTypes:\n - type: ENTITY_1\n - type: ENTITY_2\n documents:\n s3Uri: s3://${aws_s3_bucket.documents.bucket}/${documents.id}\n entityList:\n s3Uri: s3://${aws_s3_bucket.entities.bucket}/${entities.id}\n options:\n dependson:\n - ${aws_iam_role_policy.example}\n documents:\n type: aws:s3:BucketObjectv2\n entities:\n type: aws:s3:BucketObjectv2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nComprehend Entity Recognizer can be imported using the ARN, e.g.,\n\n```sh\n $ pulumi import aws:comprehend/entityRecognizer:EntityRecognizer example arn:aws:comprehend:us-west-2:123456789012:entity-recognizer/example\n```\n\n ", "properties": { @@ -412270,7 +415738,7 @@ } }, "aws:connect/contactFlow:ContactFlow": { - "description": "Provides an Amazon Connect Contact Flow resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\nThis resource embeds or references Contact Flows specified in Amazon Connect Contact Flow Language. For more information see\n[Amazon Connect Flow language](https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html)\n\n!\u003e **WARN:** Contact Flows exported from the Console [Contact Flow import/export](https://docs.aws.amazon.com/connect/latest/adminguide/contact-flow-import-export.html) are not in the Amazon Connect Contact Flow Language and can not be used with this resource. Instead, the recommendation is to use the AWS CLI [`describe-contact-flow`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/connect/describe-contact-flow.html).\nSee example below which uses `jq` to extract the `Content` attribute and saves it to a local file.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.ContactFlow(\"test\", {\n content: `\t{\n\t\t\"Version\": \"2019-10-30\",\n\t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\"Actions\": [\n\t\t\t{\n\t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\t\"Type\": \"MessageParticipant\",\n\t\t\t\t\"Transitions\": {\n\t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\"Errors\": [],\n\t\t\t\t\t\"Conditions\": []\n\t\t\t\t},\n\t\t\t\t\"Parameters\": {\n\t\t\t\t\t\"Text\": \"Thanks for calling the sample flow!\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\"Type\": \"DisconnectParticipant\",\n\t\t\t\t\"Transitions\": {},\n\t\t\t\t\"Parameters\": {}\n\t\t\t}\n\t\t]\n\t}\n\t`,\n description: \"Test Contact Flow Description\",\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n tags: {\n Application: \"Terraform\",\n Method: \"Create\",\n Name: \"Test Contact Flow\",\n },\n type: \"CONTACT_FLOW\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.ContactFlow(\"test\",\n content=\"\"\"\t{\n\t\t\"Version\": \"2019-10-30\",\n\t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\"Actions\": [\n\t\t\t{\n\t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\t\"Type\": \"MessageParticipant\",\n\t\t\t\t\"Transitions\": {\n\t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\"Errors\": [],\n\t\t\t\t\t\"Conditions\": []\n\t\t\t\t},\n\t\t\t\t\"Parameters\": {\n\t\t\t\t\t\"Text\": \"Thanks for calling the sample flow!\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\"Type\": \"DisconnectParticipant\",\n\t\t\t\t\"Transitions\": {},\n\t\t\t\t\"Parameters\": {}\n\t\t\t}\n\t\t]\n\t}\n\t\n\"\"\",\n description=\"Test Contact Flow Description\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n tags={\n \"Application\": \"Terraform\",\n \"Method\": \"Create\",\n \"Name\": \"Test Contact Flow\",\n },\n type=\"CONTACT_FLOW\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.ContactFlow(\"test\", new()\n {\n Content = @\"\t{\n\t\t\"\"Version\"\": \"\"2019-10-30\"\",\n\t\t\"\"StartAction\"\": \"\"12345678-1234-1234-1234-123456789012\"\",\n\t\t\"\"Actions\"\": [\n\t\t\t{\n\t\t\t\t\"\"Identifier\"\": \"\"12345678-1234-1234-1234-123456789012\"\",\n\t\t\t\t\"\"Type\"\": \"\"MessageParticipant\"\",\n\t\t\t\t\"\"Transitions\"\": {\n\t\t\t\t\t\"\"NextAction\"\": \"\"abcdef-abcd-abcd-abcd-abcdefghijkl\"\",\n\t\t\t\t\t\"\"Errors\"\": [],\n\t\t\t\t\t\"\"Conditions\"\": []\n\t\t\t\t},\n\t\t\t\t\"\"Parameters\"\": {\n\t\t\t\t\t\"\"Text\"\": \"\"Thanks for calling the sample flow!\"\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"\"Identifier\"\": \"\"abcdef-abcd-abcd-abcd-abcdefghijkl\"\",\n\t\t\t\t\"\"Type\"\": \"\"DisconnectParticipant\"\",\n\t\t\t\t\"\"Transitions\"\": {},\n\t\t\t\t\"\"Parameters\"\": {}\n\t\t\t}\n\t\t]\n\t}\n\t\n\",\n Description = \"Test Contact Flow Description\",\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Tags = \n {\n { \"Application\", \"Terraform\" },\n { \"Method\", \"Create\" },\n { \"Name\", \"Test Contact Flow\" },\n },\n Type = \"CONTACT_FLOW\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/connect\"\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 := connect.NewContactFlow(ctx, \"test\", \u0026connect.ContactFlowArgs{\n\t\t\tContent: pulumi.String(fmt.Sprintf(`\t{\n\t\t\"Version\": \"2019-10-30\",\n\t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\"Actions\": [\n\t\t\t{\n\t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\t\"Type\": \"MessageParticipant\",\n\t\t\t\t\"Transitions\": {\n\t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\"Errors\": [],\n\t\t\t\t\t\"Conditions\": []\n\t\t\t\t},\n\t\t\t\t\"Parameters\": {\n\t\t\t\t\t\"Text\": \"Thanks for calling the sample flow!\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\"Type\": \"DisconnectParticipant\",\n\t\t\t\t\"Transitions\": {},\n\t\t\t\t\"Parameters\": {}\n\t\t\t}\n\t\t]\n\t}\n\t\n`)),\n\t\t\tDescription: pulumi.String(\"Test Contact Flow Description\"),\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Application\": pulumi.String(\"Terraform\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\n\t\t\t\t\"Name\": pulumi.String(\"Test Contact Flow\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"CONTACT_FLOW\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ContactFlow;\nimport com.pulumi.aws.connect.ContactFlowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ContactFlow(\"test\", ContactFlowArgs.builder() \n .content(\"\"\"\n\t{\n\t\t\"Version\": \"2019-10-30\",\n\t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\"Actions\": [\n\t\t\t{\n\t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\t\"Type\": \"MessageParticipant\",\n\t\t\t\t\"Transitions\": {\n\t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\"Errors\": [],\n\t\t\t\t\t\"Conditions\": []\n\t\t\t\t},\n\t\t\t\t\"Parameters\": {\n\t\t\t\t\t\"Text\": \"Thanks for calling the sample flow!\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\"Type\": \"DisconnectParticipant\",\n\t\t\t\t\"Transitions\": {},\n\t\t\t\t\"Parameters\": {}\n\t\t\t}\n\t\t]\n\t}\n\t\n \"\"\")\n .description(\"Test Contact Flow Description\")\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .tags(Map.ofEntries(\n Map.entry(\"Application\", \"Terraform\"),\n Map.entry(\"Method\", \"Create\"),\n Map.entry(\"Name\", \"Test Contact Flow\")\n ))\n .type(\"CONTACT_FLOW\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:ContactFlow\n properties:\n content: |\n \t{\n \t\t\"Version\": \"2019-10-30\",\n \t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n \t\t\"Actions\": [\n \t\t\t{\n \t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n \t\t\t\t\"Type\": \"MessageParticipant\",\n \t\t\t\t\"Transitions\": {\n \t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \t\t\t\t\t\"Errors\": [],\n \t\t\t\t\t\"Conditions\": []\n \t\t\t\t},\n \t\t\t\t\"Parameters\": {\n \t\t\t\t\t\"Text\": \"Thanks for calling the sample flow!\"\n \t\t\t\t}\n \t\t\t},\n \t\t\t{\n \t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \t\t\t\t\"Type\": \"DisconnectParticipant\",\n \t\t\t\t\"Transitions\": {},\n \t\t\t\t\"Parameters\": {}\n \t\t\t}\n \t\t]\n \t}\n \t\n description: Test Contact Flow Description\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n tags:\n Application: Terraform\n Method: Create\n Name: Test Contact Flow\n type: CONTACT_FLOW\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAmazon Connect Contact Flows can be imported using the `instance_id` and `contact_flow_id` separated by a colon (`:`), e.g.,\n\n```sh\n $ pulumi import aws:connect/contactFlow:ContactFlow example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n\n ", + "description": "Provides an Amazon Connect Contact Flow resource. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)\n\nThis resource embeds or references Contact Flows specified in Amazon Connect Contact Flow Language. For more information see\n[Amazon Connect Flow language](https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html)\n\n!\u003e **WARN:** Contact Flows exported from the Console [Contact Flow import/export](https://docs.aws.amazon.com/connect/latest/adminguide/contact-flow-import-export.html) are not in the Amazon Connect Contact Flow Language and can not be used with this resource. Instead, the recommendation is to use the AWS CLI [`describe-contact-flow`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/connect/describe-contact-flow.html).\nSee example below which uses `jq` to extract the `Content` attribute and saves it to a local file.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.connect.ContactFlow(\"test\", {\n content: `\t{\n\t\t\"Version\": \"2019-10-30\",\n\t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\"Actions\": [\n\t\t\t{\n\t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\t\"Type\": \"MessageParticipant\",\n\t\t\t\t\"Transitions\": {\n\t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\"Errors\": [],\n\t\t\t\t\t\"Conditions\": []\n\t\t\t\t},\n\t\t\t\t\"Parameters\": {\n\t\t\t\t\t\"Text\": \"Thanks for calling the sample flow!\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\"Type\": \"DisconnectParticipant\",\n\t\t\t\t\"Transitions\": {},\n\t\t\t\t\"Parameters\": {}\n\t\t\t}\n\t\t]\n\t}\n\t`,\n description: \"Test Contact Flow Description\",\n instanceId: \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n tags: {\n Application: \"Terraform\",\n Method: \"Create\",\n Name: \"Test Contact Flow\",\n },\n type: \"CONTACT_FLOW\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.connect.ContactFlow(\"test\",\n content=\"\"\"\t{\n\t\t\"Version\": \"2019-10-30\",\n\t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\"Actions\": [\n\t\t\t{\n\t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\t\"Type\": \"MessageParticipant\",\n\t\t\t\t\"Transitions\": {\n\t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\"Errors\": [],\n\t\t\t\t\t\"Conditions\": []\n\t\t\t\t},\n\t\t\t\t\"Parameters\": {\n\t\t\t\t\t\"Text\": \"Thanks for calling the sample flow!\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\"Type\": \"DisconnectParticipant\",\n\t\t\t\t\"Transitions\": {},\n\t\t\t\t\"Parameters\": {}\n\t\t\t}\n\t\t]\n\t}\n\t\n\"\"\",\n description=\"Test Contact Flow Description\",\n instance_id=\"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n tags={\n \"Application\": \"Terraform\",\n \"Method\": \"Create\",\n \"Name\": \"Test Contact Flow\",\n },\n type=\"CONTACT_FLOW\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Connect.ContactFlow(\"test\", new()\n {\n Content = @\"\t{\n\t\t\"\"Version\"\": \"\"2019-10-30\"\",\n\t\t\"\"StartAction\"\": \"\"12345678-1234-1234-1234-123456789012\"\",\n\t\t\"\"Actions\"\": [\n\t\t\t{\n\t\t\t\t\"\"Identifier\"\": \"\"12345678-1234-1234-1234-123456789012\"\",\n\t\t\t\t\"\"Type\"\": \"\"MessageParticipant\"\",\n\t\t\t\t\"\"Transitions\"\": {\n\t\t\t\t\t\"\"NextAction\"\": \"\"abcdef-abcd-abcd-abcd-abcdefghijkl\"\",\n\t\t\t\t\t\"\"Errors\"\": [],\n\t\t\t\t\t\"\"Conditions\"\": []\n\t\t\t\t},\n\t\t\t\t\"\"Parameters\"\": {\n\t\t\t\t\t\"\"Text\"\": \"\"Thanks for calling the sample flow!\"\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"\"Identifier\"\": \"\"abcdef-abcd-abcd-abcd-abcdefghijkl\"\",\n\t\t\t\t\"\"Type\"\": \"\"DisconnectParticipant\"\",\n\t\t\t\t\"\"Transitions\"\": {},\n\t\t\t\t\"\"Parameters\"\": {}\n\t\t\t}\n\t\t]\n\t}\n\t\n\",\n Description = \"Test Contact Flow Description\",\n InstanceId = \"aaaaaaaa-bbbb-cccc-dddd-111111111111\",\n Tags = \n {\n { \"Application\", \"Terraform\" },\n { \"Method\", \"Create\" },\n { \"Name\", \"Test Contact Flow\" },\n },\n Type = \"CONTACT_FLOW\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/connect\"\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 := connect.NewContactFlow(ctx, \"test\", \u0026connect.ContactFlowArgs{\n\t\t\tContent: pulumi.String(fmt.Sprintf(`\t{\n\t\t\"Version\": \"2019-10-30\",\n\t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\"Actions\": [\n\t\t\t{\n\t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\t\"Type\": \"MessageParticipant\",\n\t\t\t\t\"Transitions\": {\n\t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\"Errors\": [],\n\t\t\t\t\t\"Conditions\": []\n\t\t\t\t},\n\t\t\t\t\"Parameters\": {\n\t\t\t\t\t\"Text\": \"Thanks for calling the sample flow!\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\"Type\": \"DisconnectParticipant\",\n\t\t\t\t\"Transitions\": {},\n\t\t\t\t\"Parameters\": {}\n\t\t\t}\n\t\t]\n\t}\n\t\n`)),\n\t\t\tDescription: pulumi.String(\"Test Contact Flow Description\"),\n\t\t\tInstanceId: pulumi.String(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Application\": pulumi.String(\"Terraform\"),\n\t\t\t\t\"Method\": pulumi.String(\"Create\"),\n\t\t\t\t\"Name\": pulumi.String(\"Test Contact Flow\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"CONTACT_FLOW\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.ContactFlow;\nimport com.pulumi.aws.connect.ContactFlowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new ContactFlow(\"test\", ContactFlowArgs.builder() \n .content(\"\"\"\n\t{\n\t\t\"Version\": \"2019-10-30\",\n\t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\"Actions\": [\n\t\t\t{\n\t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n\t\t\t\t\"Type\": \"MessageParticipant\",\n\t\t\t\t\"Transitions\": {\n\t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\t\"Errors\": [],\n\t\t\t\t\t\"Conditions\": []\n\t\t\t\t},\n\t\t\t\t\"Parameters\": {\n\t\t\t\t\t\"Text\": \"Thanks for calling the sample flow!\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n\t\t\t\t\"Type\": \"DisconnectParticipant\",\n\t\t\t\t\"Transitions\": {},\n\t\t\t\t\"Parameters\": {}\n\t\t\t}\n\t\t]\n\t}\n\t\n \"\"\")\n .description(\"Test Contact Flow Description\")\n .instanceId(\"aaaaaaaa-bbbb-cccc-dddd-111111111111\")\n .tags(Map.ofEntries(\n Map.entry(\"Application\", \"Terraform\"),\n Map.entry(\"Method\", \"Create\"),\n Map.entry(\"Name\", \"Test Contact Flow\")\n ))\n .type(\"CONTACT_FLOW\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:connect:ContactFlow\n properties:\n content: |\n \t{\n \t\t\"Version\": \"2019-10-30\",\n \t\t\"StartAction\": \"12345678-1234-1234-1234-123456789012\",\n \t\t\"Actions\": [\n \t\t\t{\n \t\t\t\t\"Identifier\": \"12345678-1234-1234-1234-123456789012\",\n \t\t\t\t\"Type\": \"MessageParticipant\",\n \t\t\t\t\"Transitions\": {\n \t\t\t\t\t\"NextAction\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \t\t\t\t\t\"Errors\": [],\n \t\t\t\t\t\"Conditions\": []\n \t\t\t\t},\n \t\t\t\t\"Parameters\": {\n \t\t\t\t\t\"Text\": \"Thanks for calling the sample flow!\"\n \t\t\t\t}\n \t\t\t},\n \t\t\t{\n \t\t\t\t\"Identifier\": \"abcdef-abcd-abcd-abcd-abcdefghijkl\",\n \t\t\t\t\"Type\": \"DisconnectParticipant\",\n \t\t\t\t\"Transitions\": {},\n \t\t\t\t\"Parameters\": {}\n \t\t\t}\n \t\t]\n \t}\n \t\n description: Test Contact Flow Description\n instanceId: aaaaaaaa-bbbb-cccc-dddd-111111111111\n tags:\n Application: Terraform\n Method: Create\n Name: Test Contact Flow\n type: CONTACT_FLOW\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAmazon Connect Contact Flows can be imported using the `instance_id` and `contact_flow_id` separated by a colon (`:`), e.g.,\n\n```sh\n $ pulumi import aws:connect/contactFlow:ContactFlow example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5\n```\n\n ", "properties": { "arn": { "type": "string", @@ -418601,6 +422069,10 @@ "type": "string" }, "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, + "vlanId": { + "type": "string", + "description": "The VLAN ID.\n" } }, "required": [ @@ -418613,7 +422085,8 @@ "name", "ownerAccountId", "providerName", - "tagsAll" + "tagsAll", + "vlanId" ], "inputProperties": { "bandwidth": { @@ -418704,6 +422177,10 @@ "type": "string" }, "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, + "vlanId": { + "type": "string", + "description": "The VLAN ID.\n" } }, "type": "object" @@ -426213,7 +429690,7 @@ } }, "aws:ebs/volume:Volume": { - "description": "Manages a single EBS volume.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.Volume(\"example\", {\n availabilityZone: \"us-west-2a\",\n size: 40,\n tags: {\n Name: \"HelloWorld\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.Volume(\"example\",\n availability_zone=\"us-west-2a\",\n size=40,\n tags={\n \"Name\": \"HelloWorld\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.Volume(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Size = 40,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ebs\"\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 := ebs.NewVolume(ctx, \"example\", \u0026ebs.VolumeArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tSize: pulumi.Int(40),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ebs.Volume;\nimport com.pulumi.aws.ebs.VolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Volume(\"example\", VolumeArgs.builder() \n .availabilityZone(\"us-west-2a\")\n .size(40)\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:Volume\n properties:\n availabilityZone: us-west-2a\n size: 40\n tags:\n Name: HelloWorld\n```\n\n\u003e **NOTE**: At least one of `size` or `snapshot_id` is required when specifying an EBS volume\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nEBS Volumes can be imported using the `id`, e.g.,\n\n```sh\n $ pulumi import aws:ebs/volume:Volume id vol-049df61146c4d7901\n```\n\n ", + "description": "Manages a single EBS volume.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ebs.Volume(\"example\", {\n availabilityZone: \"us-west-2a\",\n size: 40,\n tags: {\n Name: \"HelloWorld\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ebs.Volume(\"example\",\n availability_zone=\"us-west-2a\",\n size=40,\n tags={\n \"Name\": \"HelloWorld\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ebs.Volume(\"example\", new()\n {\n AvailabilityZone = \"us-west-2a\",\n Size = 40,\n Tags = \n {\n { \"Name\", \"HelloWorld\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ebs\"\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 := ebs.NewVolume(ctx, \"example\", \u0026ebs.VolumeArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"us-west-2a\"),\n\t\t\tSize: pulumi.Int(40),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"HelloWorld\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ebs.Volume;\nimport com.pulumi.aws.ebs.VolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Volume(\"example\", VolumeArgs.builder() \n .availabilityZone(\"us-west-2a\")\n .size(40)\n .tags(Map.of(\"Name\", \"HelloWorld\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ebs:Volume\n properties:\n availabilityZone: us-west-2a\n size: 40\n tags:\n Name: HelloWorld\n```\n\n\u003e **NOTE:** At least one of `size` or `snapshot_id` is required when specifying an EBS volume\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nEBS Volumes can be imported using the `id`, e.g.,\n\n```sh\n $ pulumi import aws:ebs/volume:Volume id vol-049df61146c4d7901\n```\n\n ", "properties": { "arn": { "type": "string", @@ -429043,6 +432520,9 @@ "enableDnsSupport": { "type": "boolean" }, + "enableNetworkAddressUsageMetrics": { + "type": "boolean" + }, "existingDefaultVpc": { "type": "boolean" }, @@ -429124,6 +432604,9 @@ "enableDnsSupport": { "type": "boolean" }, + "enableNetworkAddressUsageMetrics": { + "type": "boolean" + }, "forceDestroy": { "type": "boolean", "description": "Whether destroying the resource deletes the default VPC. Default: `false`\n" @@ -429186,6 +432669,9 @@ "enableDnsSupport": { "type": "boolean" }, + "enableNetworkAddressUsageMetrics": { + "type": "boolean" + }, "existingDefaultVpc": { "type": "boolean" }, @@ -433584,7 +437070,8 @@ "description": "Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6_addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting.\n" }, "ipv6AddressListEnabled": { - "type": "boolean" + "type": "boolean", + "description": "Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false.\n" }, "ipv6AddressLists": { "type": "array", @@ -433736,7 +437223,8 @@ "description": "Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6_addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting.\n" }, "ipv6AddressListEnabled": { - "type": "boolean" + "type": "boolean", + "description": "Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false.\n" }, "ipv6AddressLists": { "type": "array", @@ -433854,7 +437342,8 @@ "description": "Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6_addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting.\n" }, "ipv6AddressListEnabled": { - "type": "boolean" + "type": "boolean", + "description": "Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false.\n" }, "ipv6AddressLists": { "type": "array", @@ -435029,7 +438518,7 @@ } }, "aws:ec2/securityGroupRule:SecurityGroupRule": { - "description": "Provides a security group rule resource. Represents a single `ingress` or\n`egress` group rule, which can be added to external Security Groups.\n\n\u003e **NOTE on Security Groups and Security Group Rules:** This provider currently\nprovides both a standalone Security Group Rule resource (a single `ingress` or\n`egress` rule), and a Security Group resource with `ingress` and `egress` rules\ndefined in-line. At this time you cannot use a Security Group with in-line rules\nin conjunction with any Security Group Rule resources. Doing so will cause\na conflict of rule settings and will overwrite rules.\n\n\u003e **NOTE:** Setting `protocol = \"all\"` or `protocol = -1` with `from_port` and `to_port` will result in the EC2 API creating a security group rule with all ports open. This API behavior cannot be controlled by this provider and may generate warnings in the future.\n\n\u003e **NOTE:** Referencing Security Groups across VPC peering has certain restrictions. More information is available in the [VPC Peering User Guide](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-security-groups.html).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nBasic usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroupRule(\"example\", {\n type: \"ingress\",\n fromPort: 0,\n toPort: 65535,\n protocol: \"tcp\",\n cidrBlocks: [aws_vpc.example.cidr_block],\n ipv6CidrBlocks: [aws_vpc.example.ipv6_cidr_block],\n securityGroupId: \"sg-123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroupRule(\"example\",\n type=\"ingress\",\n from_port=0,\n to_port=65535,\n protocol=\"tcp\",\n cidr_blocks=[aws_vpc[\"example\"][\"cidr_block\"]],\n ipv6_cidr_blocks=[aws_vpc[\"example\"][\"ipv6_cidr_block\"]],\n security_group_id=\"sg-123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroupRule(\"example\", new()\n {\n Type = \"ingress\",\n FromPort = 0,\n ToPort = 65535,\n Protocol = \"tcp\",\n CidrBlocks = new[]\n {\n aws_vpc.Example.Cidr_block,\n },\n Ipv6CidrBlocks = new[]\n {\n aws_vpc.Example.Ipv6_cidr_block,\n },\n SecurityGroupId = \"sg-123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSecurityGroupRule(ctx, \"example\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tFromPort: pulumi.Int(0),\n\t\t\tToPort: pulumi.Int(65535),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.Any(aws_vpc.Example.Cidr_block),\n\t\t\t},\n\t\t\tIpv6CidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.Any(aws_vpc.Example.Ipv6_cidr_block),\n\t\t\t},\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new SecurityGroupRule(\"example\", SecurityGroupRuleArgs.builder() \n .type(\"ingress\")\n .fromPort(0)\n .toPort(65535)\n .protocol(\"tcp\")\n .cidrBlocks(aws_vpc.example().cidr_block())\n .ipv6CidrBlocks(aws_vpc.example().ipv6_cidr_block())\n .securityGroupId(\"sg-123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroupRule\n properties:\n type: ingress\n fromPort: 0\n toPort: 65535\n protocol: tcp\n cidrBlocks:\n - ${aws_vpc.example.cidr_block}\n ipv6CidrBlocks:\n - ${aws_vpc.example.ipv6_cidr_block}\n securityGroupId: sg-123456\n```\n{{% /example %}}\n{{% example %}}\n### Usage With Prefix List IDs\n\nPrefix Lists are either managed by AWS internally, or created by the customer using a\nManaged Prefix List resource. Prefix Lists provided by\nAWS are associated with a prefix list name, or service name, that is linked to a specific region.\n\nPrefix list IDs are exported on VPC Endpoints, so you can use this format:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...\nconst myEndpoint = new aws.ec2.VpcEndpoint(\"myEndpoint\", {});\n// ...\nconst allowAll = new aws.ec2.SecurityGroupRule(\"allowAll\", {\n type: \"egress\",\n toPort: 0,\n protocol: \"-1\",\n prefixListIds: [myEndpoint.prefixListId],\n fromPort: 0,\n securityGroupId: \"sg-123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...\nmy_endpoint = aws.ec2.VpcEndpoint(\"myEndpoint\")\n# ...\nallow_all = aws.ec2.SecurityGroupRule(\"allowAll\",\n type=\"egress\",\n to_port=0,\n protocol=\"-1\",\n prefix_list_ids=[my_endpoint.prefix_list_id],\n from_port=0,\n security_group_id=\"sg-123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...\n var myEndpoint = new Aws.Ec2.VpcEndpoint(\"myEndpoint\");\n\n // ...\n var allowAll = new Aws.Ec2.SecurityGroupRule(\"allowAll\", new()\n {\n Type = \"egress\",\n ToPort = 0,\n Protocol = \"-1\",\n PrefixListIds = new[]\n {\n myEndpoint.PrefixListId,\n },\n FromPort = 0,\n SecurityGroupId = \"sg-123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyEndpoint, err := ec2.NewVpcEndpoint(ctx, \"myEndpoint\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroupRule(ctx, \"allowAll\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"egress\"),\n\t\t\tToPort: pulumi.Int(0),\n\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\tPrefixListIds: pulumi.StringArray{\n\t\t\t\tmyEndpoint.PrefixListId,\n\t\t\t},\n\t\t\tFromPort: pulumi.Int(0),\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myEndpoint = new VpcEndpoint(\"myEndpoint\");\n\n var allowAll = new SecurityGroupRule(\"allowAll\", SecurityGroupRuleArgs.builder() \n .type(\"egress\")\n .toPort(0)\n .protocol(\"-1\")\n .prefixListIds(myEndpoint.prefixListId())\n .fromPort(0)\n .securityGroupId(\"sg-123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowAll:\n type: aws:ec2:SecurityGroupRule\n properties:\n type: egress\n toPort: 0\n protocol: -1\n prefixListIds:\n - ${myEndpoint.prefixListId}\n fromPort: 0\n securityGroupId: sg-123456\n # ...\n myEndpoint:\n type: aws:ec2:VpcEndpoint\n```\n\nYou can also find a specific Prefix List using the [`aws.ec2.getPrefixList`](https://www.terraform.io/docs/providers/aws/d/prefix_list.html)\nor [`ec2_managed_prefix_list`](https://www.terraform.io/docs/providers/aws/d/ec2_managed_prefix_list.html) data sources:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst s3 = current.then(current =\u003e aws.ec2.getPrefixList({\n name: `com.amazonaws.${current.name}.s3`,\n}));\nconst s3GatewayEgress = new aws.ec2.SecurityGroupRule(\"s3GatewayEgress\", {\n description: \"S3 Gateway Egress\",\n type: \"egress\",\n securityGroupId: \"sg-123456\",\n fromPort: 443,\n toPort: 443,\n protocol: \"tcp\",\n prefixListIds: [s3.then(s3 =\u003e s3.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ns3 = aws.ec2.get_prefix_list(name=f\"com.amazonaws.{current.name}.s3\")\ns3_gateway_egress = aws.ec2.SecurityGroupRule(\"s3GatewayEgress\",\n description=\"S3 Gateway Egress\",\n type=\"egress\",\n security_group_id=\"sg-123456\",\n from_port=443,\n to_port=443,\n protocol=\"tcp\",\n prefix_list_ids=[s3.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var s3 = Aws.Ec2.GetPrefixList.Invoke(new()\n {\n Name = $\"com.amazonaws.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.s3\",\n });\n\n var s3GatewayEgress = new Aws.Ec2.SecurityGroupRule(\"s3GatewayEgress\", new()\n {\n Description = \"S3 Gateway Egress\",\n Type = \"egress\",\n SecurityGroupId = \"sg-123456\",\n FromPort = 443,\n ToPort = 443,\n Protocol = \"tcp\",\n PrefixListIds = new[]\n {\n s3.Apply(getPrefixListResult =\u003e getPrefixListResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3, err := ec2.GetPrefixList(ctx, \u0026ec2.GetPrefixListArgs{\n\t\t\tName: pulumi.StringRef(fmt.Sprintf(\"com.amazonaws.%v.s3\", current.Name)),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroupRule(ctx, \"s3GatewayEgress\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tDescription: pulumi.String(\"S3 Gateway Egress\"),\n\t\t\tType: pulumi.String(\"egress\"),\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tToPort: pulumi.Int(443),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\tPrefixListIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(s3.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPrefixListArgs;\nimport com.pulumi.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var s3 = Ec2Functions.getPrefixList(GetPrefixListArgs.builder()\n .name(String.format(\"com.amazonaws.%s.s3\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build());\n\n var s3GatewayEgress = new SecurityGroupRule(\"s3GatewayEgress\", SecurityGroupRuleArgs.builder() \n .description(\"S3 Gateway Egress\")\n .type(\"egress\")\n .securityGroupId(\"sg-123456\")\n .fromPort(443)\n .toPort(443)\n .protocol(\"tcp\")\n .prefixListIds(s3.applyValue(getPrefixListResult -\u003e getPrefixListResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3GatewayEgress:\n type: aws:ec2:SecurityGroupRule\n properties:\n # S3 Gateway interfaces are implemented at the routing level which means we\n # # can avoid the metered billing of a VPC endpoint interface by allowing\n # # outbound traffic to the public IP ranges, which will be routed through\n # # the Gateway interface:\n # # https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html\n description: S3 Gateway Egress\n type: egress\n securityGroupId: sg-123456\n fromPort: 443\n toPort: 443\n protocol: tcp\n prefixListIds:\n - ${s3.id}\nvariables:\n current:\n Fn::Invoke:\n Function: aws:getRegion\n Arguments: {}\n s3:\n Fn::Invoke:\n Function: aws:ec2:getPrefixList\n Arguments:\n name: com.amazonaws.${current.name}.s3\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nSecurity Group Rules can be imported using the `security_group_id`, `type`, `protocol`, `from_port`, `to_port`, and source(s)/destination(s) (e.g., `cidr_block`) separated by underscores (`_`). All parts are required. Not all rule permissions (e.g., not all of a rule's CIDR blocks) need to be imported for this provider to manage rule permissions. However, importing some of a rule's permissions but not others, and then making changes to the rule will result in the creation of an additional rule to capture the updated permissions. Rule permissions that were not imported are left intact in the original rule. Import an ingress rule in security group `sg-6e616f6d69` for TCP port 8000 with an IPv4 destination CIDR of `10.0.3.0/24`console\n\n```sh\n $ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-6e616f6d69_ingress_tcp_8000_8000_10.0.3.0/24\n```\n\n Import a rule with various IPv4 and IPv6 source CIDR blocksconsole\n\n```sh\n $ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-4973616163_ingress_tcp_100_121_10.1.0.0/16_2001:db8::/48_10.2.0.0/16_2002:db8::/48\n```\n\n Import a rule, applicable to all ports, with a protocol other than TCP/UDP/ICMP/ICMPV6/ALL, e.g., Multicast Transport Protocol (MTP), using the IANA protocol number, e.g., 92. console\n\n```sh\n $ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-6777656e646f6c796e_ingress_92_0_65536_10.0.3.0/24_10.0.4.0/24\n```\n\n Import a default any/any egress rule to 0.0.0.0/0console\n\n```sh\n $ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule default_egress sg-6777656e646f6c796e_egress_all_0_0_0.0.0.0/0\n```\n\n Import an egress rule with a prefix list ID destinationconsole\n\n```sh\n $ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule egress sg-62726f6479_egress_tcp_8000_8000_pl-6469726b\n```\n\n Import a rule applicable to all protocols and ports with a security group sourceconsole\n\n```sh\n $ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress_rule sg-7472697374616e_ingress_all_0_65536_sg-6176657279\n```\n\n Import a rule that has itself and an IPv6 CIDR block as sourcesconsole\n\n```sh\n $ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule rule_name sg-656c65616e6f72_ingress_tcp_80_80_self_2001:db8::/48\n```\n\n ", + "description": "Provides a security group rule resource. Represents a single `ingress` or\n`egress` group rule, which can be added to external Security Groups.\n\n\u003e **NOTE on Security Groups and Security Group Rules:** This provider currently\nprovides both a standalone Security Group Rule resource (one or many `ingress` or\n`egress` rules), and a Security Group resource with `ingress` and `egress` rules\ndefined in-line. At this time you cannot use a Security Group with in-line rules\nin conjunction with any Security Group Rule resources. Doing so will cause\na conflict of rule settings and will overwrite rules.\n\n\u003e **NOTE:** Setting `protocol = \"all\"` or `protocol = -1` with `from_port` and `to_port` will result in the EC2 API creating a security group rule with all ports open. This API behavior cannot be controlled by this provider and may generate warnings in the future.\n\n\u003e **NOTE:** Referencing Security Groups across VPC peering has certain restrictions. More information is available in the [VPC Peering User Guide](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-security-groups.html).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nBasic usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ec2.SecurityGroupRule(\"example\", {\n type: \"ingress\",\n fromPort: 0,\n toPort: 65535,\n protocol: \"tcp\",\n cidrBlocks: [aws_vpc.example.cidr_block],\n ipv6CidrBlocks: [aws_vpc.example.ipv6_cidr_block],\n securityGroupId: \"sg-123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ec2.SecurityGroupRule(\"example\",\n type=\"ingress\",\n from_port=0,\n to_port=65535,\n protocol=\"tcp\",\n cidr_blocks=[aws_vpc[\"example\"][\"cidr_block\"]],\n ipv6_cidr_blocks=[aws_vpc[\"example\"][\"ipv6_cidr_block\"]],\n security_group_id=\"sg-123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ec2.SecurityGroupRule(\"example\", new()\n {\n Type = \"ingress\",\n FromPort = 0,\n ToPort = 65535,\n Protocol = \"tcp\",\n CidrBlocks = new[]\n {\n aws_vpc.Example.Cidr_block,\n },\n Ipv6CidrBlocks = new[]\n {\n aws_vpc.Example.Ipv6_cidr_block,\n },\n SecurityGroupId = \"sg-123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSecurityGroupRule(ctx, \"example\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tFromPort: pulumi.Int(0),\n\t\t\tToPort: pulumi.Int(65535),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.Any(aws_vpc.Example.Cidr_block),\n\t\t\t},\n\t\t\tIpv6CidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.Any(aws_vpc.Example.Ipv6_cidr_block),\n\t\t\t},\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new SecurityGroupRule(\"example\", SecurityGroupRuleArgs.builder() \n .type(\"ingress\")\n .fromPort(0)\n .toPort(65535)\n .protocol(\"tcp\")\n .cidrBlocks(aws_vpc.example().cidr_block())\n .ipv6CidrBlocks(aws_vpc.example().ipv6_cidr_block())\n .securityGroupId(\"sg-123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:SecurityGroupRule\n properties:\n type: ingress\n fromPort: 0\n toPort: 65535\n protocol: tcp\n cidrBlocks:\n - ${aws_vpc.example.cidr_block}\n ipv6CidrBlocks:\n - ${aws_vpc.example.ipv6_cidr_block}\n securityGroupId: sg-123456\n```\n{{% /example %}}\n{{% example %}}\n### Usage With Prefix List IDs\n\nPrefix Lists are either managed by AWS internally, or created by the customer using a\nManaged Prefix List resource. Prefix Lists provided by\nAWS are associated with a prefix list name, or service name, that is linked to a specific region.\n\nPrefix list IDs are exported on VPC Endpoints, so you can use this format:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ...\nconst myEndpoint = new aws.ec2.VpcEndpoint(\"myEndpoint\", {});\n// ...\nconst allowAll = new aws.ec2.SecurityGroupRule(\"allowAll\", {\n type: \"egress\",\n toPort: 0,\n protocol: \"-1\",\n prefixListIds: [myEndpoint.prefixListId],\n fromPort: 0,\n securityGroupId: \"sg-123456\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ...\nmy_endpoint = aws.ec2.VpcEndpoint(\"myEndpoint\")\n# ...\nallow_all = aws.ec2.SecurityGroupRule(\"allowAll\",\n type=\"egress\",\n to_port=0,\n protocol=\"-1\",\n prefix_list_ids=[my_endpoint.prefix_list_id],\n from_port=0,\n security_group_id=\"sg-123456\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // ...\n var myEndpoint = new Aws.Ec2.VpcEndpoint(\"myEndpoint\");\n\n // ...\n var allowAll = new Aws.Ec2.SecurityGroupRule(\"allowAll\", new()\n {\n Type = \"egress\",\n ToPort = 0,\n Protocol = \"-1\",\n PrefixListIds = new[]\n {\n myEndpoint.PrefixListId,\n },\n FromPort = 0,\n SecurityGroupId = \"sg-123456\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyEndpoint, err := ec2.NewVpcEndpoint(ctx, \"myEndpoint\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroupRule(ctx, \"allowAll\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"egress\"),\n\t\t\tToPort: pulumi.Int(0),\n\t\t\tProtocol: pulumi.String(\"-1\"),\n\t\t\tPrefixListIds: pulumi.StringArray{\n\t\t\t\tmyEndpoint.PrefixListId,\n\t\t\t},\n\t\t\tFromPort: pulumi.Int(0),\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myEndpoint = new VpcEndpoint(\"myEndpoint\");\n\n var allowAll = new SecurityGroupRule(\"allowAll\", SecurityGroupRuleArgs.builder() \n .type(\"egress\")\n .toPort(0)\n .protocol(\"-1\")\n .prefixListIds(myEndpoint.prefixListId())\n .fromPort(0)\n .securityGroupId(\"sg-123456\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n allowAll:\n type: aws:ec2:SecurityGroupRule\n properties:\n type: egress\n toPort: 0\n protocol: -1\n prefixListIds:\n - ${myEndpoint.prefixListId}\n fromPort: 0\n securityGroupId: sg-123456\n # ...\n myEndpoint:\n type: aws:ec2:VpcEndpoint\n```\n\nYou can also find a specific Prefix List using the [`aws.ec2.getPrefixList`](https://www.terraform.io/docs/providers/aws/d/prefix_list.html)\nor [`ec2_managed_prefix_list`](https://www.terraform.io/docs/providers/aws/d/ec2_managed_prefix_list.html) data sources:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst s3 = current.then(current =\u003e aws.ec2.getPrefixList({\n name: `com.amazonaws.${current.name}.s3`,\n}));\nconst s3GatewayEgress = new aws.ec2.SecurityGroupRule(\"s3GatewayEgress\", {\n description: \"S3 Gateway Egress\",\n type: \"egress\",\n securityGroupId: \"sg-123456\",\n fromPort: 443,\n toPort: 443,\n protocol: \"tcp\",\n prefixListIds: [s3.then(s3 =\u003e s3.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\ns3 = aws.ec2.get_prefix_list(name=f\"com.amazonaws.{current.name}.s3\")\ns3_gateway_egress = aws.ec2.SecurityGroupRule(\"s3GatewayEgress\",\n description=\"S3 Gateway Egress\",\n type=\"egress\",\n security_group_id=\"sg-123456\",\n from_port=443,\n to_port=443,\n protocol=\"tcp\",\n prefix_list_ids=[s3.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var s3 = Aws.Ec2.GetPrefixList.Invoke(new()\n {\n Name = $\"com.amazonaws.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.s3\",\n });\n\n var s3GatewayEgress = new Aws.Ec2.SecurityGroupRule(\"s3GatewayEgress\", new()\n {\n Description = \"S3 Gateway Egress\",\n Type = \"egress\",\n SecurityGroupId = \"sg-123456\",\n FromPort = 443,\n ToPort = 443,\n Protocol = \"tcp\",\n PrefixListIds = new[]\n {\n s3.Apply(getPrefixListResult =\u003e getPrefixListResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3, err := ec2.GetPrefixList(ctx, \u0026ec2.GetPrefixListArgs{\n\t\t\tName: pulumi.StringRef(fmt.Sprintf(\"com.amazonaws.%v.s3\", current.Name)),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewSecurityGroupRule(ctx, \"s3GatewayEgress\", \u0026ec2.SecurityGroupRuleArgs{\n\t\t\tDescription: pulumi.String(\"S3 Gateway Egress\"),\n\t\t\tType: pulumi.String(\"egress\"),\n\t\t\tSecurityGroupId: pulumi.String(\"sg-123456\"),\n\t\t\tFromPort: pulumi.Int(443),\n\t\t\tToPort: pulumi.Int(443),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\tPrefixListIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(s3.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetPrefixListArgs;\nimport com.pulumi.aws.ec2.SecurityGroupRule;\nimport com.pulumi.aws.ec2.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var s3 = Ec2Functions.getPrefixList(GetPrefixListArgs.builder()\n .name(String.format(\"com.amazonaws.%s.s3\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build());\n\n var s3GatewayEgress = new SecurityGroupRule(\"s3GatewayEgress\", SecurityGroupRuleArgs.builder() \n .description(\"S3 Gateway Egress\")\n .type(\"egress\")\n .securityGroupId(\"sg-123456\")\n .fromPort(443)\n .toPort(443)\n .protocol(\"tcp\")\n .prefixListIds(s3.applyValue(getPrefixListResult -\u003e getPrefixListResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3GatewayEgress:\n type: aws:ec2:SecurityGroupRule\n properties:\n # S3 Gateway interfaces are implemented at the routing level which means we\n # # can avoid the metered billing of a VPC endpoint interface by allowing\n # # outbound traffic to the public IP ranges, which will be routed through\n # # the Gateway interface:\n # # https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html\n description: S3 Gateway Egress\n type: egress\n securityGroupId: sg-123456\n fromPort: 443\n toPort: 443\n protocol: tcp\n prefixListIds:\n - ${s3.id}\nvariables:\n current:\n Fn::Invoke:\n Function: aws:getRegion\n Arguments: {}\n s3:\n Fn::Invoke:\n Function: aws:ec2:getPrefixList\n Arguments:\n name: com.amazonaws.${current.name}.s3\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nSecurity Group Rules can be imported using the `security_group_id`, `type`, `protocol`, `from_port`, `to_port`, and source(s)/destination(s) (e.g., `cidr_block`) separated by underscores (`_`). All parts are required. Not all rule permissions (e.g., not all of a rule's CIDR blocks) need to be imported for this provider to manage rule permissions. However, importing some of a rule's permissions but not others, and then making changes to the rule will result in the creation of an additional rule to capture the updated permissions. Rule permissions that were not imported are left intact in the original rule. Import an ingress rule in security group `sg-6e616f6d69` for TCP port 8000 with an IPv4 destination CIDR of `10.0.3.0/24`console\n\n```sh\n $ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-6e616f6d69_ingress_tcp_8000_8000_10.0.3.0/24\n```\n\n Import a rule with various IPv4 and IPv6 source CIDR blocksconsole\n\n```sh\n $ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-4973616163_ingress_tcp_100_121_10.1.0.0/16_2001:db8::/48_10.2.0.0/16_2002:db8::/48\n```\n\n Import a rule, applicable to all ports, with a protocol other than TCP/UDP/ICMP/ICMPV6/ALL, e.g., Multicast Transport Protocol (MTP), using the IANA protocol number, e.g., 92. console\n\n```sh\n $ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress sg-6777656e646f6c796e_ingress_92_0_65536_10.0.3.0/24_10.0.4.0/24\n```\n\n Import a default any/any egress rule to 0.0.0.0/0console\n\n```sh\n $ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule default_egress sg-6777656e646f6c796e_egress_all_0_0_0.0.0.0/0\n```\n\n Import an egress rule with a prefix list ID destinationconsole\n\n```sh\n $ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule egress sg-62726f6479_egress_tcp_8000_8000_pl-6469726b\n```\n\n Import a rule applicable to all protocols and ports with a security group sourceconsole\n\n```sh\n $ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule ingress_rule sg-7472697374616e_ingress_all_0_65536_sg-6176657279\n```\n\n Import a rule that has itself and an IPv6 CIDR block as sourcesconsole\n\n```sh\n $ pulumi import aws:ec2/securityGroupRule:SecurityGroupRule rule_name sg-656c65616e6f72_ingress_tcp_80_80_self_2001:db8::/48\n```\n\n ", "properties": { "cidrBlocks": { "type": "array", @@ -435796,7 +439285,7 @@ } }, "aws:ec2/spotInstanceRequest:SpotInstanceRequest": { - "description": "Provides an EC2 Spot Instance Request resource. This allows instances to be\nrequested on the spot market.\n\nBy default this provider creates Spot Instance Requests with a `persistent` type,\nwhich means that for the duration of their lifetime, AWS will launch an\ninstance with the configured details if and when the spot market will accept\nthe requested price.\n\nOn destruction, this provider will make an attempt to terminate the associated Spot\nInstance if there is one present.\n\nSpot Instances requests with a `one-time` type will close the spot request\nwhen the instance is terminated either by the request being below the current spot\nprice availability or by a user.\n\n\u003e **NOTE:** Because their behavior depends on the live status of the spot\nmarket, Spot Instance Requests have a unique lifecycle that makes them behave\ndifferently than other resources. Most importantly: there is __no\nguarantee__ that a Spot Instance exists to fulfill the request at any given\npoint in time. See the [AWS Spot Instance\ndocumentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html)\nfor more information.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Request a spot instance at $0.03\nconst cheapWorker = new aws.ec2.SpotInstanceRequest(\"cheap_worker\", {\n ami: \"ami-1234\",\n instanceType: \"c4.xlarge\",\n spotPrice: \"0.03\",\n tags: {\n Name: \"CheapWorker\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Request a spot instance at $0.03\ncheap_worker = aws.ec2.SpotInstanceRequest(\"cheapWorker\",\n ami=\"ami-1234\",\n instance_type=\"c4.xlarge\",\n spot_price=\"0.03\",\n tags={\n \"Name\": \"CheapWorker\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Request a spot instance at $0.03\n var cheapWorker = new Aws.Ec2.SpotInstanceRequest(\"cheapWorker\", new()\n {\n Ami = \"ami-1234\",\n InstanceType = \"c4.xlarge\",\n SpotPrice = \"0.03\",\n Tags = \n {\n { \"Name\", \"CheapWorker\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSpotInstanceRequest(ctx, \"cheapWorker\", \u0026ec2.SpotInstanceRequestArgs{\n\t\t\tAmi: pulumi.String(\"ami-1234\"),\n\t\t\tInstanceType: pulumi.String(\"c4.xlarge\"),\n\t\t\tSpotPrice: pulumi.String(\"0.03\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"CheapWorker\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SpotInstanceRequest;\nimport com.pulumi.aws.ec2.SpotInstanceRequestArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var cheapWorker = new SpotInstanceRequest(\"cheapWorker\", SpotInstanceRequestArgs.builder() \n .ami(\"ami-1234\")\n .instanceType(\"c4.xlarge\")\n .spotPrice(\"0.03\")\n .tags(Map.of(\"Name\", \"CheapWorker\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Request a spot instance at $0.03\n cheapWorker:\n type: aws:ec2:SpotInstanceRequest\n properties:\n ami: ami-1234\n instanceType: c4.xlarge\n spotPrice: 0.03\n tags:\n Name: CheapWorker\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Provides an EC2 Spot Instance Request resource. This allows instances to be\nrequested on the spot market.\n\nBy default this provider creates Spot Instance Requests with a `persistent` type,\nwhich means that for the duration of their lifetime, AWS will launch an\ninstance with the configured details if and when the spot market will accept\nthe requested price.\n\nOn destruction, this provider will make an attempt to terminate the associated Spot\nInstance if there is one present.\n\nSpot Instances requests with a `one-time` type will close the spot request\nwhen the instance is terminated either by the request being below the current spot\nprice availability or by a user.\n\n\u003e **NOTE:** Because their behavior depends on the live status of the spot\nmarket, Spot Instance Requests have a unique lifecycle that makes them behave\ndifferently than other resources. Most importantly: there is __no\nguarantee__ that a Spot Instance exists to fulfill the request at any given\npoint in time. See the [AWS Spot Instance\ndocumentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html)\nfor more information.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Request a spot instance at $0.03\nconst cheapWorker = new aws.ec2.SpotInstanceRequest(\"cheap_worker\", {\n ami: \"ami-1234\",\n instanceType: \"c4.xlarge\",\n spotPrice: \"0.03\",\n tags: {\n Name: \"CheapWorker\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Request a spot instance at $0.03\ncheap_worker = aws.ec2.SpotInstanceRequest(\"cheapWorker\",\n ami=\"ami-1234\",\n instance_type=\"c4.xlarge\",\n spot_price=\"0.03\",\n tags={\n \"Name\": \"CheapWorker\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Request a spot instance at $0.03\n var cheapWorker = new Aws.Ec2.SpotInstanceRequest(\"cheapWorker\", new()\n {\n Ami = \"ami-1234\",\n InstanceType = \"c4.xlarge\",\n SpotPrice = \"0.03\",\n Tags = \n {\n { \"Name\", \"CheapWorker\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewSpotInstanceRequest(ctx, \"cheapWorker\", \u0026ec2.SpotInstanceRequestArgs{\n\t\t\tAmi: pulumi.String(\"ami-1234\"),\n\t\t\tInstanceType: pulumi.String(\"c4.xlarge\"),\n\t\t\tSpotPrice: pulumi.String(\"0.03\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"CheapWorker\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.SpotInstanceRequest;\nimport com.pulumi.aws.ec2.SpotInstanceRequestArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var cheapWorker = new SpotInstanceRequest(\"cheapWorker\", SpotInstanceRequestArgs.builder() \n .ami(\"ami-1234\")\n .instanceType(\"c4.xlarge\")\n .spotPrice(\"0.03\")\n .tags(Map.of(\"Name\", \"CheapWorker\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Request a spot instance at $0.03\n cheapWorker:\n type: aws:ec2:SpotInstanceRequest\n properties:\n ami: ami-1234\n instanceType: c4.xlarge\n spotPrice: 0.03\n tags:\n Name: CheapWorker\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "ami": { "type": "string", @@ -437984,7 +441473,11 @@ }, "enableDnsSupport": { "type": "boolean", - "description": "A boolean flag to enable/disable DNS support in the VPC. Defaults true.\n" + "description": "A boolean flag to enable/disable DNS support in the VPC. Defaults to true.\n" + }, + "enableNetworkAddressUsageMetrics": { + "type": "boolean", + "description": "Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false.\n" }, "instanceTenancy": { "type": "string", @@ -438051,6 +441544,7 @@ "enableClassiclink", "enableClassiclinkDnsSupport", "enableDnsHostnames", + "enableNetworkAddressUsageMetrics", "ipv6AssociationId", "ipv6CidrBlock", "ipv6CidrBlockNetworkBorderGroup", @@ -438084,7 +441578,11 @@ }, "enableDnsSupport": { "type": "boolean", - "description": "A boolean flag to enable/disable DNS support in the VPC. Defaults true.\n" + "description": "A boolean flag to enable/disable DNS support in the VPC. Defaults to true.\n" + }, + "enableNetworkAddressUsageMetrics": { + "type": "boolean", + "description": "Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false.\n" }, "instanceTenancy": { "type": "string", @@ -438171,7 +441669,11 @@ }, "enableDnsSupport": { "type": "boolean", - "description": "A boolean flag to enable/disable DNS support in the VPC. Defaults true.\n" + "description": "A boolean flag to enable/disable DNS support in the VPC. Defaults to true.\n" + }, + "enableNetworkAddressUsageMetrics": { + "type": "boolean", + "description": "Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false.\n" }, "instanceTenancy": { "type": "string", @@ -440366,7 +443868,7 @@ } }, "aws:ec2/vpcPeeringConnection:VpcPeeringConnection": { - "description": "Provides a resource to manage a VPC peering connection.\n\n\u003e **NOTE on VPC Peering Connections and VPC Peering Connection Options:** This provider provides\nboth a standalone VPC Peering Connection Options and a VPC Peering Connection\nresource with `accepter` and `requester` attributes. Do not manage options for the same VPC peering\nconnection in both a VPC Peering Connection resource and a VPC Peering Connection Options resource.\nDoing so will cause a conflict of options and will overwrite the options.\nUsing a VPC Peering Connection Options resource decouples management of the connection options from\nmanagement of the VPC Peering Connection and allows options to be set correctly in cross-account scenarios.\n\n\u003e **Note:** For cross-account (requester's AWS account differs from the accepter's AWS account) or inter-region\nVPC Peering Connections use the `aws.ec2.VpcPeeringConnection` resource to manage the requester's side of the\nconnection and use the `aws.ec2.VpcPeeringConnectionAccepter` resource to manage the accepter's side of the connection.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.VpcPeeringConnection(\"foo\", {\n peerOwnerId: _var.peer_owner_id,\n peerVpcId: aws_vpc.bar.id,\n vpcId: aws_vpc.foo.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.VpcPeeringConnection(\"foo\",\n peer_owner_id=var[\"peer_owner_id\"],\n peer_vpc_id=aws_vpc[\"bar\"][\"id\"],\n vpc_id=aws_vpc[\"foo\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.VpcPeeringConnection(\"foo\", new()\n {\n PeerOwnerId = @var.Peer_owner_id,\n PeerVpcId = aws_vpc.Bar.Id,\n VpcId = aws_vpc.Foo.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcPeeringConnection(ctx, \"foo\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tPeerOwnerId: pulumi.Any(_var.Peer_owner_id),\n\t\t\tPeerVpcId: pulumi.Any(aws_vpc.Bar.Id),\n\t\t\tVpcId: pulumi.Any(aws_vpc.Foo.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new VpcPeeringConnection(\"foo\", VpcPeeringConnectionArgs.builder() \n .peerOwnerId(var_.peer_owner_id())\n .peerVpcId(aws_vpc.bar().id())\n .vpcId(aws_vpc.foo().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:VpcPeeringConnection\n properties:\n peerOwnerId: ${var.peer_owner_id}\n peerVpcId: ${aws_vpc.bar.id}\n vpcId: ${aws_vpc.foo.id}\n```\n\nBasic usage with connection options:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.VpcPeeringConnection(\"foo\", {\n peerOwnerId: _var.peer_owner_id,\n peerVpcId: aws_vpc.bar.id,\n vpcId: aws_vpc.foo.id,\n accepter: {\n allowRemoteVpcDnsResolution: true,\n },\n requester: {\n allowRemoteVpcDnsResolution: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.VpcPeeringConnection(\"foo\",\n peer_owner_id=var[\"peer_owner_id\"],\n peer_vpc_id=aws_vpc[\"bar\"][\"id\"],\n vpc_id=aws_vpc[\"foo\"][\"id\"],\n accepter=aws.ec2.VpcPeeringConnectionAccepterArgs(\n allow_remote_vpc_dns_resolution=True,\n ),\n requester=aws.ec2.VpcPeeringConnectionRequesterArgs(\n allow_remote_vpc_dns_resolution=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.VpcPeeringConnection(\"foo\", new()\n {\n PeerOwnerId = @var.Peer_owner_id,\n PeerVpcId = aws_vpc.Bar.Id,\n VpcId = aws_vpc.Foo.Id,\n Accepter = new Aws.Ec2.Inputs.VpcPeeringConnectionAccepterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n Requester = new Aws.Ec2.Inputs.VpcPeeringConnectionRequesterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcPeeringConnection(ctx, \"foo\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tPeerOwnerId: pulumi.Any(_var.Peer_owner_id),\n\t\t\tPeerVpcId: pulumi.Any(aws_vpc.Bar.Id),\n\t\t\tVpcId: pulumi.Any(aws_vpc.Foo.Id),\n\t\t\tAccepter: \u0026ec2.VpcPeeringConnectionAccepterTypeArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\n\t\t\t},\n\t\t\tRequester: \u0026ec2.VpcPeeringConnectionRequesterArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.inputs.VpcPeeringConnectionAccepterArgs;\nimport com.pulumi.aws.ec2.inputs.VpcPeeringConnectionRequesterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new VpcPeeringConnection(\"foo\", VpcPeeringConnectionArgs.builder() \n .peerOwnerId(var_.peer_owner_id())\n .peerVpcId(aws_vpc.bar().id())\n .vpcId(aws_vpc.foo().id())\n .accepter(VpcPeeringConnectionAccepterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .requester(VpcPeeringConnectionRequesterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:VpcPeeringConnection\n properties:\n peerOwnerId: ${var.peer_owner_id}\n peerVpcId: ${aws_vpc.bar.id}\n vpcId: ${aws_vpc.foo.id}\n accepter:\n allowRemoteVpcDnsResolution: true\n requester:\n allowRemoteVpcDnsResolution: true\n```\n\nBasic usage with tags:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fooVpc = new aws.ec2.Vpc(\"fooVpc\", {cidrBlock: \"10.1.0.0/16\"});\nconst bar = new aws.ec2.Vpc(\"bar\", {cidrBlock: \"10.2.0.0/16\"});\nconst fooVpcPeeringConnection = new aws.ec2.VpcPeeringConnection(\"fooVpcPeeringConnection\", {\n peerOwnerId: _var.peer_owner_id,\n peerVpcId: bar.id,\n vpcId: fooVpc.id,\n autoAccept: true,\n tags: {\n Name: \"VPC Peering between foo and bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo_vpc = aws.ec2.Vpc(\"fooVpc\", cidr_block=\"10.1.0.0/16\")\nbar = aws.ec2.Vpc(\"bar\", cidr_block=\"10.2.0.0/16\")\nfoo_vpc_peering_connection = aws.ec2.VpcPeeringConnection(\"fooVpcPeeringConnection\",\n peer_owner_id=var[\"peer_owner_id\"],\n peer_vpc_id=bar.id,\n vpc_id=foo_vpc.id,\n auto_accept=True,\n tags={\n \"Name\": \"VPC Peering between foo and bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooVpc = new Aws.Ec2.Vpc(\"fooVpc\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var bar = new Aws.Ec2.Vpc(\"bar\", new()\n {\n CidrBlock = \"10.2.0.0/16\",\n });\n\n var fooVpcPeeringConnection = new Aws.Ec2.VpcPeeringConnection(\"fooVpcPeeringConnection\", new()\n {\n PeerOwnerId = @var.Peer_owner_id,\n PeerVpcId = bar.Id,\n VpcId = fooVpc.Id,\n AutoAccept = true,\n Tags = \n {\n { \"Name\", \"VPC Peering between foo and bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooVpc, err := ec2.NewVpc(ctx, \"fooVpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewVpc(ctx, \"bar\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.2.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcPeeringConnection(ctx, \"fooVpcPeeringConnection\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tPeerOwnerId: pulumi.Any(_var.Peer_owner_id),\n\t\t\tPeerVpcId: bar.ID(),\n\t\t\tVpcId: fooVpc.ID(),\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"VPC Peering between foo and bar\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fooVpc = new Vpc(\"fooVpc\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var bar = new Vpc(\"bar\", VpcArgs.builder() \n .cidrBlock(\"10.2.0.0/16\")\n .build());\n\n var fooVpcPeeringConnection = new VpcPeeringConnection(\"fooVpcPeeringConnection\", VpcPeeringConnectionArgs.builder() \n .peerOwnerId(var_.peer_owner_id())\n .peerVpcId(bar.id())\n .vpcId(fooVpc.id())\n .autoAccept(true)\n .tags(Map.of(\"Name\", \"VPC Peering between foo and bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooVpcPeeringConnection:\n type: aws:ec2:VpcPeeringConnection\n properties:\n peerOwnerId: ${var.peer_owner_id}\n peerVpcId: ${bar.id}\n vpcId: ${fooVpc.id}\n autoAccept: true\n tags:\n Name: VPC Peering between foo and bar\n fooVpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n bar:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.2.0.0/16\n```\n\nBasic usage with region:\n\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fooVpc = new aws.ec2.Vpc(\"fooVpc\", {cidrBlock: \"10.1.0.0/16\"}, {\n provider: aws[\"us-west-2\"],\n});\nconst bar = new aws.ec2.Vpc(\"bar\", {cidrBlock: \"10.2.0.0/16\"}, {\n provider: aws[\"us-east-1\"],\n});\nconst fooVpcPeeringConnection = new aws.ec2.VpcPeeringConnection(\"fooVpcPeeringConnection\", {\n peerOwnerId: _var.peer_owner_id,\n peerVpcId: bar.id,\n vpcId: fooVpc.id,\n peerRegion: \"us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo_vpc = aws.ec2.Vpc(\"fooVpc\", cidr_block=\"10.1.0.0/16\",\nopts=pulumi.ResourceOptions(provider=aws[\"us-west-2\"]))\nbar = aws.ec2.Vpc(\"bar\", cidr_block=\"10.2.0.0/16\",\nopts=pulumi.ResourceOptions(provider=aws[\"us-east-1\"]))\nfoo_vpc_peering_connection = aws.ec2.VpcPeeringConnection(\"fooVpcPeeringConnection\",\n peer_owner_id=var[\"peer_owner_id\"],\n peer_vpc_id=bar.id,\n vpc_id=foo_vpc.id,\n peer_region=\"us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooVpc = new Aws.Ec2.Vpc(\"fooVpc\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n }, new CustomResourceOptions\n {\n Provider = aws.Us_west_2,\n });\n\n var bar = new Aws.Ec2.Vpc(\"bar\", new()\n {\n CidrBlock = \"10.2.0.0/16\",\n }, new CustomResourceOptions\n {\n Provider = aws.Us_east_1,\n });\n\n var fooVpcPeeringConnection = new Aws.Ec2.VpcPeeringConnection(\"fooVpcPeeringConnection\", new()\n {\n PeerOwnerId = @var.Peer_owner_id,\n PeerVpcId = bar.Id,\n VpcId = fooVpc.Id,\n PeerRegion = \"us-east-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooVpc, err := ec2.NewVpc(ctx, \"fooVpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t}, pulumi.Provider(aws.Us-west-2))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewVpc(ctx, \"bar\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.2.0.0/16\"),\n\t\t}, pulumi.Provider(aws.Us-east-1))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcPeeringConnection(ctx, \"fooVpcPeeringConnection\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tPeerOwnerId: pulumi.Any(_var.Peer_owner_id),\n\t\t\tPeerVpcId: bar.ID(),\n\t\t\tVpcId: fooVpc.ID(),\n\t\t\tPeerRegion: pulumi.String(\"us-east-1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fooVpc = new Vpc(\"fooVpc\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .build(), CustomResourceOptions.builder()\n .provider(aws.us-west-2())\n .build());\n\n var bar = new Vpc(\"bar\", VpcArgs.builder() \n .cidrBlock(\"10.2.0.0/16\")\n .build(), CustomResourceOptions.builder()\n .provider(aws.us-east-1())\n .build());\n\n var fooVpcPeeringConnection = new VpcPeeringConnection(\"fooVpcPeeringConnection\", VpcPeeringConnectionArgs.builder() \n .peerOwnerId(var_.peer_owner_id())\n .peerVpcId(bar.id())\n .vpcId(fooVpc.id())\n .peerRegion(\"us-east-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooVpcPeeringConnection:\n type: aws:ec2:VpcPeeringConnection\n properties:\n peerOwnerId: ${var.peer_owner_id}\n peerVpcId: ${bar.id}\n vpcId: ${fooVpc.id}\n peerRegion: us-east-1\n fooVpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n options:\n provider: ${aws\"us-west-2\"[%!s(MISSING)]}\n bar:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.2.0.0/16\n options:\n provider: ${aws\"us-east-1\"[%!s(MISSING)]}\n```\n{{% /example %}}\n{{% /examples %}}\n## Notes\n\nIf both VPCs are not in the same AWS account and region do not enable the `auto_accept` attribute.\nThe accepter can manage its side of the connection using the `aws.ec2.VpcPeeringConnectionAccepter` resource\nor accept the connection manually using the AWS Management Console, AWS CLI, through SDKs, etc.\n\n\n## Import\n\nVPC Peering resources can be imported using the `vpc peering id`, e.g.,\n\n```sh\n $ pulumi import aws:ec2/vpcPeeringConnection:VpcPeeringConnection test_connection pcx-111aaa111\n```\n\n [1]/docs/providers/aws/index.html ", + "description": "Provides a resource to manage a VPC peering connection.\n\n\u003e **NOTE on VPC Peering Connections and VPC Peering Connection Options:** This provider provides\nboth a standalone VPC Peering Connection Options and a VPC Peering Connection\nresource with `accepter` and `requester` attributes. Do not manage options for the same VPC peering\nconnection in both a VPC Peering Connection resource and a VPC Peering Connection Options resource.\nDoing so will cause a conflict of options and will overwrite the options.\nUsing a VPC Peering Connection Options resource decouples management of the connection options from\nmanagement of the VPC Peering Connection and allows options to be set correctly in cross-account scenarios.\n\n\u003e **Note:** For cross-account (requester's AWS account differs from the accepter's AWS account) or inter-region\nVPC Peering Connections use the `aws.ec2.VpcPeeringConnection` resource to manage the requester's side of the\nconnection and use the `aws.ec2.VpcPeeringConnectionAccepter` resource to manage the accepter's side of the connection.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.VpcPeeringConnection(\"foo\", {\n peerOwnerId: _var.peer_owner_id,\n peerVpcId: aws_vpc.bar.id,\n vpcId: aws_vpc.foo.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.VpcPeeringConnection(\"foo\",\n peer_owner_id=var[\"peer_owner_id\"],\n peer_vpc_id=aws_vpc[\"bar\"][\"id\"],\n vpc_id=aws_vpc[\"foo\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.VpcPeeringConnection(\"foo\", new()\n {\n PeerOwnerId = @var.Peer_owner_id,\n PeerVpcId = aws_vpc.Bar.Id,\n VpcId = aws_vpc.Foo.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcPeeringConnection(ctx, \"foo\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tPeerOwnerId: pulumi.Any(_var.Peer_owner_id),\n\t\t\tPeerVpcId: pulumi.Any(aws_vpc.Bar.Id),\n\t\t\tVpcId: pulumi.Any(aws_vpc.Foo.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new VpcPeeringConnection(\"foo\", VpcPeeringConnectionArgs.builder() \n .peerOwnerId(var_.peer_owner_id())\n .peerVpcId(aws_vpc.bar().id())\n .vpcId(aws_vpc.foo().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:VpcPeeringConnection\n properties:\n peerOwnerId: ${var.peer_owner_id}\n peerVpcId: ${aws_vpc.bar.id}\n vpcId: ${aws_vpc.foo.id}\n```\n\nBasic usage with connection options:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ec2.VpcPeeringConnection(\"foo\", {\n peerOwnerId: _var.peer_owner_id,\n peerVpcId: aws_vpc.bar.id,\n vpcId: aws_vpc.foo.id,\n accepter: {\n allowRemoteVpcDnsResolution: true,\n },\n requester: {\n allowRemoteVpcDnsResolution: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ec2.VpcPeeringConnection(\"foo\",\n peer_owner_id=var[\"peer_owner_id\"],\n peer_vpc_id=aws_vpc[\"bar\"][\"id\"],\n vpc_id=aws_vpc[\"foo\"][\"id\"],\n accepter=aws.ec2.VpcPeeringConnectionAccepterArgs(\n allow_remote_vpc_dns_resolution=True,\n ),\n requester=aws.ec2.VpcPeeringConnectionRequesterArgs(\n allow_remote_vpc_dns_resolution=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ec2.VpcPeeringConnection(\"foo\", new()\n {\n PeerOwnerId = @var.Peer_owner_id,\n PeerVpcId = aws_vpc.Bar.Id,\n VpcId = aws_vpc.Foo.Id,\n Accepter = new Aws.Ec2.Inputs.VpcPeeringConnectionAccepterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n Requester = new Aws.Ec2.Inputs.VpcPeeringConnectionRequesterArgs\n {\n AllowRemoteVpcDnsResolution = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcPeeringConnection(ctx, \"foo\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tPeerOwnerId: pulumi.Any(_var.Peer_owner_id),\n\t\t\tPeerVpcId: pulumi.Any(aws_vpc.Bar.Id),\n\t\t\tVpcId: pulumi.Any(aws_vpc.Foo.Id),\n\t\t\tAccepter: \u0026ec2.VpcPeeringConnectionAccepterTypeArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\n\t\t\t},\n\t\t\tRequester: \u0026ec2.VpcPeeringConnectionRequesterArgs{\n\t\t\t\tAllowRemoteVpcDnsResolution: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.inputs.VpcPeeringConnectionAccepterArgs;\nimport com.pulumi.aws.ec2.inputs.VpcPeeringConnectionRequesterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new VpcPeeringConnection(\"foo\", VpcPeeringConnectionArgs.builder() \n .peerOwnerId(var_.peer_owner_id())\n .peerVpcId(aws_vpc.bar().id())\n .vpcId(aws_vpc.foo().id())\n .accepter(VpcPeeringConnectionAccepterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .requester(VpcPeeringConnectionRequesterArgs.builder()\n .allowRemoteVpcDnsResolution(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ec2:VpcPeeringConnection\n properties:\n peerOwnerId: ${var.peer_owner_id}\n peerVpcId: ${aws_vpc.bar.id}\n vpcId: ${aws_vpc.foo.id}\n accepter:\n allowRemoteVpcDnsResolution: true\n requester:\n allowRemoteVpcDnsResolution: true\n```\n\nBasic usage with tags:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fooVpc = new aws.ec2.Vpc(\"fooVpc\", {cidrBlock: \"10.1.0.0/16\"});\nconst bar = new aws.ec2.Vpc(\"bar\", {cidrBlock: \"10.2.0.0/16\"});\nconst fooVpcPeeringConnection = new aws.ec2.VpcPeeringConnection(\"fooVpcPeeringConnection\", {\n peerOwnerId: _var.peer_owner_id,\n peerVpcId: bar.id,\n vpcId: fooVpc.id,\n autoAccept: true,\n tags: {\n Name: \"VPC Peering between foo and bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo_vpc = aws.ec2.Vpc(\"fooVpc\", cidr_block=\"10.1.0.0/16\")\nbar = aws.ec2.Vpc(\"bar\", cidr_block=\"10.2.0.0/16\")\nfoo_vpc_peering_connection = aws.ec2.VpcPeeringConnection(\"fooVpcPeeringConnection\",\n peer_owner_id=var[\"peer_owner_id\"],\n peer_vpc_id=bar.id,\n vpc_id=foo_vpc.id,\n auto_accept=True,\n tags={\n \"Name\": \"VPC Peering between foo and bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooVpc = new Aws.Ec2.Vpc(\"fooVpc\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n });\n\n var bar = new Aws.Ec2.Vpc(\"bar\", new()\n {\n CidrBlock = \"10.2.0.0/16\",\n });\n\n var fooVpcPeeringConnection = new Aws.Ec2.VpcPeeringConnection(\"fooVpcPeeringConnection\", new()\n {\n PeerOwnerId = @var.Peer_owner_id,\n PeerVpcId = bar.Id,\n VpcId = fooVpc.Id,\n AutoAccept = true,\n Tags = \n {\n { \"Name\", \"VPC Peering between foo and bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooVpc, err := ec2.NewVpc(ctx, \"fooVpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewVpc(ctx, \"bar\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.2.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcPeeringConnection(ctx, \"fooVpcPeeringConnection\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tPeerOwnerId: pulumi.Any(_var.Peer_owner_id),\n\t\t\tPeerVpcId: bar.ID(),\n\t\t\tVpcId: fooVpc.ID(),\n\t\t\tAutoAccept: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"VPC Peering between foo and bar\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fooVpc = new Vpc(\"fooVpc\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .build());\n\n var bar = new Vpc(\"bar\", VpcArgs.builder() \n .cidrBlock(\"10.2.0.0/16\")\n .build());\n\n var fooVpcPeeringConnection = new VpcPeeringConnection(\"fooVpcPeeringConnection\", VpcPeeringConnectionArgs.builder() \n .peerOwnerId(var_.peer_owner_id())\n .peerVpcId(bar.id())\n .vpcId(fooVpc.id())\n .autoAccept(true)\n .tags(Map.of(\"Name\", \"VPC Peering between foo and bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooVpcPeeringConnection:\n type: aws:ec2:VpcPeeringConnection\n properties:\n peerOwnerId: ${var.peer_owner_id}\n peerVpcId: ${bar.id}\n vpcId: ${fooVpc.id}\n autoAccept: true\n tags:\n Name: VPC Peering between foo and bar\n fooVpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n bar:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.2.0.0/16\n```\n\nBasic usage with region:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fooVpc = new aws.ec2.Vpc(\"fooVpc\", {cidrBlock: \"10.1.0.0/16\"}, {\n provider: aws[\"us-west-2\"],\n});\nconst bar = new aws.ec2.Vpc(\"bar\", {cidrBlock: \"10.2.0.0/16\"}, {\n provider: aws[\"us-east-1\"],\n});\nconst fooVpcPeeringConnection = new aws.ec2.VpcPeeringConnection(\"fooVpcPeeringConnection\", {\n peerOwnerId: _var.peer_owner_id,\n peerVpcId: bar.id,\n vpcId: fooVpc.id,\n peerRegion: \"us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo_vpc = aws.ec2.Vpc(\"fooVpc\", cidr_block=\"10.1.0.0/16\",\nopts=pulumi.ResourceOptions(provider=aws[\"us-west-2\"]))\nbar = aws.ec2.Vpc(\"bar\", cidr_block=\"10.2.0.0/16\",\nopts=pulumi.ResourceOptions(provider=aws[\"us-east-1\"]))\nfoo_vpc_peering_connection = aws.ec2.VpcPeeringConnection(\"fooVpcPeeringConnection\",\n peer_owner_id=var[\"peer_owner_id\"],\n peer_vpc_id=bar.id,\n vpc_id=foo_vpc.id,\n peer_region=\"us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooVpc = new Aws.Ec2.Vpc(\"fooVpc\", new()\n {\n CidrBlock = \"10.1.0.0/16\",\n }, new CustomResourceOptions\n {\n Provider = aws.Us_west_2,\n });\n\n var bar = new Aws.Ec2.Vpc(\"bar\", new()\n {\n CidrBlock = \"10.2.0.0/16\",\n }, new CustomResourceOptions\n {\n Provider = aws.Us_east_1,\n });\n\n var fooVpcPeeringConnection = new Aws.Ec2.VpcPeeringConnection(\"fooVpcPeeringConnection\", new()\n {\n PeerOwnerId = @var.Peer_owner_id,\n PeerVpcId = bar.Id,\n VpcId = fooVpc.Id,\n PeerRegion = \"us-east-1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooVpc, err := ec2.NewVpc(ctx, \"fooVpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t}, pulumi.Provider(aws.Us-west-2))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ec2.NewVpc(ctx, \"bar\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.2.0.0/16\"),\n\t\t}, pulumi.Provider(aws.Us-east-1))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcPeeringConnection(ctx, \"fooVpcPeeringConnection\", \u0026ec2.VpcPeeringConnectionArgs{\n\t\t\tPeerOwnerId: pulumi.Any(_var.Peer_owner_id),\n\t\t\tPeerVpcId: bar.ID(),\n\t\t\tVpcId: fooVpc.ID(),\n\t\t\tPeerRegion: pulumi.String(\"us-east-1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.ec2.VpcPeeringConnection;\nimport com.pulumi.aws.ec2.VpcPeeringConnectionArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fooVpc = new Vpc(\"fooVpc\", VpcArgs.builder() \n .cidrBlock(\"10.1.0.0/16\")\n .build(), CustomResourceOptions.builder()\n .provider(aws.us-west-2())\n .build());\n\n var bar = new Vpc(\"bar\", VpcArgs.builder() \n .cidrBlock(\"10.2.0.0/16\")\n .build(), CustomResourceOptions.builder()\n .provider(aws.us-east-1())\n .build());\n\n var fooVpcPeeringConnection = new VpcPeeringConnection(\"fooVpcPeeringConnection\", VpcPeeringConnectionArgs.builder() \n .peerOwnerId(var_.peer_owner_id())\n .peerVpcId(bar.id())\n .vpcId(fooVpc.id())\n .peerRegion(\"us-east-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooVpcPeeringConnection:\n type: aws:ec2:VpcPeeringConnection\n properties:\n peerOwnerId: ${var.peer_owner_id}\n peerVpcId: ${bar.id}\n vpcId: ${fooVpc.id}\n peerRegion: us-east-1\n fooVpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.1.0.0/16\n options:\n provider: ${aws\"us-west-2\"[%!s(MISSING)]}\n bar:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.2.0.0/16\n options:\n provider: ${aws\"us-east-1\"[%!s(MISSING)]}\n```\n{{% /example %}}\n{{% /examples %}}\n## Notes\n\nIf both VPCs are not in the same AWS account and region do not enable the `auto_accept` attribute.\nThe accepter can manage its side of the connection using the `aws.ec2.VpcPeeringConnectionAccepter` resource\nor accept the connection manually using the AWS Management Console, AWS CLI, through SDKs, etc.\n\n\n## Import\n\nVPC Peering resources can be imported using the `vpc peering id`, e.g.,\n\n```sh\n $ pulumi import aws:ec2/vpcPeeringConnection:VpcPeeringConnection test_connection pcx-111aaa111\n```\n\n [1]/docs/providers/aws/index.html ", "properties": { "acceptStatus": { "type": "string", @@ -442430,7 +445932,7 @@ }, "description": { "type": "string", - "description": "A brief description of the authorization rule.\n" + "description": "A brief description of the route.\n" }, "destinationCidrBlock": { "type": "string", @@ -442464,7 +445966,7 @@ }, "description": { "type": "string", - "description": "A brief description of the authorization rule.\n", + "description": "A brief description of the route.\n", "willReplaceOnChanges": true }, "destinationCidrBlock": { @@ -442493,7 +445995,7 @@ }, "description": { "type": "string", - "description": "A brief description of the authorization rule.\n", + "description": "A brief description of the route.\n", "willReplaceOnChanges": true }, "destinationCidrBlock": { @@ -442639,7 +446141,7 @@ } }, "aws:ec2transitgateway/connectPeer:ConnectPeer": { - "description": "Manages an EC2 Transit Gateway Connect Peer.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleConnect = new aws.ec2transitgateway.Connect(\"exampleConnect\", {\n transportAttachmentId: aws_ec2_transit_gateway_vpc_attachment.example.id,\n transitGatewayId: aws_ec2_transit_gateway.example.id,\n});\nconst exampleConnectPeer = new aws.ec2transitgateway.ConnectPeer(\"exampleConnectPeer\", {\n peerAddress: \"10.1.2.3\",\n insideCidrBlocks: \"169.254.100.0/29\",\n transitGatewayAttachmentId: exampleConnect.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_connect = aws.ec2transitgateway.Connect(\"exampleConnect\",\n transport_attachment_id=aws_ec2_transit_gateway_vpc_attachment[\"example\"][\"id\"],\n transit_gateway_id=aws_ec2_transit_gateway[\"example\"][\"id\"])\nexample_connect_peer = aws.ec2transitgateway.ConnectPeer(\"exampleConnectPeer\",\n peer_address=\"10.1.2.3\",\n inside_cidr_blocks=\"169.254.100.0/29\",\n transit_gateway_attachment_id=example_connect.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleConnect = new Aws.Ec2TransitGateway.Connect(\"exampleConnect\", new()\n {\n TransportAttachmentId = aws_ec2_transit_gateway_vpc_attachment.Example.Id,\n TransitGatewayId = aws_ec2_transit_gateway.Example.Id,\n });\n\n var exampleConnectPeer = new Aws.Ec2TransitGateway.ConnectPeer(\"exampleConnectPeer\", new()\n {\n PeerAddress = \"10.1.2.3\",\n InsideCidrBlocks = \"169.254.100.0/29\",\n TransitGatewayAttachmentId = exampleConnect.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleConnect, err := ec2transitgateway.NewConnect(ctx, \"exampleConnect\", \u0026ec2transitgateway.ConnectArgs{\n\t\t\tTransportAttachmentId: pulumi.Any(aws_ec2_transit_gateway_vpc_attachment.Example.Id),\n\t\t\tTransitGatewayId: pulumi.Any(aws_ec2_transit_gateway.Example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewConnectPeer(ctx, \"exampleConnectPeer\", \u0026ec2transitgateway.ConnectPeerArgs{\n\t\t\tPeerAddress: pulumi.String(\"10.1.2.3\"),\n\t\t\tInsideCidrBlocks: pulumi.StringArray(\"169.254.100.0/29\"),\n\t\t\tTransitGatewayAttachmentId: exampleConnect.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Connect;\nimport com.pulumi.aws.ec2transitgateway.ConnectArgs;\nimport com.pulumi.aws.ec2transitgateway.ConnectPeer;\nimport com.pulumi.aws.ec2transitgateway.ConnectPeerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleConnect = new Connect(\"exampleConnect\", ConnectArgs.builder() \n .transportAttachmentId(aws_ec2_transit_gateway_vpc_attachment.example().id())\n .transitGatewayId(aws_ec2_transit_gateway.example().id())\n .build());\n\n var exampleConnectPeer = new ConnectPeer(\"exampleConnectPeer\", ConnectPeerArgs.builder() \n .peerAddress(\"10.1.2.3\")\n .insideCidrBlocks(\"169.254.100.0/29\")\n .transitGatewayAttachmentId(exampleConnect.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleConnect:\n type: aws:ec2transitgateway:Connect\n properties:\n transportAttachmentId: ${aws_ec2_transit_gateway_vpc_attachment.example.id}\n transitGatewayId: ${aws_ec2_transit_gateway.example.id}\n exampleConnectPeer:\n type: aws:ec2transitgateway:ConnectPeer\n properties:\n peerAddress: 10.1.2.3\n insideCidrBlocks: 169.254.100.0/29\n transitGatewayAttachmentId: ${exampleConnect.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n`aws_ec2_transit_gateway_connect_peer` can be imported by using the EC2 Transit Gateway Connect Peer identifier, e.g.,\n\n```sh\n $ pulumi import aws:ec2transitgateway/connectPeer:ConnectPeer example tgw-connect-peer-12345678\n```\n\n ", + "description": "Manages an EC2 Transit Gateway Connect Peer.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleConnect = new aws.ec2transitgateway.Connect(\"exampleConnect\", {\n transportAttachmentId: aws_ec2_transit_gateway_vpc_attachment.example.id,\n transitGatewayId: aws_ec2_transit_gateway.example.id,\n});\nconst exampleConnectPeer = new aws.ec2transitgateway.ConnectPeer(\"exampleConnectPeer\", {\n peerAddress: \"10.1.2.3\",\n insideCidrBlocks: [\"169.254.100.0/29\"],\n transitGatewayAttachmentId: exampleConnect.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_connect = aws.ec2transitgateway.Connect(\"exampleConnect\",\n transport_attachment_id=aws_ec2_transit_gateway_vpc_attachment[\"example\"][\"id\"],\n transit_gateway_id=aws_ec2_transit_gateway[\"example\"][\"id\"])\nexample_connect_peer = aws.ec2transitgateway.ConnectPeer(\"exampleConnectPeer\",\n peer_address=\"10.1.2.3\",\n inside_cidr_blocks=[\"169.254.100.0/29\"],\n transit_gateway_attachment_id=example_connect.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleConnect = new Aws.Ec2TransitGateway.Connect(\"exampleConnect\", new()\n {\n TransportAttachmentId = aws_ec2_transit_gateway_vpc_attachment.Example.Id,\n TransitGatewayId = aws_ec2_transit_gateway.Example.Id,\n });\n\n var exampleConnectPeer = new Aws.Ec2TransitGateway.ConnectPeer(\"exampleConnectPeer\", new()\n {\n PeerAddress = \"10.1.2.3\",\n InsideCidrBlocks = new[]\n {\n \"169.254.100.0/29\",\n },\n TransitGatewayAttachmentId = exampleConnect.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2transitgateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleConnect, err := ec2transitgateway.NewConnect(ctx, \"exampleConnect\", \u0026ec2transitgateway.ConnectArgs{\n\t\t\tTransportAttachmentId: pulumi.Any(aws_ec2_transit_gateway_vpc_attachment.Example.Id),\n\t\t\tTransitGatewayId: pulumi.Any(aws_ec2_transit_gateway.Example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2transitgateway.NewConnectPeer(ctx, \"exampleConnectPeer\", \u0026ec2transitgateway.ConnectPeerArgs{\n\t\t\tPeerAddress: pulumi.String(\"10.1.2.3\"),\n\t\t\tInsideCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"169.254.100.0/29\"),\n\t\t\t},\n\t\t\tTransitGatewayAttachmentId: exampleConnect.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2transitgateway.Connect;\nimport com.pulumi.aws.ec2transitgateway.ConnectArgs;\nimport com.pulumi.aws.ec2transitgateway.ConnectPeer;\nimport com.pulumi.aws.ec2transitgateway.ConnectPeerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleConnect = new Connect(\"exampleConnect\", ConnectArgs.builder() \n .transportAttachmentId(aws_ec2_transit_gateway_vpc_attachment.example().id())\n .transitGatewayId(aws_ec2_transit_gateway.example().id())\n .build());\n\n var exampleConnectPeer = new ConnectPeer(\"exampleConnectPeer\", ConnectPeerArgs.builder() \n .peerAddress(\"10.1.2.3\")\n .insideCidrBlocks(\"169.254.100.0/29\")\n .transitGatewayAttachmentId(exampleConnect.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleConnect:\n type: aws:ec2transitgateway:Connect\n properties:\n transportAttachmentId: ${aws_ec2_transit_gateway_vpc_attachment.example.id}\n transitGatewayId: ${aws_ec2_transit_gateway.example.id}\n exampleConnectPeer:\n type: aws:ec2transitgateway:ConnectPeer\n properties:\n peerAddress: 10.1.2.3\n insideCidrBlocks:\n - 169.254.100.0/29\n transitGatewayAttachmentId: ${exampleConnect.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n`aws_ec2_transit_gateway_connect_peer` can be imported by using the EC2 Transit Gateway Connect Peer identifier, e.g.,\n\n```sh\n $ pulumi import aws:ec2transitgateway/connectPeer:ConnectPeer example tgw-connect-peer-12345678\n```\n\n ", "properties": { "arn": { "type": "string", @@ -448827,9 +452329,13 @@ "type": "boolean", "description": "A flag that indicate whether AuthToken (password) is enabled.\n" }, + "automaticFailoverEnabled": { + "type": "boolean", + "description": "Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails.\nWhen creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group.\n" + }, "cacheNodeType": { "type": "string", - "description": "The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html).\n" + "description": "The instance class used.\nSee AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html)\nand [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html).\nWhen creating, by default the Global Replication Group inherits the node type of the primary replication group.\n" }, "clusterEnabled": { "type": "boolean", @@ -448876,6 +452382,7 @@ "arn", "atRestEncryptionEnabled", "authTokenEnabled", + "automaticFailoverEnabled", "cacheNodeType", "clusterEnabled", "engine", @@ -448887,6 +452394,14 @@ "transitEncryptionEnabled" ], "inputProperties": { + "automaticFailoverEnabled": { + "type": "boolean", + "description": "Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails.\nWhen creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group.\n" + }, + "cacheNodeType": { + "type": "string", + "description": "The instance class used.\nSee AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html)\nand [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html).\nWhen creating, by default the Global Replication Group inherits the node type of the primary replication group.\n" + }, "engineVersion": { "type": "string", "description": "Redis version to use for the Global Replication Group.\nWhen creating, by default the Global Replication Group inherits the version of the primary replication group.\nIf a version is specified, the Global Replication Group and all member replication groups will be upgraded to this version.\nCannot be downgraded without replacing the Global Replication Group and all member replication groups.\nIf the version is 6 or higher, the major and minor version can be set, e.g., `6.2`,\nor the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`.\nThe actual engine version used is returned in the attribute `engine_version_actual`, see Attributes Reference below.\n" @@ -448929,9 +452444,13 @@ "type": "boolean", "description": "A flag that indicate whether AuthToken (password) is enabled.\n" }, + "automaticFailoverEnabled": { + "type": "boolean", + "description": "Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails.\nWhen creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group.\n" + }, "cacheNodeType": { "type": "string", - "description": "The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html).\n" + "description": "The instance class used.\nSee AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html)\nand [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html).\nWhen creating, by default the Global Replication Group inherits the node type of the primary replication group.\n" }, "clusterEnabled": { "type": "boolean", @@ -448980,7 +452499,7 @@ } }, "aws:elasticache/parameterGroup:ParameterGroup": { - "description": "Provides an ElastiCache parameter group resource.\n\n\u003e **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an Elasticache API limitation. Leave that parameter configured with any value to workaround the issue.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst defaultParameterGroup = new aws.elasticache.ParameterGroup(\"default\", {\n family: \"redis2.8\",\n parameters: [\n {\n name: \"activerehashing\",\n value: \"yes\",\n },\n {\n name: \"min-slaves-to-write\",\n value: \"2\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.elasticache.ParameterGroup(\"default\",\n family=\"redis2.8\",\n parameters=[\n aws.elasticache.ParameterGroupParameterArgs(\n name=\"activerehashing\",\n value=\"yes\",\n ),\n aws.elasticache.ParameterGroupParameterArgs(\n name=\"min-slaves-to-write\",\n value=\"2\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.ElastiCache.ParameterGroup(\"default\", new()\n {\n Family = \"redis2.8\",\n Parameters = new[]\n {\n new Aws.ElastiCache.Inputs.ParameterGroupParameterArgs\n {\n Name = \"activerehashing\",\n Value = \"yes\",\n },\n new Aws.ElastiCache.Inputs.ParameterGroupParameterArgs\n {\n Name = \"min-slaves-to-write\",\n Value = \"2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache\"\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 := elasticache.NewParameterGroup(ctx, \"default\", \u0026elasticache.ParameterGroupArgs{\n\t\t\tFamily: pulumi.String(\"redis2.8\"),\n\t\t\tParameters: elasticache.ParameterGroupParameterArray{\n\t\t\t\t\u0026elasticache.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"activerehashing\"),\n\t\t\t\t\tValue: pulumi.String(\"yes\"),\n\t\t\t\t},\n\t\t\t\t\u0026elasticache.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"min-slaves-to-write\"),\n\t\t\t\t\tValue: pulumi.String(\"2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ParameterGroup;\nimport com.pulumi.aws.elasticache.ParameterGroupArgs;\nimport com.pulumi.aws.elasticache.inputs.ParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new ParameterGroup(\"default\", ParameterGroupArgs.builder() \n .family(\"redis2.8\")\n .parameters( \n ParameterGroupParameterArgs.builder()\n .name(\"activerehashing\")\n .value(\"yes\")\n .build(),\n ParameterGroupParameterArgs.builder()\n .name(\"min-slaves-to-write\")\n .value(\"2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:elasticache:ParameterGroup\n properties:\n family: redis2.8\n parameters:\n - name: activerehashing\n value: yes\n - name: min-slaves-to-write\n value: 2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nElastiCache Parameter Groups can be imported using the `name`, e.g.,\n\n```sh\n $ pulumi import aws:elasticache/parameterGroup:ParameterGroup default redis-params\n```\n\n ", + "description": "Provides an ElastiCache parameter group resource.\n\n\u003e **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an ElastiCache API limitation. Leave that parameter configured with any value to workaround the issue.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst defaultParameterGroup = new aws.elasticache.ParameterGroup(\"default\", {\n family: \"redis2.8\",\n parameters: [\n {\n name: \"activerehashing\",\n value: \"yes\",\n },\n {\n name: \"min-slaves-to-write\",\n value: \"2\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.elasticache.ParameterGroup(\"default\",\n family=\"redis2.8\",\n parameters=[\n aws.elasticache.ParameterGroupParameterArgs(\n name=\"activerehashing\",\n value=\"yes\",\n ),\n aws.elasticache.ParameterGroupParameterArgs(\n name=\"min-slaves-to-write\",\n value=\"2\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.ElastiCache.ParameterGroup(\"default\", new()\n {\n Family = \"redis2.8\",\n Parameters = new[]\n {\n new Aws.ElastiCache.Inputs.ParameterGroupParameterArgs\n {\n Name = \"activerehashing\",\n Value = \"yes\",\n },\n new Aws.ElastiCache.Inputs.ParameterGroupParameterArgs\n {\n Name = \"min-slaves-to-write\",\n Value = \"2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache\"\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 := elasticache.NewParameterGroup(ctx, \"default\", \u0026elasticache.ParameterGroupArgs{\n\t\t\tFamily: pulumi.String(\"redis2.8\"),\n\t\t\tParameters: elasticache.ParameterGroupParameterArray{\n\t\t\t\t\u0026elasticache.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"activerehashing\"),\n\t\t\t\t\tValue: pulumi.String(\"yes\"),\n\t\t\t\t},\n\t\t\t\t\u0026elasticache.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"min-slaves-to-write\"),\n\t\t\t\t\tValue: pulumi.String(\"2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ParameterGroup;\nimport com.pulumi.aws.elasticache.ParameterGroupArgs;\nimport com.pulumi.aws.elasticache.inputs.ParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new ParameterGroup(\"default\", ParameterGroupArgs.builder() \n .family(\"redis2.8\")\n .parameters( \n ParameterGroupParameterArgs.builder()\n .name(\"activerehashing\")\n .value(\"yes\")\n .build(),\n ParameterGroupParameterArgs.builder()\n .name(\"min-slaves-to-write\")\n .value(\"2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:elasticache:ParameterGroup\n properties:\n family: redis2.8\n parameters:\n - name: activerehashing\n value: yes\n - name: min-slaves-to-write\n value: 2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nElastiCache Parameter Groups can be imported using the `name`, e.g.,\n\n```sh\n $ pulumi import aws:elasticache/parameterGroup:ParameterGroup default redis-params\n```\n\n ", "properties": { "arn": { "type": "string", @@ -449878,7 +453397,7 @@ }, "name": { "type": "string", - "description": "Name for the cache subnet group. Elasticache converts this name to lowercase.\n" + "description": "Name for the cache subnet group. ElastiCache converts this name to lowercase.\n" }, "subnetIds": { "type": "array", @@ -449917,7 +453436,7 @@ }, "name": { "type": "string", - "description": "Name for the cache subnet group. Elasticache converts this name to lowercase.\n", + "description": "Name for the cache subnet group. ElastiCache converts this name to lowercase.\n", "willReplaceOnChanges": true }, "subnetIds": { @@ -449951,7 +453470,7 @@ }, "name": { "type": "string", - "description": "Name for the cache subnet group. Elasticache converts this name to lowercase.\n", + "description": "Name for the cache subnet group. ElastiCache converts this name to lowercase.\n", "willReplaceOnChanges": true }, "subnetIds": { @@ -451185,7 +454704,7 @@ "deprecationMessage": "aws.elasticloadbalancing.Attachment has been deprecated in favor of aws.elb.Attachment" }, "aws:elasticloadbalancing/listenerPolicy:ListenerPolicy": { - "description": "Attaches a load balancer policy to an ELB Listener.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Custom Policy\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ssl = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [\n {\n name: \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value: \"true\",\n },\n {\n name: \"Protocol-TLSv1.2\",\n value: \"true\",\n },\n ],\n});\nconst wu_tang_listener_policies_443 = new aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\", {\n loadBalancerName: wu_tang.name,\n loadBalancerPort: 443,\n policyNames: [wu_tang_ssl.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ssl = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[\n aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value=\"true\",\n ),\n aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"Protocol-TLSv1.2\",\n value=\"true\",\n ),\n ])\nwu_tang_listener_policies_443 = aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\",\n load_balancer_name=wu_tang.name,\n load_balancer_port=443,\n policy_names=[wu_tang_ssl.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ssl = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Protocol-TLSv1.2\",\n Value = \"true\",\n },\n },\n });\n\n var wu_tang_listener_policies_443 = new Aws.Elb.ListenerPolicy(\"wu-tang-listener-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n LoadBalancerPort = 443,\n PolicyNames = new[]\n {\n wu_tang_ssl.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elb\"\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 := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"ECDHE-ECDSA-AES128-GCM-SHA256\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Protocol-TLSv1.2\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewListenerPolicy(ctx, \"wu-tang-listener-policies-443\", \u0026elb.ListenerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tLoadBalancerPort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_ssl.PolicyName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.ListenerPolicy;\nimport com.pulumi.aws.elb.ListenerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ssl = new LoadBalancerPolicy(\"wu-tang-ssl\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes( \n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"ECDHE-ECDSA-AES128-GCM-SHA256\")\n .value(\"true\")\n .build(),\n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Protocol-TLSv1.2\")\n .value(\"true\")\n .build())\n .build());\n\n var wu_tang_listener_policies_443 = new ListenerPolicy(\"wu-tang-listener-policies-443\", ListenerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .loadBalancerPort(443)\n .policyNames(wu_tang_ssl.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ssl:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: ECDHE-ECDSA-AES128-GCM-SHA256\n value: true\n - name: Protocol-TLSv1.2\n value: true\n wu-tang-listener-policies-443:\n type: aws:elb:ListenerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n loadBalancerPort: 443\n policyNames:\n - ${[\"wu-tang-ssl\"].policyName}\n```\n\nThis example shows how to customize the TLS settings of an HTTPS listener.\n{{% /example %}}\n{{% example %}}\n### AWS Predefined Security Policy\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ssl_tls_1_1 = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [{\n name: \"Reference-Security-Policy\",\n value: \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n }],\n});\nconst wu_tang_listener_policies_443 = new aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\", {\n loadBalancerName: wu_tang.name,\n loadBalancerPort: 443,\n policyNames: [wu_tang_ssl_tls_1_1.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ssl_tls_1_1 = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"Reference-Security-Policy\",\n value=\"ELBSecurityPolicy-TLS-1-1-2017-01\",\n )])\nwu_tang_listener_policies_443 = aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\",\n load_balancer_name=wu_tang.name,\n load_balancer_port=443,\n policy_names=[wu_tang_ssl_tls_1_1.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ssl_tls_1_1 = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Reference-Security-Policy\",\n Value = \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n },\n },\n });\n\n var wu_tang_listener_policies_443 = new Aws.Elb.ListenerPolicy(\"wu-tang-listener-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n LoadBalancerPort = 443,\n PolicyNames = new[]\n {\n wu_tang_ssl_tls_1_1.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elb\"\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 := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl-tls-1-1\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Reference-Security-Policy\"),\n\t\t\t\t\tValue: pulumi.String(\"ELBSecurityPolicy-TLS-1-1-2017-01\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewListenerPolicy(ctx, \"wu-tang-listener-policies-443\", \u0026elb.ListenerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tLoadBalancerPort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_ssl_tls_1_1.PolicyName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.ListenerPolicy;\nimport com.pulumi.aws.elb.ListenerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ssl_tls_1_1 = new LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Reference-Security-Policy\")\n .value(\"ELBSecurityPolicy-TLS-1-1-2017-01\")\n .build())\n .build());\n\n var wu_tang_listener_policies_443 = new ListenerPolicy(\"wu-tang-listener-policies-443\", ListenerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .loadBalancerPort(443)\n .policyNames(wu_tang_ssl_tls_1_1.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ssl-tls-1-1:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: Reference-Security-Policy\n value: ELBSecurityPolicy-TLS-1-1-2017-01\n wu-tang-listener-policies-443:\n type: aws:elb:ListenerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n loadBalancerPort: 443\n policyNames:\n - ${[\"wu-tang-ssl-tls-1-1\"].policyName}\n```\n\nThis example shows how to add a [Predefined Security Policy for ELBs](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-policy-table.html)\n{{% /example %}}\n{{% /examples %}}", + "description": "Attaches a load balancer policy to an ELB Listener.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Custom Policy\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ssl = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [\n {\n name: \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value: \"true\",\n },\n {\n name: \"Protocol-TLSv1.2\",\n value: \"true\",\n },\n ],\n});\nconst wu_tang_listener_policies_443 = new aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\", {\n loadBalancerName: wu_tang.name,\n loadBalancerPort: 443,\n policyNames: [wu_tang_ssl.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ssl = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[\n aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value=\"true\",\n ),\n aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"Protocol-TLSv1.2\",\n value=\"true\",\n ),\n ])\nwu_tang_listener_policies_443 = aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\",\n load_balancer_name=wu_tang.name,\n load_balancer_port=443,\n policy_names=[wu_tang_ssl.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ssl = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Protocol-TLSv1.2\",\n Value = \"true\",\n },\n },\n });\n\n var wu_tang_listener_policies_443 = new Aws.Elb.ListenerPolicy(\"wu-tang-listener-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n LoadBalancerPort = 443,\n PolicyNames = new[]\n {\n wu_tang_ssl.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elb\"\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 := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"ECDHE-ECDSA-AES128-GCM-SHA256\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Protocol-TLSv1.2\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewListenerPolicy(ctx, \"wu-tang-listener-policies-443\", \u0026elb.ListenerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tLoadBalancerPort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_ssl.PolicyName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.ListenerPolicy;\nimport com.pulumi.aws.elb.ListenerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ssl = new LoadBalancerPolicy(\"wu-tang-ssl\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes( \n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"ECDHE-ECDSA-AES128-GCM-SHA256\")\n .value(\"true\")\n .build(),\n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Protocol-TLSv1.2\")\n .value(\"true\")\n .build())\n .build());\n\n var wu_tang_listener_policies_443 = new ListenerPolicy(\"wu-tang-listener-policies-443\", ListenerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .loadBalancerPort(443)\n .policyNames(wu_tang_ssl.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ssl:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: ECDHE-ECDSA-AES128-GCM-SHA256\n value: true\n - name: Protocol-TLSv1.2\n value: true\n wu-tang-listener-policies-443:\n type: aws:elb:ListenerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n loadBalancerPort: 443\n policyNames:\n - ${[\"wu-tang-ssl\"].policyName}\n```\n\nThis example shows how to customize the TLS settings of an HTTPS listener.\n{{% /example %}}\n{{% example %}}\n### AWS Predefined Security Policy\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ssl_tls_1_1 = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [{\n name: \"Reference-Security-Policy\",\n value: \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n }],\n});\nconst wu_tang_listener_policies_443 = new aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\", {\n loadBalancerName: wu_tang.name,\n loadBalancerPort: 443,\n policyNames: [wu_tang_ssl_tls_1_1.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ssl_tls_1_1 = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"Reference-Security-Policy\",\n value=\"ELBSecurityPolicy-TLS-1-1-2017-01\",\n )])\nwu_tang_listener_policies_443 = aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\",\n load_balancer_name=wu_tang.name,\n load_balancer_port=443,\n policy_names=[wu_tang_ssl_tls_1_1.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ssl_tls_1_1 = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Reference-Security-Policy\",\n Value = \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n },\n },\n });\n\n var wu_tang_listener_policies_443 = new Aws.Elb.ListenerPolicy(\"wu-tang-listener-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n LoadBalancerPort = 443,\n PolicyNames = new[]\n {\n wu_tang_ssl_tls_1_1.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elb\"\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 := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl-tls-1-1\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Reference-Security-Policy\"),\n\t\t\t\t\tValue: pulumi.String(\"ELBSecurityPolicy-TLS-1-1-2017-01\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewListenerPolicy(ctx, \"wu-tang-listener-policies-443\", \u0026elb.ListenerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tLoadBalancerPort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_ssl_tls_1_1.PolicyName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.ListenerPolicy;\nimport com.pulumi.aws.elb.ListenerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ssl_tls_1_1 = new LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Reference-Security-Policy\")\n .value(\"ELBSecurityPolicy-TLS-1-1-2017-01\")\n .build())\n .build());\n\n var wu_tang_listener_policies_443 = new ListenerPolicy(\"wu-tang-listener-policies-443\", ListenerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .loadBalancerPort(443)\n .policyNames(wu_tang_ssl_tls_1_1.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ssl-tls-1-1:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: Reference-Security-Policy\n value: ELBSecurityPolicy-TLS-1-1-2017-01\n wu-tang-listener-policies-443:\n type: aws:elb:ListenerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n loadBalancerPort: 443\n policyNames:\n - ${[\"wu-tang-ssl-tls-1-1\"].policyName}\n```\n\nThis example shows how to add a [Predefined Security Policy for ELBs](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-policy-table.html)\n{{% /example %}}\n{{% /examples %}}", "properties": { "loadBalancerName": { "type": "string", @@ -451595,7 +455114,7 @@ "deprecationMessage": "aws.elasticloadbalancing.LoadBalancer has been deprecated in favor of aws.elb.LoadBalancer" }, "aws:elasticloadbalancing/loadBalancerBackendServerPolicy:LoadBalancerBackendServerPolicy": { - "description": "Attaches a load balancer policy to an ELB backend server.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as fs from \"fs\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ca_pubkey_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ca-pubkey-policy\",\n policyTypeName: \"PublicKeyPolicyType\",\n policyAttributes: [{\n name: \"PublicKey\",\n value: fs.readFileSync(\"wu-tang-pubkey\"),\n }],\n});\nconst wu_tang_root_ca_backend_auth_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-root-ca-backend-auth-policy\",\n policyTypeName: \"BackendServerAuthenticationPolicyType\",\n policyAttributes: [{\n name: \"PublicKeyPolicyName\",\n value: aws_load_balancer_policy[\"wu-tang-root-ca-pubkey-policy\"].policy_name,\n }],\n});\nconst wu_tang_backend_auth_policies_443 = new aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", {\n loadBalancerName: wu_tang.name,\n instancePort: 443,\n policyNames: [wu_tang_root_ca_backend_auth_policy.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ca_pubkey_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ca-pubkey-policy\",\n policy_type_name=\"PublicKeyPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"PublicKey\",\n value=(lambda path: open(path).read())(\"wu-tang-pubkey\"),\n )])\nwu_tang_root_ca_backend_auth_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-root-ca-backend-auth-policy\",\n policy_type_name=\"BackendServerAuthenticationPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"PublicKeyPolicyName\",\n value=aws_load_balancer_policy[\"wu-tang-root-ca-pubkey-policy\"][\"policy_name\"],\n )])\nwu_tang_backend_auth_policies_443 = aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\",\n load_balancer_name=wu_tang.name,\n instance_port=443,\n policy_names=[wu_tang_root_ca_backend_auth_policy.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ca_pubkey_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ca-pubkey-policy\",\n PolicyTypeName = \"PublicKeyPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKey\",\n Value = File.ReadAllText(\"wu-tang-pubkey\"),\n },\n },\n });\n\n var wu_tang_root_ca_backend_auth_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-root-ca-backend-auth-policy\",\n PolicyTypeName = \"BackendServerAuthenticationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKeyPolicyName\",\n Value = aws_load_balancer_policy.Wu_tang_root_ca_pubkey_policy.Policy_name,\n },\n },\n });\n\n var wu_tang_backend_auth_policies_443 = new Aws.Elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n InstancePort = 443,\n PolicyNames = new[]\n {\n wu_tang_root_ca_backend_auth_policy.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ca-pubkey-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ca-pubkey-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"PublicKeyPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKey\"),\n\t\t\t\t\tValue: readFileOrPanic(\"wu-tang-pubkey\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-root-ca-backend-auth-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-root-ca-backend-auth-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"BackendServerAuthenticationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKeyPolicyName\"),\n\t\t\t\t\tValue: pulumi.Any(aws_load_balancer_policy.Wu - tang - root - ca - pubkey - policy.Policy_name),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerBackendServerPolicy(ctx, \"wu-tang-backend-auth-policies-443\", \u0026elb.LoadBalancerBackendServerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tInstancePort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_root_ca_backend_auth_policy.PolicyName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ca_pubkey_policy = new LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ca-pubkey-policy\")\n .policyTypeName(\"PublicKeyPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKey\")\n .value(Files.readString(Paths.get(\"wu-tang-pubkey\")))\n .build())\n .build());\n\n var wu_tang_root_ca_backend_auth_policy = new LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-root-ca-backend-auth-policy\")\n .policyTypeName(\"BackendServerAuthenticationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKeyPolicyName\")\n .value(aws_load_balancer_policy.wu-tang-root-ca-pubkey-policy().policy_name())\n .build())\n .build());\n\n var wu_tang_backend_auth_policies_443 = new LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", LoadBalancerBackendServerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .instancePort(443)\n .policyNames(wu_tang_root_ca_backend_auth_policy.policyName())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Attaches a load balancer policy to an ELB backend server.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as fs from \"fs\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ca_pubkey_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ca-pubkey-policy\",\n policyTypeName: \"PublicKeyPolicyType\",\n policyAttributes: [{\n name: \"PublicKey\",\n value: fs.readFileSync(\"wu-tang-pubkey\"),\n }],\n});\nconst wu_tang_root_ca_backend_auth_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-root-ca-backend-auth-policy\",\n policyTypeName: \"BackendServerAuthenticationPolicyType\",\n policyAttributes: [{\n name: \"PublicKeyPolicyName\",\n value: aws_load_balancer_policy[\"wu-tang-root-ca-pubkey-policy\"].policy_name,\n }],\n});\nconst wu_tang_backend_auth_policies_443 = new aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", {\n loadBalancerName: wu_tang.name,\n instancePort: 443,\n policyNames: [wu_tang_root_ca_backend_auth_policy.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ca_pubkey_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ca-pubkey-policy\",\n policy_type_name=\"PublicKeyPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"PublicKey\",\n value=(lambda path: open(path).read())(\"wu-tang-pubkey\"),\n )])\nwu_tang_root_ca_backend_auth_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-root-ca-backend-auth-policy\",\n policy_type_name=\"BackendServerAuthenticationPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"PublicKeyPolicyName\",\n value=aws_load_balancer_policy[\"wu-tang-root-ca-pubkey-policy\"][\"policy_name\"],\n )])\nwu_tang_backend_auth_policies_443 = aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\",\n load_balancer_name=wu_tang.name,\n instance_port=443,\n policy_names=[wu_tang_root_ca_backend_auth_policy.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ca_pubkey_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ca-pubkey-policy\",\n PolicyTypeName = \"PublicKeyPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKey\",\n Value = File.ReadAllText(\"wu-tang-pubkey\"),\n },\n },\n });\n\n var wu_tang_root_ca_backend_auth_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-root-ca-backend-auth-policy\",\n PolicyTypeName = \"BackendServerAuthenticationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKeyPolicyName\",\n Value = aws_load_balancer_policy.Wu_tang_root_ca_pubkey_policy.Policy_name,\n },\n },\n });\n\n var wu_tang_backend_auth_policies_443 = new Aws.Elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n InstancePort = 443,\n PolicyNames = new[]\n {\n wu_tang_root_ca_backend_auth_policy.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ca-pubkey-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ca-pubkey-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"PublicKeyPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKey\"),\n\t\t\t\t\tValue: readFileOrPanic(\"wu-tang-pubkey\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-root-ca-backend-auth-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-root-ca-backend-auth-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"BackendServerAuthenticationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKeyPolicyName\"),\n\t\t\t\t\tValue: pulumi.Any(aws_load_balancer_policy.Wu - tang - root - ca - pubkey - policy.Policy_name),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerBackendServerPolicy(ctx, \"wu-tang-backend-auth-policies-443\", \u0026elb.LoadBalancerBackendServerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tInstancePort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_root_ca_backend_auth_policy.PolicyName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ca_pubkey_policy = new LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ca-pubkey-policy\")\n .policyTypeName(\"PublicKeyPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKey\")\n .value(Files.readString(Paths.get(\"wu-tang-pubkey\")))\n .build())\n .build());\n\n var wu_tang_root_ca_backend_auth_policy = new LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-root-ca-backend-auth-policy\")\n .policyTypeName(\"BackendServerAuthenticationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKeyPolicyName\")\n .value(aws_load_balancer_policy.wu-tang-root-ca-pubkey-policy().policy_name())\n .build())\n .build());\n\n var wu_tang_backend_auth_policies_443 = new LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", LoadBalancerBackendServerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .instancePort(443)\n .policyNames(wu_tang_root_ca_backend_auth_policy.policyName())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "instancePort": { "type": "integer", @@ -453915,7 +457434,7 @@ ] }, "aws:elb/listenerPolicy:ListenerPolicy": { - "description": "Attaches a load balancer policy to an ELB Listener.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Custom Policy\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ssl = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [\n {\n name: \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value: \"true\",\n },\n {\n name: \"Protocol-TLSv1.2\",\n value: \"true\",\n },\n ],\n});\nconst wu_tang_listener_policies_443 = new aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\", {\n loadBalancerName: wu_tang.name,\n loadBalancerPort: 443,\n policyNames: [wu_tang_ssl.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ssl = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[\n aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value=\"true\",\n ),\n aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"Protocol-TLSv1.2\",\n value=\"true\",\n ),\n ])\nwu_tang_listener_policies_443 = aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\",\n load_balancer_name=wu_tang.name,\n load_balancer_port=443,\n policy_names=[wu_tang_ssl.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ssl = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Protocol-TLSv1.2\",\n Value = \"true\",\n },\n },\n });\n\n var wu_tang_listener_policies_443 = new Aws.Elb.ListenerPolicy(\"wu-tang-listener-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n LoadBalancerPort = 443,\n PolicyNames = new[]\n {\n wu_tang_ssl.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elb\"\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 := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"ECDHE-ECDSA-AES128-GCM-SHA256\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Protocol-TLSv1.2\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewListenerPolicy(ctx, \"wu-tang-listener-policies-443\", \u0026elb.ListenerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tLoadBalancerPort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_ssl.PolicyName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.ListenerPolicy;\nimport com.pulumi.aws.elb.ListenerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ssl = new LoadBalancerPolicy(\"wu-tang-ssl\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes( \n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"ECDHE-ECDSA-AES128-GCM-SHA256\")\n .value(\"true\")\n .build(),\n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Protocol-TLSv1.2\")\n .value(\"true\")\n .build())\n .build());\n\n var wu_tang_listener_policies_443 = new ListenerPolicy(\"wu-tang-listener-policies-443\", ListenerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .loadBalancerPort(443)\n .policyNames(wu_tang_ssl.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ssl:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: ECDHE-ECDSA-AES128-GCM-SHA256\n value: true\n - name: Protocol-TLSv1.2\n value: true\n wu-tang-listener-policies-443:\n type: aws:elb:ListenerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n loadBalancerPort: 443\n policyNames:\n - ${[\"wu-tang-ssl\"].policyName}\n```\n\nThis example shows how to customize the TLS settings of an HTTPS listener.\n{{% /example %}}\n{{% example %}}\n### AWS Predefined Security Policy\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ssl_tls_1_1 = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [{\n name: \"Reference-Security-Policy\",\n value: \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n }],\n});\nconst wu_tang_listener_policies_443 = new aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\", {\n loadBalancerName: wu_tang.name,\n loadBalancerPort: 443,\n policyNames: [wu_tang_ssl_tls_1_1.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ssl_tls_1_1 = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"Reference-Security-Policy\",\n value=\"ELBSecurityPolicy-TLS-1-1-2017-01\",\n )])\nwu_tang_listener_policies_443 = aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\",\n load_balancer_name=wu_tang.name,\n load_balancer_port=443,\n policy_names=[wu_tang_ssl_tls_1_1.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ssl_tls_1_1 = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Reference-Security-Policy\",\n Value = \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n },\n },\n });\n\n var wu_tang_listener_policies_443 = new Aws.Elb.ListenerPolicy(\"wu-tang-listener-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n LoadBalancerPort = 443,\n PolicyNames = new[]\n {\n wu_tang_ssl_tls_1_1.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elb\"\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 := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl-tls-1-1\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Reference-Security-Policy\"),\n\t\t\t\t\tValue: pulumi.String(\"ELBSecurityPolicy-TLS-1-1-2017-01\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewListenerPolicy(ctx, \"wu-tang-listener-policies-443\", \u0026elb.ListenerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tLoadBalancerPort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_ssl_tls_1_1.PolicyName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.ListenerPolicy;\nimport com.pulumi.aws.elb.ListenerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ssl_tls_1_1 = new LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Reference-Security-Policy\")\n .value(\"ELBSecurityPolicy-TLS-1-1-2017-01\")\n .build())\n .build());\n\n var wu_tang_listener_policies_443 = new ListenerPolicy(\"wu-tang-listener-policies-443\", ListenerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .loadBalancerPort(443)\n .policyNames(wu_tang_ssl_tls_1_1.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ssl-tls-1-1:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: Reference-Security-Policy\n value: ELBSecurityPolicy-TLS-1-1-2017-01\n wu-tang-listener-policies-443:\n type: aws:elb:ListenerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n loadBalancerPort: 443\n policyNames:\n - ${[\"wu-tang-ssl-tls-1-1\"].policyName}\n```\n\nThis example shows how to add a [Predefined Security Policy for ELBs](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-policy-table.html)\n{{% /example %}}\n{{% /examples %}}", + "description": "Attaches a load balancer policy to an ELB Listener.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Custom Policy\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ssl = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [\n {\n name: \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value: \"true\",\n },\n {\n name: \"Protocol-TLSv1.2\",\n value: \"true\",\n },\n ],\n});\nconst wu_tang_listener_policies_443 = new aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\", {\n loadBalancerName: wu_tang.name,\n loadBalancerPort: 443,\n policyNames: [wu_tang_ssl.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ssl = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[\n aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"ECDHE-ECDSA-AES128-GCM-SHA256\",\n value=\"true\",\n ),\n aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"Protocol-TLSv1.2\",\n value=\"true\",\n ),\n ])\nwu_tang_listener_policies_443 = aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\",\n load_balancer_name=wu_tang.name,\n load_balancer_port=443,\n policy_names=[wu_tang_ssl.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ssl = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"ECDHE-ECDSA-AES128-GCM-SHA256\",\n Value = \"true\",\n },\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Protocol-TLSv1.2\",\n Value = \"true\",\n },\n },\n });\n\n var wu_tang_listener_policies_443 = new Aws.Elb.ListenerPolicy(\"wu-tang-listener-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n LoadBalancerPort = 443,\n PolicyNames = new[]\n {\n wu_tang_ssl.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elb\"\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 := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"ECDHE-ECDSA-AES128-GCM-SHA256\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Protocol-TLSv1.2\"),\n\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewListenerPolicy(ctx, \"wu-tang-listener-policies-443\", \u0026elb.ListenerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tLoadBalancerPort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_ssl.PolicyName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.ListenerPolicy;\nimport com.pulumi.aws.elb.ListenerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ssl = new LoadBalancerPolicy(\"wu-tang-ssl\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes( \n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"ECDHE-ECDSA-AES128-GCM-SHA256\")\n .value(\"true\")\n .build(),\n LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Protocol-TLSv1.2\")\n .value(\"true\")\n .build())\n .build());\n\n var wu_tang_listener_policies_443 = new ListenerPolicy(\"wu-tang-listener-policies-443\", ListenerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .loadBalancerPort(443)\n .policyNames(wu_tang_ssl.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ssl:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: ECDHE-ECDSA-AES128-GCM-SHA256\n value: true\n - name: Protocol-TLSv1.2\n value: true\n wu-tang-listener-policies-443:\n type: aws:elb:ListenerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n loadBalancerPort: 443\n policyNames:\n - ${[\"wu-tang-ssl\"].policyName}\n```\n\nThis example shows how to customize the TLS settings of an HTTPS listener.\n{{% /example %}}\n{{% example %}}\n### AWS Predefined Security Policy\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ssl_tls_1_1 = new aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ssl\",\n policyTypeName: \"SSLNegotiationPolicyType\",\n policyAttributes: [{\n name: \"Reference-Security-Policy\",\n value: \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n }],\n});\nconst wu_tang_listener_policies_443 = new aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\", {\n loadBalancerName: wu_tang.name,\n loadBalancerPort: 443,\n policyNames: [wu_tang_ssl_tls_1_1.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ssl_tls_1_1 = aws.elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ssl\",\n policy_type_name=\"SSLNegotiationPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"Reference-Security-Policy\",\n value=\"ELBSecurityPolicy-TLS-1-1-2017-01\",\n )])\nwu_tang_listener_policies_443 = aws.elb.ListenerPolicy(\"wu-tang-listener-policies-443\",\n load_balancer_name=wu_tang.name,\n load_balancer_port=443,\n policy_names=[wu_tang_ssl_tls_1_1.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ssl_tls_1_1 = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ssl\",\n PolicyTypeName = \"SSLNegotiationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"Reference-Security-Policy\",\n Value = \"ELBSecurityPolicy-TLS-1-1-2017-01\",\n },\n },\n });\n\n var wu_tang_listener_policies_443 = new Aws.Elb.ListenerPolicy(\"wu-tang-listener-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n LoadBalancerPort = 443,\n PolicyNames = new[]\n {\n wu_tang_ssl_tls_1_1.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elb\"\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 := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ssl-tls-1-1\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ssl\"),\n\t\t\tPolicyTypeName: pulumi.String(\"SSLNegotiationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"Reference-Security-Policy\"),\n\t\t\t\t\tValue: pulumi.String(\"ELBSecurityPolicy-TLS-1-1-2017-01\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewListenerPolicy(ctx, \"wu-tang-listener-policies-443\", \u0026elb.ListenerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tLoadBalancerPort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_ssl_tls_1_1.PolicyName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.ListenerPolicy;\nimport com.pulumi.aws.elb.ListenerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ssl_tls_1_1 = new LoadBalancerPolicy(\"wu-tang-ssl-tls-1-1\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ssl\")\n .policyTypeName(\"SSLNegotiationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"Reference-Security-Policy\")\n .value(\"ELBSecurityPolicy-TLS-1-1-2017-01\")\n .build())\n .build());\n\n var wu_tang_listener_policies_443 = new ListenerPolicy(\"wu-tang-listener-policies-443\", ListenerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .loadBalancerPort(443)\n .policyNames(wu_tang_ssl_tls_1_1.policyName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wu-tang:\n type: aws:elb:LoadBalancer\n properties:\n availabilityZones:\n - us-east-1a\n listeners:\n - instancePort: 443\n instanceProtocol: http\n lbPort: 443\n lbProtocol: https\n sslCertificateId: arn:aws:iam::000000000000:server-certificate/wu-tang.net\n tags:\n Name: wu-tang\n wu-tang-ssl-tls-1-1:\n type: aws:elb:LoadBalancerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n policyName: wu-tang-ssl\n policyTypeName: SSLNegotiationPolicyType\n policyAttributes:\n - name: Reference-Security-Policy\n value: ELBSecurityPolicy-TLS-1-1-2017-01\n wu-tang-listener-policies-443:\n type: aws:elb:ListenerPolicy\n properties:\n loadBalancerName: ${[\"wu-tang\"].name}\n loadBalancerPort: 443\n policyNames:\n - ${[\"wu-tang-ssl-tls-1-1\"].policyName}\n```\n\nThis example shows how to add a [Predefined Security Policy for ELBs](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-policy-table.html)\n{{% /example %}}\n{{% /examples %}}", "properties": { "loadBalancerName": { "type": "string", @@ -454333,7 +457852,7 @@ ] }, "aws:elb/loadBalancerBackendServerPolicy:LoadBalancerBackendServerPolicy": { - "description": "Attaches a load balancer policy to an ELB backend server.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as fs from \"fs\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ca_pubkey_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ca-pubkey-policy\",\n policyTypeName: \"PublicKeyPolicyType\",\n policyAttributes: [{\n name: \"PublicKey\",\n value: fs.readFileSync(\"wu-tang-pubkey\"),\n }],\n});\nconst wu_tang_root_ca_backend_auth_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-root-ca-backend-auth-policy\",\n policyTypeName: \"BackendServerAuthenticationPolicyType\",\n policyAttributes: [{\n name: \"PublicKeyPolicyName\",\n value: aws_load_balancer_policy[\"wu-tang-root-ca-pubkey-policy\"].policy_name,\n }],\n});\nconst wu_tang_backend_auth_policies_443 = new aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", {\n loadBalancerName: wu_tang.name,\n instancePort: 443,\n policyNames: [wu_tang_root_ca_backend_auth_policy.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ca_pubkey_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ca-pubkey-policy\",\n policy_type_name=\"PublicKeyPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"PublicKey\",\n value=(lambda path: open(path).read())(\"wu-tang-pubkey\"),\n )])\nwu_tang_root_ca_backend_auth_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-root-ca-backend-auth-policy\",\n policy_type_name=\"BackendServerAuthenticationPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"PublicKeyPolicyName\",\n value=aws_load_balancer_policy[\"wu-tang-root-ca-pubkey-policy\"][\"policy_name\"],\n )])\nwu_tang_backend_auth_policies_443 = aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\",\n load_balancer_name=wu_tang.name,\n instance_port=443,\n policy_names=[wu_tang_root_ca_backend_auth_policy.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ca_pubkey_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ca-pubkey-policy\",\n PolicyTypeName = \"PublicKeyPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKey\",\n Value = File.ReadAllText(\"wu-tang-pubkey\"),\n },\n },\n });\n\n var wu_tang_root_ca_backend_auth_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-root-ca-backend-auth-policy\",\n PolicyTypeName = \"BackendServerAuthenticationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKeyPolicyName\",\n Value = aws_load_balancer_policy.Wu_tang_root_ca_pubkey_policy.Policy_name,\n },\n },\n });\n\n var wu_tang_backend_auth_policies_443 = new Aws.Elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n InstancePort = 443,\n PolicyNames = new[]\n {\n wu_tang_root_ca_backend_auth_policy.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ca-pubkey-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ca-pubkey-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"PublicKeyPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKey\"),\n\t\t\t\t\tValue: readFileOrPanic(\"wu-tang-pubkey\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-root-ca-backend-auth-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-root-ca-backend-auth-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"BackendServerAuthenticationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKeyPolicyName\"),\n\t\t\t\t\tValue: pulumi.Any(aws_load_balancer_policy.Wu - tang - root - ca - pubkey - policy.Policy_name),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerBackendServerPolicy(ctx, \"wu-tang-backend-auth-policies-443\", \u0026elb.LoadBalancerBackendServerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tInstancePort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_root_ca_backend_auth_policy.PolicyName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ca_pubkey_policy = new LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ca-pubkey-policy\")\n .policyTypeName(\"PublicKeyPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKey\")\n .value(Files.readString(Paths.get(\"wu-tang-pubkey\")))\n .build())\n .build());\n\n var wu_tang_root_ca_backend_auth_policy = new LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-root-ca-backend-auth-policy\")\n .policyTypeName(\"BackendServerAuthenticationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKeyPolicyName\")\n .value(aws_load_balancer_policy.wu-tang-root-ca-pubkey-policy().policy_name())\n .build())\n .build());\n\n var wu_tang_backend_auth_policies_443 = new LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", LoadBalancerBackendServerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .instancePort(443)\n .policyNames(wu_tang_root_ca_backend_auth_policy.policyName())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Attaches a load balancer policy to an ELB backend server.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as fs from \"fs\";\n\nconst wu_tang = new aws.elb.LoadBalancer(\"wu-tang\", {\n availabilityZones: [\"us-east-1a\"],\n listeners: [{\n instancePort: 443,\n instanceProtocol: \"http\",\n lbPort: 443,\n lbProtocol: \"https\",\n sslCertificateId: \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n }],\n tags: {\n Name: \"wu-tang\",\n },\n});\nconst wu_tang_ca_pubkey_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-ca-pubkey-policy\",\n policyTypeName: \"PublicKeyPolicyType\",\n policyAttributes: [{\n name: \"PublicKey\",\n value: fs.readFileSync(\"wu-tang-pubkey\"),\n }],\n});\nconst wu_tang_root_ca_backend_auth_policy = new aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", {\n loadBalancerName: wu_tang.name,\n policyName: \"wu-tang-root-ca-backend-auth-policy\",\n policyTypeName: \"BackendServerAuthenticationPolicyType\",\n policyAttributes: [{\n name: \"PublicKeyPolicyName\",\n value: aws_load_balancer_policy[\"wu-tang-root-ca-pubkey-policy\"].policy_name,\n }],\n});\nconst wu_tang_backend_auth_policies_443 = new aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", {\n loadBalancerName: wu_tang.name,\n instancePort: 443,\n policyNames: [wu_tang_root_ca_backend_auth_policy.policyName],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nwu_tang = aws.elb.LoadBalancer(\"wu-tang\",\n availability_zones=[\"us-east-1a\"],\n listeners=[aws.elb.LoadBalancerListenerArgs(\n instance_port=443,\n instance_protocol=\"http\",\n lb_port=443,\n lb_protocol=\"https\",\n ssl_certificate_id=\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n )],\n tags={\n \"Name\": \"wu-tang\",\n })\nwu_tang_ca_pubkey_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-ca-pubkey-policy\",\n policy_type_name=\"PublicKeyPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"PublicKey\",\n value=(lambda path: open(path).read())(\"wu-tang-pubkey\"),\n )])\nwu_tang_root_ca_backend_auth_policy = aws.elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\",\n load_balancer_name=wu_tang.name,\n policy_name=\"wu-tang-root-ca-backend-auth-policy\",\n policy_type_name=\"BackendServerAuthenticationPolicyType\",\n policy_attributes=[aws.elb.LoadBalancerPolicyPolicyAttributeArgs(\n name=\"PublicKeyPolicyName\",\n value=aws_load_balancer_policy[\"wu-tang-root-ca-pubkey-policy\"][\"policy_name\"],\n )])\nwu_tang_backend_auth_policies_443 = aws.elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\",\n load_balancer_name=wu_tang.name,\n instance_port=443,\n policy_names=[wu_tang_root_ca_backend_auth_policy.policy_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wu_tang = new Aws.Elb.LoadBalancer(\"wu-tang\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-east-1a\",\n },\n Listeners = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerListenerArgs\n {\n InstancePort = 443,\n InstanceProtocol = \"http\",\n LbPort = 443,\n LbProtocol = \"https\",\n SslCertificateId = \"arn:aws:iam::000000000000:server-certificate/wu-tang.net\",\n },\n },\n Tags = \n {\n { \"Name\", \"wu-tang\" },\n },\n });\n\n var wu_tang_ca_pubkey_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-ca-pubkey-policy\",\n PolicyTypeName = \"PublicKeyPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKey\",\n Value = File.ReadAllText(\"wu-tang-pubkey\"),\n },\n },\n });\n\n var wu_tang_root_ca_backend_auth_policy = new Aws.Elb.LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", new()\n {\n LoadBalancerName = wu_tang.Name,\n PolicyName = \"wu-tang-root-ca-backend-auth-policy\",\n PolicyTypeName = \"BackendServerAuthenticationPolicyType\",\n PolicyAttributes = new[]\n {\n new Aws.Elb.Inputs.LoadBalancerPolicyPolicyAttributeArgs\n {\n Name = \"PublicKeyPolicyName\",\n Value = aws_load_balancer_policy.Wu_tang_root_ca_pubkey_policy.Policy_name,\n },\n },\n });\n\n var wu_tang_backend_auth_policies_443 = new Aws.Elb.LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", new()\n {\n LoadBalancerName = wu_tang.Name,\n InstancePort = 443,\n PolicyNames = new[]\n {\n wu_tang_root_ca_backend_auth_policy.PolicyName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := elb.NewLoadBalancer(ctx, \"wu-tang\", \u0026elb.LoadBalancerArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1a\"),\n\t\t\t},\n\t\t\tListeners: elb.LoadBalancerListenerArray{\n\t\t\t\t\u0026elb.LoadBalancerListenerArgs{\n\t\t\t\t\tInstancePort: pulumi.Int(443),\n\t\t\t\t\tInstanceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tLbPort: pulumi.Int(443),\n\t\t\t\t\tLbProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tSslCertificateId: pulumi.String(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"wu-tang\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-ca-pubkey-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-ca-pubkey-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"PublicKeyPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKey\"),\n\t\t\t\t\tValue: readFileOrPanic(\"wu-tang-pubkey\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerPolicy(ctx, \"wu-tang-root-ca-backend-auth-policy\", \u0026elb.LoadBalancerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tPolicyName: pulumi.String(\"wu-tang-root-ca-backend-auth-policy\"),\n\t\t\tPolicyTypeName: pulumi.String(\"BackendServerAuthenticationPolicyType\"),\n\t\t\tPolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{\n\t\t\t\t\u0026elb.LoadBalancerPolicyPolicyAttributeArgs{\n\t\t\t\t\tName: pulumi.String(\"PublicKeyPolicyName\"),\n\t\t\t\t\tValue: pulumi.Any(aws_load_balancer_policy.Wu - tang - root - ca - pubkey - policy.Policy_name),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elb.NewLoadBalancerBackendServerPolicy(ctx, \"wu-tang-backend-auth-policies-443\", \u0026elb.LoadBalancerBackendServerPolicyArgs{\n\t\t\tLoadBalancerName: wu_tang.Name,\n\t\t\tInstancePort: pulumi.Int(443),\n\t\t\tPolicyNames: pulumi.StringArray{\n\t\t\t\twu_tang_root_ca_backend_auth_policy.PolicyName,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elb.LoadBalancer;\nimport com.pulumi.aws.elb.LoadBalancerArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;\nimport com.pulumi.aws.elb.LoadBalancerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerPolicyArgs;\nimport com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicy;\nimport com.pulumi.aws.elb.LoadBalancerBackendServerPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wu_tang = new LoadBalancer(\"wu-tang\", LoadBalancerArgs.builder() \n .availabilityZones(\"us-east-1a\")\n .listeners(LoadBalancerListenerArgs.builder()\n .instancePort(443)\n .instanceProtocol(\"http\")\n .lbPort(443)\n .lbProtocol(\"https\")\n .sslCertificateId(\"arn:aws:iam::000000000000:server-certificate/wu-tang.net\")\n .build())\n .tags(Map.of(\"Name\", \"wu-tang\"))\n .build());\n\n var wu_tang_ca_pubkey_policy = new LoadBalancerPolicy(\"wu-tang-ca-pubkey-policy\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-ca-pubkey-policy\")\n .policyTypeName(\"PublicKeyPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKey\")\n .value(Files.readString(Paths.get(\"wu-tang-pubkey\")))\n .build())\n .build());\n\n var wu_tang_root_ca_backend_auth_policy = new LoadBalancerPolicy(\"wu-tang-root-ca-backend-auth-policy\", LoadBalancerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .policyName(\"wu-tang-root-ca-backend-auth-policy\")\n .policyTypeName(\"BackendServerAuthenticationPolicyType\")\n .policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()\n .name(\"PublicKeyPolicyName\")\n .value(aws_load_balancer_policy.wu-tang-root-ca-pubkey-policy().policy_name())\n .build())\n .build());\n\n var wu_tang_backend_auth_policies_443 = new LoadBalancerBackendServerPolicy(\"wu-tang-backend-auth-policies-443\", LoadBalancerBackendServerPolicyArgs.builder() \n .loadBalancerName(wu_tang.name())\n .instancePort(443)\n .policyNames(wu_tang_root_ca_backend_auth_policy.policyName())\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "instancePort": { "type": "integer", @@ -455948,7 +459467,7 @@ } }, "aws:emrcontainers/virtualCluster:VirtualCluster": { - "description": "Manages an EMR Containers (EMR on EKS) Virtual Cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrcontainers.VirtualCluster(\"example\", {containerProvider: {\n id: aws_eks_cluster.example.name,\n type: \"EKS\",\n info: {\n eksInfo: {\n namespace: \"default\",\n },\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrcontainers.VirtualCluster(\"example\", container_provider=aws.emrcontainers.VirtualClusterContainerProviderArgs(\n id=aws_eks_cluster[\"example\"][\"name\"],\n type=\"EKS\",\n info=aws.emrcontainers.VirtualClusterContainerProviderInfoArgs(\n eks_info=aws.emrcontainers.VirtualClusterContainerProviderInfoEksInfoArgs(\n namespace=\"default\",\n ),\n ),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.EmrContainers.VirtualCluster(\"example\", new()\n {\n ContainerProvider = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderArgs\n {\n Id = aws_eks_cluster.Example.Name,\n Type = \"EKS\",\n Info = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderInfoArgs\n {\n EksInfo = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderInfoEksInfoArgs\n {\n Namespace = \"default\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/emrcontainers\"\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 := emrcontainers.NewVirtualCluster(ctx, \"example\", \u0026emrcontainers.VirtualClusterArgs{\n\t\t\tContainerProvider: \u0026emrcontainers.VirtualClusterContainerProviderArgs{\n\t\t\t\tId: pulumi.Any(aws_eks_cluster.Example.Name),\n\t\t\t\tType: pulumi.String(\"EKS\"),\n\t\t\t\tInfo: \u0026emrcontainers.VirtualClusterContainerProviderInfoArgs{\n\t\t\t\t\tEksInfo: \u0026emrcontainers.VirtualClusterContainerProviderInfoEksInfoArgs{\n\t\t\t\t\t\tNamespace: pulumi.String(\"default\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emrcontainers.VirtualCluster;\nimport com.pulumi.aws.emrcontainers.VirtualClusterArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderInfoArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderInfoEksInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new VirtualCluster(\"example\", VirtualClusterArgs.builder() \n .containerProvider(VirtualClusterContainerProviderArgs.builder()\n .id(aws_eks_cluster.example().name())\n .type(\"EKS\")\n .info(VirtualClusterContainerProviderInfoArgs.builder()\n .eksInfo(VirtualClusterContainerProviderInfoEksInfoArgs.builder()\n .namespace(\"default\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrcontainers:VirtualCluster\n properties:\n containerProvider:\n id: ${aws_eks_cluster.example.name}\n type: EKS\n info:\n eksInfo:\n namespace: default\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nEKS Clusters can be imported using the `name`, e.g.\n\n```sh\n $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example\n```\n\n ", + "description": "Manages an EMR Containers (EMR on EKS) Virtual Cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrcontainers.VirtualCluster(\"example\", {containerProvider: {\n id: aws_eks_cluster.example.name,\n type: \"EKS\",\n info: {\n eksInfo: {\n namespace: \"default\",\n },\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrcontainers.VirtualCluster(\"example\", container_provider=aws.emrcontainers.VirtualClusterContainerProviderArgs(\n id=aws_eks_cluster[\"example\"][\"name\"],\n type=\"EKS\",\n info=aws.emrcontainers.VirtualClusterContainerProviderInfoArgs(\n eks_info=aws.emrcontainers.VirtualClusterContainerProviderInfoEksInfoArgs(\n namespace=\"default\",\n ),\n ),\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.EmrContainers.VirtualCluster(\"example\", new()\n {\n ContainerProvider = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderArgs\n {\n Id = aws_eks_cluster.Example.Name,\n Type = \"EKS\",\n Info = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderInfoArgs\n {\n EksInfo = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderInfoEksInfoArgs\n {\n Namespace = \"default\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/emrcontainers\"\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 := emrcontainers.NewVirtualCluster(ctx, \"example\", \u0026emrcontainers.VirtualClusterArgs{\n\t\t\tContainerProvider: \u0026emrcontainers.VirtualClusterContainerProviderArgs{\n\t\t\t\tId: pulumi.Any(aws_eks_cluster.Example.Name),\n\t\t\t\tType: pulumi.String(\"EKS\"),\n\t\t\t\tInfo: \u0026emrcontainers.VirtualClusterContainerProviderInfoArgs{\n\t\t\t\t\tEksInfo: \u0026emrcontainers.VirtualClusterContainerProviderInfoEksInfoArgs{\n\t\t\t\t\t\tNamespace: pulumi.String(\"default\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.emrcontainers.VirtualCluster;\nimport com.pulumi.aws.emrcontainers.VirtualClusterArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderInfoArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderInfoEksInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new VirtualCluster(\"example\", VirtualClusterArgs.builder() \n .containerProvider(VirtualClusterContainerProviderArgs.builder()\n .id(aws_eks_cluster.example().name())\n .type(\"EKS\")\n .info(VirtualClusterContainerProviderInfoArgs.builder()\n .eksInfo(VirtualClusterContainerProviderInfoEksInfoArgs.builder()\n .namespace(\"default\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrcontainers:VirtualCluster\n properties:\n containerProvider:\n id: ${aws_eks_cluster.example.name}\n type: EKS\n info:\n eksInfo:\n namespace: default\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nEKS Clusters can be imported using the `id`, e.g.\n\n```sh\n $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example a1b2c3d4e5f6g7h8i9j10k11l\n```\n\n ", "properties": { "arn": { "type": "string", @@ -457834,7 +461353,7 @@ } }, "aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine": { - "description": "Manages a FSx Storage Virtual Machine.\nSee the [FSx ONTAP User Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html) for more information.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapStorageVirtualMachine(\"test\", {fileSystemId: aws_fsx_ontap_file_system.test.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapStorageVirtualMachine(\"test\", file_system_id=aws_fsx_ontap_file_system[\"test\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapStorageVirtualMachine(\"test\", new()\n {\n FileSystemId = aws_fsx_ontap_file_system.Test.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/fsx\"\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 := fsx.NewOntapStorageVirtualMachine(ctx, \"test\", \u0026fsx.OntapStorageVirtualMachineArgs{\n\t\t\tFileSystemId: pulumi.Any(aws_fsx_ontap_file_system.Test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.OntapStorageVirtualMachine;\nimport com.pulumi.aws.fsx.OntapStorageVirtualMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapStorageVirtualMachine(\"test\", OntapStorageVirtualMachineArgs.builder() \n .fileSystemId(aws_fsx_ontap_file_system.test().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapStorageVirtualMachine\n properties:\n fileSystemId: ${aws_fsx_ontap_file_system.test.id}\n```\n{{% /example %}}\n{{% example %}}\n### Using a Self-Managed Microsoft Active Directory\n\nAdditional information for using AWS Directory Service with ONTAP File Systems can be found in the [FSx ONTAP Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/self-managed-AD.html).\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapStorageVirtualMachine(\"test\", {\n fileSystemId: aws_fsx_ontap_file_system.test.id,\n activeDirectoryConfiguration: {\n netbiosName: \"mysvm\",\n selfManagedActiveDirectoryConfiguration: {\n dnsIps: [\n \"10.0.0.111\",\n \"10.0.0.222\",\n ],\n domainName: \"corp.example.com\",\n password: \"avoid-plaintext-passwords\",\n username: \"Admin\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapStorageVirtualMachine(\"test\",\n file_system_id=aws_fsx_ontap_file_system[\"test\"][\"id\"],\n active_directory_configuration=aws.fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs(\n netbios_name=\"mysvm\",\n self_managed_active_directory_configuration=aws.fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs(\n dns_ips=[\n \"10.0.0.111\",\n \"10.0.0.222\",\n ],\n domain_name=\"corp.example.com\",\n password=\"avoid-plaintext-passwords\",\n username=\"Admin\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapStorageVirtualMachine(\"test\", new()\n {\n FileSystemId = aws_fsx_ontap_file_system.Test.Id,\n ActiveDirectoryConfiguration = new Aws.Fsx.Inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs\n {\n NetbiosName = \"mysvm\",\n SelfManagedActiveDirectoryConfiguration = new Aws.Fsx.Inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs\n {\n DnsIps = new[]\n {\n \"10.0.0.111\",\n \"10.0.0.222\",\n },\n DomainName = \"corp.example.com\",\n Password = \"avoid-plaintext-passwords\",\n Username = \"Admin\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/fsx\"\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 := fsx.NewOntapStorageVirtualMachine(ctx, \"test\", \u0026fsx.OntapStorageVirtualMachineArgs{\n\t\t\tFileSystemId: pulumi.Any(aws_fsx_ontap_file_system.Test.Id),\n\t\t\tActiveDirectoryConfiguration: \u0026fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs{\n\t\t\t\tNetbiosName: pulumi.String(\"mysvm\"),\n\t\t\t\tSelfManagedActiveDirectoryConfiguration: \u0026fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs{\n\t\t\t\t\tDnsIps: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.0.0.111\"),\n\t\t\t\t\t\tpulumi.String(\"10.0.0.222\"),\n\t\t\t\t\t},\n\t\t\t\t\tDomainName: pulumi.String(\"corp.example.com\"),\n\t\t\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\t\t\tUsername: pulumi.String(\"Admin\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.OntapStorageVirtualMachine;\nimport com.pulumi.aws.fsx.OntapStorageVirtualMachineArgs;\nimport com.pulumi.aws.fsx.inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs;\nimport com.pulumi.aws.fsx.inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapStorageVirtualMachine(\"test\", OntapStorageVirtualMachineArgs.builder() \n .fileSystemId(aws_fsx_ontap_file_system.test().id())\n .activeDirectoryConfiguration(OntapStorageVirtualMachineActiveDirectoryConfigurationArgs.builder()\n .netbiosName(\"mysvm\")\n .selfManagedActiveDirectoryConfiguration(OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs.builder()\n .dnsIps( \n \"10.0.0.111\",\n \"10.0.0.222\")\n .domainName(\"corp.example.com\")\n .password(\"avoid-plaintext-passwords\")\n .username(\"Admin\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapStorageVirtualMachine\n properties:\n fileSystemId: ${aws_fsx_ontap_file_system.test.id}\n activeDirectoryConfiguration:\n netbiosName: mysvm\n selfManagedActiveDirectoryConfiguration:\n dnsIps:\n - 10.0.0.111\n - 10.0.0.222\n domainName: corp.example.com\n password: avoid-plaintext-passwords\n username: Admin\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nFSx Storage Virtual Machine can be imported using the `id`, e.g.,\n\n```sh\n $ pulumi import aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine example svm-12345678abcdef123\n```\n\n Certain resource arguments, like `svm_admin_password` and the `self_managed_active_directory` configuation block `password`, do not have a FSx API method for reading the information after creation. If these arguments are set in the Terraform configuration on an imported resource, Terraform will always show a difference. To workaround this behavior, either omit the argument from the Terraform configuration or use [`ignore_changes`](https://www.terraform.io/docs/configuration/meta-arguments/lifecycle.html#ignore_changes) to hide the difference, e.g., terraform resource \"aws_fsx_ontap_storage_virtual_machine\" \"example\" {\n\n # ... other configuration ...\n\n svm_admin_password = \"avoid-plaintext-passwords\"\n\n # There is no FSx API for reading svm_admin_password\n\n lifecycle {\n\n\n\n ignore_changes = [svm_admin_password]\n\n } } ", + "description": "Manages a FSx Storage Virtual Machine.\nSee the [FSx ONTAP User Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html) for more information.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapStorageVirtualMachine(\"test\", {fileSystemId: aws_fsx_ontap_file_system.test.id});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapStorageVirtualMachine(\"test\", file_system_id=aws_fsx_ontap_file_system[\"test\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapStorageVirtualMachine(\"test\", new()\n {\n FileSystemId = aws_fsx_ontap_file_system.Test.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/fsx\"\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 := fsx.NewOntapStorageVirtualMachine(ctx, \"test\", \u0026fsx.OntapStorageVirtualMachineArgs{\n\t\t\tFileSystemId: pulumi.Any(aws_fsx_ontap_file_system.Test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.OntapStorageVirtualMachine;\nimport com.pulumi.aws.fsx.OntapStorageVirtualMachineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapStorageVirtualMachine(\"test\", OntapStorageVirtualMachineArgs.builder() \n .fileSystemId(aws_fsx_ontap_file_system.test().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapStorageVirtualMachine\n properties:\n fileSystemId: ${aws_fsx_ontap_file_system.test.id}\n```\n{{% /example %}}\n{{% example %}}\n### Using a Self-Managed Microsoft Active Directory\n\nAdditional information for using AWS Directory Service with ONTAP File Systems can be found in the [FSx ONTAP Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/self-managed-AD.html).\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapStorageVirtualMachine(\"test\", {\n fileSystemId: aws_fsx_ontap_file_system.test.id,\n activeDirectoryConfiguration: {\n netbiosName: \"mysvm\",\n selfManagedActiveDirectoryConfiguration: {\n dnsIps: [\n \"10.0.0.111\",\n \"10.0.0.222\",\n ],\n domainName: \"corp.example.com\",\n password: \"avoid-plaintext-passwords\",\n username: \"Admin\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapStorageVirtualMachine(\"test\",\n file_system_id=aws_fsx_ontap_file_system[\"test\"][\"id\"],\n active_directory_configuration=aws.fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs(\n netbios_name=\"mysvm\",\n self_managed_active_directory_configuration=aws.fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs(\n dns_ips=[\n \"10.0.0.111\",\n \"10.0.0.222\",\n ],\n domain_name=\"corp.example.com\",\n password=\"avoid-plaintext-passwords\",\n username=\"Admin\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapStorageVirtualMachine(\"test\", new()\n {\n FileSystemId = aws_fsx_ontap_file_system.Test.Id,\n ActiveDirectoryConfiguration = new Aws.Fsx.Inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs\n {\n NetbiosName = \"mysvm\",\n SelfManagedActiveDirectoryConfiguration = new Aws.Fsx.Inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs\n {\n DnsIps = new[]\n {\n \"10.0.0.111\",\n \"10.0.0.222\",\n },\n DomainName = \"corp.example.com\",\n Password = \"avoid-plaintext-passwords\",\n Username = \"Admin\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/fsx\"\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 := fsx.NewOntapStorageVirtualMachine(ctx, \"test\", \u0026fsx.OntapStorageVirtualMachineArgs{\n\t\t\tFileSystemId: pulumi.Any(aws_fsx_ontap_file_system.Test.Id),\n\t\t\tActiveDirectoryConfiguration: \u0026fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs{\n\t\t\t\tNetbiosName: pulumi.String(\"mysvm\"),\n\t\t\t\tSelfManagedActiveDirectoryConfiguration: \u0026fsx.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs{\n\t\t\t\t\tDnsIps: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.0.0.111\"),\n\t\t\t\t\t\tpulumi.String(\"10.0.0.222\"),\n\t\t\t\t\t},\n\t\t\t\t\tDomainName: pulumi.String(\"corp.example.com\"),\n\t\t\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\t\t\tUsername: pulumi.String(\"Admin\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.OntapStorageVirtualMachine;\nimport com.pulumi.aws.fsx.OntapStorageVirtualMachineArgs;\nimport com.pulumi.aws.fsx.inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationArgs;\nimport com.pulumi.aws.fsx.inputs.OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapStorageVirtualMachine(\"test\", OntapStorageVirtualMachineArgs.builder() \n .fileSystemId(aws_fsx_ontap_file_system.test().id())\n .activeDirectoryConfiguration(OntapStorageVirtualMachineActiveDirectoryConfigurationArgs.builder()\n .netbiosName(\"mysvm\")\n .selfManagedActiveDirectoryConfiguration(OntapStorageVirtualMachineActiveDirectoryConfigurationSelfManagedActiveDirectoryConfigurationArgs.builder()\n .dnsIps( \n \"10.0.0.111\",\n \"10.0.0.222\")\n .domainName(\"corp.example.com\")\n .password(\"avoid-plaintext-passwords\")\n .username(\"Admin\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapStorageVirtualMachine\n properties:\n fileSystemId: ${aws_fsx_ontap_file_system.test.id}\n activeDirectoryConfiguration:\n netbiosName: mysvm\n selfManagedActiveDirectoryConfiguration:\n dnsIps:\n - 10.0.0.111\n - 10.0.0.222\n domainName: corp.example.com\n password: avoid-plaintext-passwords\n username: Admin\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nFSx Storage Virtual Machine can be imported using the `id`, e.g.,\n\n```sh\n $ pulumi import aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine example svm-12345678abcdef123\n```\n\n Certain resource arguments, like `svm_admin_password` and the `self_managed_active_directory` configuation block `password`, do not have a FSx API method for reading the information after creation. If these arguments are set in the Terraform configuration on an imported resource, Terraform will always show a difference. To workaround this behavior, either omit the argument from the Terraform configuration or use [`ignore_changes`](https://www.terraform.io/docs/configuration/meta-arguments/lifecycle.html#ignore_changes) to hide the difference, e.g., terraform resource \"aws_fsx_ontap_storage_virtual_machine\" \"example\" {\n\n # ... other configuration ...\n\n svm_admin_password = \"avoid-plaintext-passwords\"\n\n # There is no FSx API for reading svm_admin_password\n\n lifecycle {\n\n\n\n ignore_changes = [svm_admin_password]\n\n } } ", "properties": { "activeDirectoryConfiguration": { "$ref": "#/types/aws:fsx/OntapStorageVirtualMachineActiveDirectoryConfiguration:OntapStorageVirtualMachineActiveDirectoryConfiguration", @@ -457993,7 +461512,7 @@ } }, "aws:fsx/ontapVolume:OntapVolume": { - "description": "Manages a FSx ONTAP Volume.\nSee the [FSx ONTAP User Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html) for more information.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapVolume(\"test\", {\n junctionPath: \"/test\",\n sizeInMegabytes: 1024,\n storageEfficiencyEnabled: true,\n storageVirtualMachineId: aws_fsx_ontap_storage_virtual_machine.test.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapVolume(\"test\",\n junction_path=\"/test\",\n size_in_megabytes=1024,\n storage_efficiency_enabled=True,\n storage_virtual_machine_id=aws_fsx_ontap_storage_virtual_machine[\"test\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapVolume(\"test\", new()\n {\n JunctionPath = \"/test\",\n SizeInMegabytes = 1024,\n StorageEfficiencyEnabled = true,\n StorageVirtualMachineId = aws_fsx_ontap_storage_virtual_machine.Test.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/fsx\"\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 := fsx.NewOntapVolume(ctx, \"test\", \u0026fsx.OntapVolumeArgs{\n\t\t\tJunctionPath: pulumi.String(\"/test\"),\n\t\t\tSizeInMegabytes: pulumi.Int(1024),\n\t\t\tStorageEfficiencyEnabled: pulumi.Bool(true),\n\t\t\tStorageVirtualMachineId: pulumi.Any(aws_fsx_ontap_storage_virtual_machine.Test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.OntapVolume;\nimport com.pulumi.aws.fsx.OntapVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapVolume(\"test\", OntapVolumeArgs.builder() \n .junctionPath(\"/test\")\n .sizeInMegabytes(1024)\n .storageEfficiencyEnabled(true)\n .storageVirtualMachineId(aws_fsx_ontap_storage_virtual_machine.test().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapVolume\n properties:\n junctionPath: /test\n sizeInMegabytes: 1024\n storageEfficiencyEnabled: true\n storageVirtualMachineId: ${aws_fsx_ontap_storage_virtual_machine.test.id}\n```\n{{% /example %}}\n{{% example %}}\n### Using Tiering Policy\n\nAdditional information on tiering policy with ONTAP Volumes can be found in the [FSx ONTAP Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html).\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapVolume(\"test\", {\n junctionPath: \"/test\",\n sizeInMegabytes: 1024,\n storageEfficiencyEnabled: true,\n storageVirtualMachineId: aws_fsx_ontap_storage_virtual_machine.test.id,\n tieringPolicy: {\n name: \"AUTO\",\n coolingPeriod: 31,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapVolume(\"test\",\n junction_path=\"/test\",\n size_in_megabytes=1024,\n storage_efficiency_enabled=True,\n storage_virtual_machine_id=aws_fsx_ontap_storage_virtual_machine[\"test\"][\"id\"],\n tiering_policy=aws.fsx.OntapVolumeTieringPolicyArgs(\n name=\"AUTO\",\n cooling_period=31,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapVolume(\"test\", new()\n {\n JunctionPath = \"/test\",\n SizeInMegabytes = 1024,\n StorageEfficiencyEnabled = true,\n StorageVirtualMachineId = aws_fsx_ontap_storage_virtual_machine.Test.Id,\n TieringPolicy = new Aws.Fsx.Inputs.OntapVolumeTieringPolicyArgs\n {\n Name = \"AUTO\",\n CoolingPeriod = 31,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/fsx\"\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 := fsx.NewOntapVolume(ctx, \"test\", \u0026fsx.OntapVolumeArgs{\n\t\t\tJunctionPath: pulumi.String(\"/test\"),\n\t\t\tSizeInMegabytes: pulumi.Int(1024),\n\t\t\tStorageEfficiencyEnabled: pulumi.Bool(true),\n\t\t\tStorageVirtualMachineId: pulumi.Any(aws_fsx_ontap_storage_virtual_machine.Test.Id),\n\t\t\tTieringPolicy: \u0026fsx.OntapVolumeTieringPolicyArgs{\n\t\t\t\tName: pulumi.String(\"AUTO\"),\n\t\t\t\tCoolingPeriod: pulumi.Int(31),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.OntapVolume;\nimport com.pulumi.aws.fsx.OntapVolumeArgs;\nimport com.pulumi.aws.fsx.inputs.OntapVolumeTieringPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapVolume(\"test\", OntapVolumeArgs.builder() \n .junctionPath(\"/test\")\n .sizeInMegabytes(1024)\n .storageEfficiencyEnabled(true)\n .storageVirtualMachineId(aws_fsx_ontap_storage_virtual_machine.test().id())\n .tieringPolicy(OntapVolumeTieringPolicyArgs.builder()\n .name(\"AUTO\")\n .coolingPeriod(31)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapVolume\n properties:\n junctionPath: /test\n sizeInMegabytes: 1024\n storageEfficiencyEnabled: true\n storageVirtualMachineId: ${aws_fsx_ontap_storage_virtual_machine.test.id}\n tieringPolicy:\n name: AUTO\n coolingPeriod: 31\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nFSx ONTAP volume can be imported using the `id`, e.g.,\n\n```sh\n $ pulumi import aws:fsx/ontapVolume:OntapVolume example fsvol-12345678abcdef123\n```\n\n ", + "description": "Manages a FSx ONTAP Volume.\nSee the [FSx ONTAP User Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html) for more information.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapVolume(\"test\", {\n junctionPath: \"/test\",\n sizeInMegabytes: 1024,\n storageEfficiencyEnabled: true,\n storageVirtualMachineId: aws_fsx_ontap_storage_virtual_machine.test.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapVolume(\"test\",\n junction_path=\"/test\",\n size_in_megabytes=1024,\n storage_efficiency_enabled=True,\n storage_virtual_machine_id=aws_fsx_ontap_storage_virtual_machine[\"test\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapVolume(\"test\", new()\n {\n JunctionPath = \"/test\",\n SizeInMegabytes = 1024,\n StorageEfficiencyEnabled = true,\n StorageVirtualMachineId = aws_fsx_ontap_storage_virtual_machine.Test.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/fsx\"\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 := fsx.NewOntapVolume(ctx, \"test\", \u0026fsx.OntapVolumeArgs{\n\t\t\tJunctionPath: pulumi.String(\"/test\"),\n\t\t\tSizeInMegabytes: pulumi.Int(1024),\n\t\t\tStorageEfficiencyEnabled: pulumi.Bool(true),\n\t\t\tStorageVirtualMachineId: pulumi.Any(aws_fsx_ontap_storage_virtual_machine.Test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.OntapVolume;\nimport com.pulumi.aws.fsx.OntapVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapVolume(\"test\", OntapVolumeArgs.builder() \n .junctionPath(\"/test\")\n .sizeInMegabytes(1024)\n .storageEfficiencyEnabled(true)\n .storageVirtualMachineId(aws_fsx_ontap_storage_virtual_machine.test().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapVolume\n properties:\n junctionPath: /test\n sizeInMegabytes: 1024\n storageEfficiencyEnabled: true\n storageVirtualMachineId: ${aws_fsx_ontap_storage_virtual_machine.test.id}\n```\n{{% /example %}}\n{{% example %}}\n### Using Tiering Policy\n\nAdditional information on tiering policy with ONTAP Volumes can be found in the [FSx ONTAP Guide](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html).\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.fsx.OntapVolume(\"test\", {\n junctionPath: \"/test\",\n sizeInMegabytes: 1024,\n storageEfficiencyEnabled: true,\n storageVirtualMachineId: aws_fsx_ontap_storage_virtual_machine.test.id,\n tieringPolicy: {\n name: \"AUTO\",\n coolingPeriod: 31,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.fsx.OntapVolume(\"test\",\n junction_path=\"/test\",\n size_in_megabytes=1024,\n storage_efficiency_enabled=True,\n storage_virtual_machine_id=aws_fsx_ontap_storage_virtual_machine[\"test\"][\"id\"],\n tiering_policy=aws.fsx.OntapVolumeTieringPolicyArgs(\n name=\"AUTO\",\n cooling_period=31,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Fsx.OntapVolume(\"test\", new()\n {\n JunctionPath = \"/test\",\n SizeInMegabytes = 1024,\n StorageEfficiencyEnabled = true,\n StorageVirtualMachineId = aws_fsx_ontap_storage_virtual_machine.Test.Id,\n TieringPolicy = new Aws.Fsx.Inputs.OntapVolumeTieringPolicyArgs\n {\n Name = \"AUTO\",\n CoolingPeriod = 31,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/fsx\"\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 := fsx.NewOntapVolume(ctx, \"test\", \u0026fsx.OntapVolumeArgs{\n\t\t\tJunctionPath: pulumi.String(\"/test\"),\n\t\t\tSizeInMegabytes: pulumi.Int(1024),\n\t\t\tStorageEfficiencyEnabled: pulumi.Bool(true),\n\t\t\tStorageVirtualMachineId: pulumi.Any(aws_fsx_ontap_storage_virtual_machine.Test.Id),\n\t\t\tTieringPolicy: \u0026fsx.OntapVolumeTieringPolicyArgs{\n\t\t\t\tName: pulumi.String(\"AUTO\"),\n\t\t\t\tCoolingPeriod: pulumi.Int(31),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.OntapVolume;\nimport com.pulumi.aws.fsx.OntapVolumeArgs;\nimport com.pulumi.aws.fsx.inputs.OntapVolumeTieringPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new OntapVolume(\"test\", OntapVolumeArgs.builder() \n .junctionPath(\"/test\")\n .sizeInMegabytes(1024)\n .storageEfficiencyEnabled(true)\n .storageVirtualMachineId(aws_fsx_ontap_storage_virtual_machine.test().id())\n .tieringPolicy(OntapVolumeTieringPolicyArgs.builder()\n .name(\"AUTO\")\n .coolingPeriod(31)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:fsx:OntapVolume\n properties:\n junctionPath: /test\n sizeInMegabytes: 1024\n storageEfficiencyEnabled: true\n storageVirtualMachineId: ${aws_fsx_ontap_storage_virtual_machine.test.id}\n tieringPolicy:\n name: AUTO\n coolingPeriod: 31\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nFSx ONTAP volume can be imported using the `id`, e.g.,\n\n```sh\n $ pulumi import aws:fsx/ontapVolume:OntapVolume example fsvol-12345678abcdef123\n```\n\n ", "properties": { "arn": { "type": "string", @@ -458520,7 +462039,7 @@ } }, "aws:fsx/openZfsSnapshot:OpenZfsSnapshot": { - "description": "Manages an Amazon FSx for OpenZFS volume.\nSee the [FSx OpenZFS User Guide](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) for more information.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Root volume Example\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.OpenZfsFileSystem;\nimport com.pulumi.aws.fsx.OpenZfsFileSystemArgs;\nimport com.pulumi.aws.fsx.OpenZfsSnapshot;\nimport com.pulumi.aws.fsx.OpenZfsSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleOpenZfsFileSystem = new OpenZfsFileSystem(\"exampleOpenZfsFileSystem\", OpenZfsFileSystemArgs.builder() \n .storageCapacity(64)\n .subnetIds(aws_subnet.example().id())\n .deploymentType(\"SINGLE_AZ_1\")\n .throughputCapacity(64)\n .build());\n\n var exampleOpenZfsSnapshot = new OpenZfsSnapshot(\"exampleOpenZfsSnapshot\", OpenZfsSnapshotArgs.builder() \n .volumeId(exampleOpenZfsFileSystem.rootVolumeId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleOpenZfsSnapshot:\n type: aws:fsx:OpenZfsSnapshot\n properties:\n volumeId: ${exampleOpenZfsFileSystem.rootVolumeId}\n exampleOpenZfsFileSystem:\n type: aws:fsx:OpenZfsFileSystem\n properties:\n storageCapacity: 64\n subnetIds:\n - ${aws_subnet.example.id}\n deploymentType: SINGLE_AZ_1\n throughputCapacity: 64\n```\n{{% /example %}}\n{{% example %}}\n### Child volume Example\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.OpenZfsFileSystem;\nimport com.pulumi.aws.fsx.OpenZfsFileSystemArgs;\nimport com.pulumi.aws.fsx.OpenZfsVolume;\nimport com.pulumi.aws.fsx.OpenZfsVolumeArgs;\nimport com.pulumi.aws.fsx.OpenZfsSnapshot;\nimport com.pulumi.aws.fsx.OpenZfsSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleOpenZfsFileSystem = new OpenZfsFileSystem(\"exampleOpenZfsFileSystem\", OpenZfsFileSystemArgs.builder() \n .storageCapacity(64)\n .subnetIds(aws_subnet.example().id())\n .deploymentType(\"SINGLE_AZ_1\")\n .throughputCapacity(64)\n .build());\n\n var exampleOpenZfsVolume = new OpenZfsVolume(\"exampleOpenZfsVolume\", OpenZfsVolumeArgs.builder() \n .parentVolumeId(exampleOpenZfsFileSystem.rootVolumeId())\n .build());\n\n var exampleOpenZfsSnapshot = new OpenZfsSnapshot(\"exampleOpenZfsSnapshot\", OpenZfsSnapshotArgs.builder() \n .volumeId(exampleOpenZfsVolume.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleOpenZfsSnapshot:\n type: aws:fsx:OpenZfsSnapshot\n properties:\n volumeId: ${exampleOpenZfsVolume.id}\n exampleOpenZfsVolume:\n type: aws:fsx:OpenZfsVolume\n properties:\n parentVolumeId: ${exampleOpenZfsFileSystem.rootVolumeId}\n exampleOpenZfsFileSystem:\n type: aws:fsx:OpenZfsFileSystem\n properties:\n storageCapacity: 64\n subnetIds:\n - ${aws_subnet.example.id}\n deploymentType: SINGLE_AZ_1\n throughputCapacity: 64\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nFSx OpenZFS snapshot can be imported using the `id`, e.g.,\n\n```sh\n $ pulumi import aws:fsx/openZfsSnapshot:OpenZfsSnapshot example fs-543ab12b1ca672f33\n```\n\n ", + "description": "Manages an Amazon FSx for OpenZFS volume.\nSee the [FSx OpenZFS User Guide](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) for more information.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Root volume Example\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.OpenZfsFileSystem;\nimport com.pulumi.aws.fsx.OpenZfsFileSystemArgs;\nimport com.pulumi.aws.fsx.OpenZfsSnapshot;\nimport com.pulumi.aws.fsx.OpenZfsSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleOpenZfsFileSystem = new OpenZfsFileSystem(\"exampleOpenZfsFileSystem\", OpenZfsFileSystemArgs.builder() \n .storageCapacity(64)\n .subnetIds(aws_subnet.example().id())\n .deploymentType(\"SINGLE_AZ_1\")\n .throughputCapacity(64)\n .build());\n\n var exampleOpenZfsSnapshot = new OpenZfsSnapshot(\"exampleOpenZfsSnapshot\", OpenZfsSnapshotArgs.builder() \n .volumeId(exampleOpenZfsFileSystem.rootVolumeId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleOpenZfsSnapshot:\n type: aws:fsx:OpenZfsSnapshot\n properties:\n volumeId: ${exampleOpenZfsFileSystem.rootVolumeId}\n exampleOpenZfsFileSystem:\n type: aws:fsx:OpenZfsFileSystem\n properties:\n storageCapacity: 64\n subnetIds:\n - ${aws_subnet.example.id}\n deploymentType: SINGLE_AZ_1\n throughputCapacity: 64\n```\n{{% /example %}}\n{{% example %}}\n### Child volume Example\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.fsx.OpenZfsFileSystem;\nimport com.pulumi.aws.fsx.OpenZfsFileSystemArgs;\nimport com.pulumi.aws.fsx.OpenZfsVolume;\nimport com.pulumi.aws.fsx.OpenZfsVolumeArgs;\nimport com.pulumi.aws.fsx.OpenZfsSnapshot;\nimport com.pulumi.aws.fsx.OpenZfsSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleOpenZfsFileSystem = new OpenZfsFileSystem(\"exampleOpenZfsFileSystem\", OpenZfsFileSystemArgs.builder() \n .storageCapacity(64)\n .subnetIds(aws_subnet.example().id())\n .deploymentType(\"SINGLE_AZ_1\")\n .throughputCapacity(64)\n .build());\n\n var exampleOpenZfsVolume = new OpenZfsVolume(\"exampleOpenZfsVolume\", OpenZfsVolumeArgs.builder() \n .parentVolumeId(exampleOpenZfsFileSystem.rootVolumeId())\n .build());\n\n var exampleOpenZfsSnapshot = new OpenZfsSnapshot(\"exampleOpenZfsSnapshot\", OpenZfsSnapshotArgs.builder() \n .volumeId(exampleOpenZfsVolume.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleOpenZfsSnapshot:\n type: aws:fsx:OpenZfsSnapshot\n properties:\n volumeId: ${exampleOpenZfsVolume.id}\n exampleOpenZfsVolume:\n type: aws:fsx:OpenZfsVolume\n properties:\n parentVolumeId: ${exampleOpenZfsFileSystem.rootVolumeId}\n exampleOpenZfsFileSystem:\n type: aws:fsx:OpenZfsFileSystem\n properties:\n storageCapacity: 64\n subnetIds:\n - ${aws_subnet.example.id}\n deploymentType: SINGLE_AZ_1\n throughputCapacity: 64\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nFSx OpenZFS snapshot can be imported using the `id`, e.g.,\n\n```sh\n $ pulumi import aws:fsx/openZfsSnapshot:OpenZfsSnapshot example fs-543ab12b1ca672f33\n```\n\n ", "properties": { "arn": { "type": "string", @@ -460407,7 +463926,7 @@ } }, "aws:globalaccelerator/accelerator:Accelerator": { - "description": "Creates a Global Accelerator accelerator.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.Accelerator(\"example\", {\n attributes: {\n flowLogsEnabled: true,\n flowLogsS3Bucket: \"example-bucket\",\n flowLogsS3Prefix: \"flow-logs/\",\n },\n enabled: true,\n ipAddressType: \"IPV4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.Accelerator(\"example\",\n attributes=aws.globalaccelerator.AcceleratorAttributesArgs(\n flow_logs_enabled=True,\n flow_logs_s3_bucket=\"example-bucket\",\n flow_logs_s3_prefix=\"flow-logs/\",\n ),\n enabled=True,\n ip_address_type=\"IPV4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.Accelerator(\"example\", new()\n {\n Attributes = new Aws.GlobalAccelerator.Inputs.AcceleratorAttributesArgs\n {\n FlowLogsEnabled = true,\n FlowLogsS3Bucket = \"example-bucket\",\n FlowLogsS3Prefix = \"flow-logs/\",\n },\n Enabled = true,\n IpAddressType = \"IPV4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/globalaccelerator\"\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 := globalaccelerator.NewAccelerator(ctx, \"example\", \u0026globalaccelerator.AcceleratorArgs{\n\t\t\tAttributes: \u0026globalaccelerator.AcceleratorAttributesArgs{\n\t\t\t\tFlowLogsEnabled: pulumi.Bool(true),\n\t\t\t\tFlowLogsS3Bucket: pulumi.String(\"example-bucket\"),\n\t\t\t\tFlowLogsS3Prefix: pulumi.String(\"flow-logs/\"),\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tIpAddressType: pulumi.String(\"IPV4\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.globalaccelerator.Accelerator;\nimport com.pulumi.aws.globalaccelerator.AcceleratorArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.AcceleratorAttributesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Accelerator(\"example\", AcceleratorArgs.builder() \n .attributes(AcceleratorAttributesArgs.builder()\n .flowLogsEnabled(true)\n .flowLogsS3Bucket(\"example-bucket\")\n .flowLogsS3Prefix(\"flow-logs/\")\n .build())\n .enabled(true)\n .ipAddressType(\"IPV4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:Accelerator\n properties:\n attributes:\n flowLogsEnabled: true\n flowLogsS3Bucket: example-bucket\n flowLogsS3Prefix: flow-logs/\n enabled: true\n ipAddressType: IPV4\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nGlobal Accelerator accelerators can be imported using the `arn`, e.g.,\n\n```sh\n $ pulumi import aws:globalaccelerator/accelerator:Accelerator example arn:aws:globalaccelerator::111111111111:accelerator/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n```\n\n ", + "description": "Creates a Global Accelerator accelerator.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.Accelerator(\"example\", {\n attributes: {\n flowLogsEnabled: true,\n flowLogsS3Bucket: \"example-bucket\",\n flowLogsS3Prefix: \"flow-logs/\",\n },\n enabled: true,\n ipAddressType: \"IPV4\",\n ipAddresses: [\"1.2.3.4\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.Accelerator(\"example\",\n attributes=aws.globalaccelerator.AcceleratorAttributesArgs(\n flow_logs_enabled=True,\n flow_logs_s3_bucket=\"example-bucket\",\n flow_logs_s3_prefix=\"flow-logs/\",\n ),\n enabled=True,\n ip_address_type=\"IPV4\",\n ip_addresses=[\"1.2.3.4\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.Accelerator(\"example\", new()\n {\n Attributes = new Aws.GlobalAccelerator.Inputs.AcceleratorAttributesArgs\n {\n FlowLogsEnabled = true,\n FlowLogsS3Bucket = \"example-bucket\",\n FlowLogsS3Prefix = \"flow-logs/\",\n },\n Enabled = true,\n IpAddressType = \"IPV4\",\n IpAddresses = new[]\n {\n \"1.2.3.4\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/globalaccelerator\"\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 := globalaccelerator.NewAccelerator(ctx, \"example\", \u0026globalaccelerator.AcceleratorArgs{\n\t\t\tAttributes: \u0026globalaccelerator.AcceleratorAttributesArgs{\n\t\t\t\tFlowLogsEnabled: pulumi.Bool(true),\n\t\t\t\tFlowLogsS3Bucket: pulumi.String(\"example-bucket\"),\n\t\t\t\tFlowLogsS3Prefix: pulumi.String(\"flow-logs/\"),\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tIpAddressType: pulumi.String(\"IPV4\"),\n\t\t\tIpAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2.3.4\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.globalaccelerator.Accelerator;\nimport com.pulumi.aws.globalaccelerator.AcceleratorArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.AcceleratorAttributesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Accelerator(\"example\", AcceleratorArgs.builder() \n .attributes(AcceleratorAttributesArgs.builder()\n .flowLogsEnabled(true)\n .flowLogsS3Bucket(\"example-bucket\")\n .flowLogsS3Prefix(\"flow-logs/\")\n .build())\n .enabled(true)\n .ipAddressType(\"IPV4\")\n .ipAddresses(\"1.2.3.4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:Accelerator\n properties:\n attributes:\n flowLogsEnabled: true\n flowLogsS3Bucket: example-bucket\n flowLogsS3Prefix: flow-logs/\n enabled: true\n ipAddressType: IPV4\n ipAddresses:\n - 1.2.3.4\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nGlobal Accelerator accelerators can be imported using the `arn`, e.g.,\n\n```sh\n $ pulumi import aws:globalaccelerator/accelerator:Accelerator example arn:aws:globalaccelerator::111111111111:accelerator/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n```\n\n ", "properties": { "attributes": { "$ref": "#/types/aws:globalaccelerator/AcceleratorAttributes:AcceleratorAttributes", @@ -460428,6 +463947,13 @@ "type": "string", "description": "The value for the address type. Defaults to `IPV4`. Valid values: `IPV4`, `DUAL_STACK`.\n" }, + "ipAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses.\n" + }, "ipSets": { "type": "array", "items": { @@ -460474,6 +464000,14 @@ "type": "string", "description": "The value for the address type. Defaults to `IPV4`. Valid values: `IPV4`, `DUAL_STACK`.\n" }, + "ipAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses.\n", + "willReplaceOnChanges": true + }, "name": { "type": "string", "description": "The name of the accelerator.\n" @@ -460508,6 +464042,14 @@ "type": "string", "description": "The value for the address type. Defaults to `IPV4`. Valid values: `IPV4`, `DUAL_STACK`.\n" }, + "ipAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses.\n", + "willReplaceOnChanges": true + }, "ipSets": { "type": "array", "items": { @@ -461411,7 +464953,7 @@ } }, "aws:glue/crawler:Crawler": { - "description": "Manages a Glue Crawler. More information can be found in the [AWS Glue Developer Guide](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### DynamoDB Target Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: aws_glue_catalog_database.example.name,\n role: aws_iam_role.example.arn,\n dynamodbTargets: [{\n path: \"table-name\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=aws_glue_catalog_database[\"example\"][\"name\"],\n role=aws_iam_role[\"example\"][\"arn\"],\n dynamodb_targets=[aws.glue.CrawlerDynamodbTargetArgs(\n path=\"table-name\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = aws_glue_catalog_database.Example.Name,\n Role = aws_iam_role.Example.Arn,\n DynamodbTargets = new[]\n {\n new Aws.Glue.Inputs.CrawlerDynamodbTargetArgs\n {\n Path = \"table-name\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/glue\"\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 := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(aws_glue_catalog_database.Example.Name),\n\t\t\tRole: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\tDynamodbTargets: glue.CrawlerDynamodbTargetArray{\n\t\t\t\t\u0026glue.CrawlerDynamodbTargetArgs{\n\t\t\t\t\tPath: pulumi.String(\"table-name\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerDynamodbTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Crawler(\"example\", CrawlerArgs.builder() \n .databaseName(aws_glue_catalog_database.example().name())\n .role(aws_iam_role.example().arn())\n .dynamodbTargets(CrawlerDynamodbTargetArgs.builder()\n .path(\"table-name\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${aws_glue_catalog_database.example.name}\n role: ${aws_iam_role.example.arn}\n dynamodbTargets:\n - path: table-name\n```\n{{% /example %}}\n{{% example %}}\n### JDBC Target Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: aws_glue_catalog_database.example.name,\n role: aws_iam_role.example.arn,\n jdbcTargets: [{\n connectionName: aws_glue_connection.example.name,\n path: `database-name/%`,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=aws_glue_catalog_database[\"example\"][\"name\"],\n role=aws_iam_role[\"example\"][\"arn\"],\n jdbc_targets=[aws.glue.CrawlerJdbcTargetArgs(\n connection_name=aws_glue_connection[\"example\"][\"name\"],\n path=\"database-name/%\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = aws_glue_catalog_database.Example.Name,\n Role = aws_iam_role.Example.Arn,\n JdbcTargets = new[]\n {\n new Aws.Glue.Inputs.CrawlerJdbcTargetArgs\n {\n ConnectionName = aws_glue_connection.Example.Name,\n Path = \"database-name/%\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/glue\"\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 := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(aws_glue_catalog_database.Example.Name),\n\t\t\tRole: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\tJdbcTargets: glue.CrawlerJdbcTargetArray{\n\t\t\t\t\u0026glue.CrawlerJdbcTargetArgs{\n\t\t\t\t\tConnectionName: pulumi.Any(aws_glue_connection.Example.Name),\n\t\t\t\t\tPath: pulumi.String(fmt.Sprintf(\"database-name/%v\", \"%\")),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerJdbcTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Crawler(\"example\", CrawlerArgs.builder() \n .databaseName(aws_glue_catalog_database.example().name())\n .role(aws_iam_role.example().arn())\n .jdbcTargets(CrawlerJdbcTargetArgs.builder()\n .connectionName(aws_glue_connection.example().name())\n .path(\"database-name/%\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${aws_glue_catalog_database.example.name}\n role: ${aws_iam_role.example.arn}\n jdbcTargets:\n - connectionName: ${aws_glue_connection.example.name}\n path: database-name/%\n```\n{{% /example %}}\n{{% example %}}\n### S3 Target Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: aws_glue_catalog_database.example.name,\n role: aws_iam_role.example.arn,\n s3Targets: [{\n path: `s3://${aws_s3_bucket.example.bucket}`,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=aws_glue_catalog_database[\"example\"][\"name\"],\n role=aws_iam_role[\"example\"][\"arn\"],\n s3_targets=[aws.glue.CrawlerS3TargetArgs(\n path=f\"s3://{aws_s3_bucket['example']['bucket']}\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = aws_glue_catalog_database.Example.Name,\n Role = aws_iam_role.Example.Arn,\n S3Targets = new[]\n {\n new Aws.Glue.Inputs.CrawlerS3TargetArgs\n {\n Path = $\"s3://{aws_s3_bucket.Example.Bucket}\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/glue\"\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 := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(aws_glue_catalog_database.Example.Name),\n\t\t\tRole: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\tS3Targets: glue.CrawlerS3TargetArray{\n\t\t\t\t\u0026glue.CrawlerS3TargetArgs{\n\t\t\t\t\tPath: pulumi.String(fmt.Sprintf(\"s3://%v\", aws_s3_bucket.Example.Bucket)),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerS3TargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Crawler(\"example\", CrawlerArgs.builder() \n .databaseName(aws_glue_catalog_database.example().name())\n .role(aws_iam_role.example().arn())\n .s3Targets(CrawlerS3TargetArgs.builder()\n .path(String.format(\"s3://%s\", aws_s3_bucket.example().bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${aws_glue_catalog_database.example.name}\n role: ${aws_iam_role.example.arn}\n s3Targets:\n - path: s3://${aws_s3_bucket.example.bucket}\n```\n\n{{% /example %}}\n{{% example %}}\n### Catalog Target Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: aws_glue_catalog_database.example.name,\n role: aws_iam_role.example.arn,\n catalogTargets: [{\n databaseName: aws_glue_catalog_database.example.name,\n tables: [aws_glue_catalog_table.example.name],\n }],\n schemaChangePolicy: {\n deleteBehavior: \"LOG\",\n },\n configuration: `{\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=aws_glue_catalog_database[\"example\"][\"name\"],\n role=aws_iam_role[\"example\"][\"arn\"],\n catalog_targets=[aws.glue.CrawlerCatalogTargetArgs(\n database_name=aws_glue_catalog_database[\"example\"][\"name\"],\n tables=[aws_glue_catalog_table[\"example\"][\"name\"]],\n )],\n schema_change_policy=aws.glue.CrawlerSchemaChangePolicyArgs(\n delete_behavior=\"LOG\",\n ),\n configuration=\"\"\"{\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = aws_glue_catalog_database.Example.Name,\n Role = aws_iam_role.Example.Arn,\n CatalogTargets = new[]\n {\n new Aws.Glue.Inputs.CrawlerCatalogTargetArgs\n {\n DatabaseName = aws_glue_catalog_database.Example.Name,\n Tables = new[]\n {\n aws_glue_catalog_table.Example.Name,\n },\n },\n },\n SchemaChangePolicy = new Aws.Glue.Inputs.CrawlerSchemaChangePolicyArgs\n {\n DeleteBehavior = \"LOG\",\n },\n Configuration = @\"{\n \"\"Version\"\":1.0,\n \"\"Grouping\"\": {\n \"\"TableGroupingPolicy\"\": \"\"CombineCompatibleSchemas\"\"\n }\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/glue\"\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 := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(aws_glue_catalog_database.Example.Name),\n\t\t\tRole: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\tCatalogTargets: glue.CrawlerCatalogTargetArray{\n\t\t\t\t\u0026glue.CrawlerCatalogTargetArgs{\n\t\t\t\t\tDatabaseName: pulumi.Any(aws_glue_catalog_database.Example.Name),\n\t\t\t\t\tTables: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.Any(aws_glue_catalog_table.Example.Name),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSchemaChangePolicy: \u0026glue.CrawlerSchemaChangePolicyArgs{\n\t\t\t\tDeleteBehavior: pulumi.String(\"LOG\"),\n\t\t\t},\n\t\t\tConfiguration: pulumi.String(fmt.Sprintf(`{\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n}\n`)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerCatalogTargetArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerSchemaChangePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Crawler(\"example\", CrawlerArgs.builder() \n .databaseName(aws_glue_catalog_database.example().name())\n .role(aws_iam_role.example().arn())\n .catalogTargets(CrawlerCatalogTargetArgs.builder()\n .databaseName(aws_glue_catalog_database.example().name())\n .tables(aws_glue_catalog_table.example().name())\n .build())\n .schemaChangePolicy(CrawlerSchemaChangePolicyArgs.builder()\n .deleteBehavior(\"LOG\")\n .build())\n .configuration(\"\"\"\n{\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${aws_glue_catalog_database.example.name}\n role: ${aws_iam_role.example.arn}\n catalogTargets:\n - databaseName: ${aws_glue_catalog_database.example.name}\n tables:\n - ${aws_glue_catalog_table.example.name}\n schemaChangePolicy:\n deleteBehavior: LOG\n configuration: |\n {\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n }\n```\n{{% /example %}}\n{{% example %}}\n### MongoDB Target Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: aws_glue_catalog_database.example.name,\n role: aws_iam_role.example.arn,\n mongodbTargets: [{\n connectionName: aws_glue_connection.example.name,\n path: `database-name/%`,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=aws_glue_catalog_database[\"example\"][\"name\"],\n role=aws_iam_role[\"example\"][\"arn\"],\n mongodb_targets=[aws.glue.CrawlerMongodbTargetArgs(\n connection_name=aws_glue_connection[\"example\"][\"name\"],\n path=\"database-name/%\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = aws_glue_catalog_database.Example.Name,\n Role = aws_iam_role.Example.Arn,\n MongodbTargets = new[]\n {\n new Aws.Glue.Inputs.CrawlerMongodbTargetArgs\n {\n ConnectionName = aws_glue_connection.Example.Name,\n Path = \"database-name/%\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/glue\"\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 := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(aws_glue_catalog_database.Example.Name),\n\t\t\tRole: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\tMongodbTargets: glue.CrawlerMongodbTargetArray{\n\t\t\t\t\u0026glue.CrawlerMongodbTargetArgs{\n\t\t\t\t\tConnectionName: pulumi.Any(aws_glue_connection.Example.Name),\n\t\t\t\t\tPath: pulumi.String(fmt.Sprintf(\"database-name/%v\", \"%\")),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerMongodbTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Crawler(\"example\", CrawlerArgs.builder() \n .databaseName(aws_glue_catalog_database.example().name())\n .role(aws_iam_role.example().arn())\n .mongodbTargets(CrawlerMongodbTargetArgs.builder()\n .connectionName(aws_glue_connection.example().name())\n .path(\"database-name/%\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${aws_glue_catalog_database.example.name}\n role: ${aws_iam_role.example.arn}\n mongodbTargets:\n - connectionName: ${aws_glue_connection.example.name}\n path: database-name/%\n```\n{{% /example %}}\n{{% example %}}\n### Configuration Settings Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst eventsCrawler = new aws.glue.Crawler(\"eventsCrawler\", {\n databaseName: aws_glue_catalog_database.glue_database.name,\n schedule: \"cron(0 1 * * ? *)\",\n role: aws_iam_role.glue_role.arn,\n tags: _var.tags,\n configuration: JSON.stringify({\n Grouping: {\n TableGroupingPolicy: \"CombineCompatibleSchemas\",\n },\n CrawlerOutput: {\n Partitions: {\n AddOrUpdateBehavior: \"InheritFromTable\",\n },\n },\n Version: 1,\n }),\n s3Targets: [{\n path: `s3://${aws_s3_bucket.data_lake_bucket.bucket}`,\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nevents_crawler = aws.glue.Crawler(\"eventsCrawler\",\n database_name=aws_glue_catalog_database[\"glue_database\"][\"name\"],\n schedule=\"cron(0 1 * * ? *)\",\n role=aws_iam_role[\"glue_role\"][\"arn\"],\n tags=var[\"tags\"],\n configuration=json.dumps({\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\",\n },\n \"CrawlerOutput\": {\n \"Partitions\": {\n \"AddOrUpdateBehavior\": \"InheritFromTable\",\n },\n },\n \"Version\": 1,\n }),\n s3_targets=[aws.glue.CrawlerS3TargetArgs(\n path=f\"s3://{aws_s3_bucket['data_lake_bucket']['bucket']}\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var eventsCrawler = new Aws.Glue.Crawler(\"eventsCrawler\", new()\n {\n DatabaseName = aws_glue_catalog_database.Glue_database.Name,\n Schedule = \"cron(0 1 * * ? *)\",\n Role = aws_iam_role.Glue_role.Arn,\n Tags = @var.Tags,\n Configuration = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Grouping\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"TableGroupingPolicy\"] = \"CombineCompatibleSchemas\",\n },\n [\"CrawlerOutput\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Partitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AddOrUpdateBehavior\"] = \"InheritFromTable\",\n },\n },\n [\"Version\"] = 1,\n }),\n S3Targets = new[]\n {\n new Aws.Glue.Inputs.CrawlerS3TargetArgs\n {\n Path = $\"s3://{aws_s3_bucket.Data_lake_bucket.Bucket}\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Grouping\": map[string]interface{}{\n\t\t\t\t\"TableGroupingPolicy\": \"CombineCompatibleSchemas\",\n\t\t\t},\n\t\t\t\"CrawlerOutput\": map[string]interface{}{\n\t\t\t\t\"Partitions\": map[string]interface{}{\n\t\t\t\t\t\"AddOrUpdateBehavior\": \"InheritFromTable\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = glue.NewCrawler(ctx, \"eventsCrawler\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(aws_glue_catalog_database.Glue_database.Name),\n\t\t\tSchedule: pulumi.String(\"cron(0 1 * * ? *)\"),\n\t\t\tRole: pulumi.Any(aws_iam_role.Glue_role.Arn),\n\t\t\tTags: pulumi.Any(_var.Tags),\n\t\t\tConfiguration: pulumi.String(json0),\n\t\t\tS3Targets: glue.CrawlerS3TargetArray{\n\t\t\t\t\u0026glue.CrawlerS3TargetArgs{\n\t\t\t\t\tPath: pulumi.String(fmt.Sprintf(\"s3://%v\", aws_s3_bucket.Data_lake_bucket.Bucket)),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerS3TargetArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var eventsCrawler = new Crawler(\"eventsCrawler\", CrawlerArgs.builder() \n .databaseName(aws_glue_catalog_database.glue_database().name())\n .schedule(\"cron(0 1 * * ? *)\")\n .role(aws_iam_role.glue_role().arn())\n .tags(var_.tags())\n .configuration(serializeJson(\n jsonObject(\n jsonProperty(\"Grouping\", jsonObject(\n jsonProperty(\"TableGroupingPolicy\", \"CombineCompatibleSchemas\")\n )),\n jsonProperty(\"CrawlerOutput\", jsonObject(\n jsonProperty(\"Partitions\", jsonObject(\n jsonProperty(\"AddOrUpdateBehavior\", \"InheritFromTable\")\n ))\n )),\n jsonProperty(\"Version\", 1)\n )))\n .s3Targets(CrawlerS3TargetArgs.builder()\n .path(String.format(\"s3://%s\", aws_s3_bucket.data_lake_bucket().bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n eventsCrawler:\n type: aws:glue:Crawler\n properties:\n databaseName: ${aws_glue_catalog_database.glue_database.name}\n schedule: cron(0 1 * * ? *)\n role: ${aws_iam_role.glue_role.arn}\n tags: ${var.tags}\n configuration:\n Fn::ToJSON:\n Grouping:\n TableGroupingPolicy: CombineCompatibleSchemas\n CrawlerOutput:\n Partitions:\n AddOrUpdateBehavior: InheritFromTable\n Version: 1\n s3Targets:\n - path: s3://${aws_s3_bucket.data_lake_bucket.bucket}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nGlue Crawlers can be imported using `name`, e.g.,\n\n```sh\n $ pulumi import aws:glue/crawler:Crawler MyJob MyJob\n```\n\n ", + "description": "Manages a Glue Crawler. More information can be found in the [AWS Glue Developer Guide](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### DynamoDB Target Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: aws_glue_catalog_database.example.name,\n role: aws_iam_role.example.arn,\n dynamodbTargets: [{\n path: \"table-name\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=aws_glue_catalog_database[\"example\"][\"name\"],\n role=aws_iam_role[\"example\"][\"arn\"],\n dynamodb_targets=[aws.glue.CrawlerDynamodbTargetArgs(\n path=\"table-name\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = aws_glue_catalog_database.Example.Name,\n Role = aws_iam_role.Example.Arn,\n DynamodbTargets = new[]\n {\n new Aws.Glue.Inputs.CrawlerDynamodbTargetArgs\n {\n Path = \"table-name\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/glue\"\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 := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(aws_glue_catalog_database.Example.Name),\n\t\t\tRole: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\tDynamodbTargets: glue.CrawlerDynamodbTargetArray{\n\t\t\t\t\u0026glue.CrawlerDynamodbTargetArgs{\n\t\t\t\t\tPath: pulumi.String(\"table-name\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerDynamodbTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Crawler(\"example\", CrawlerArgs.builder() \n .databaseName(aws_glue_catalog_database.example().name())\n .role(aws_iam_role.example().arn())\n .dynamodbTargets(CrawlerDynamodbTargetArgs.builder()\n .path(\"table-name\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${aws_glue_catalog_database.example.name}\n role: ${aws_iam_role.example.arn}\n dynamodbTargets:\n - path: table-name\n```\n{{% /example %}}\n{{% example %}}\n### JDBC Target Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: aws_glue_catalog_database.example.name,\n role: aws_iam_role.example.arn,\n jdbcTargets: [{\n connectionName: aws_glue_connection.example.name,\n path: `database-name/%`,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=aws_glue_catalog_database[\"example\"][\"name\"],\n role=aws_iam_role[\"example\"][\"arn\"],\n jdbc_targets=[aws.glue.CrawlerJdbcTargetArgs(\n connection_name=aws_glue_connection[\"example\"][\"name\"],\n path=\"database-name/%\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = aws_glue_catalog_database.Example.Name,\n Role = aws_iam_role.Example.Arn,\n JdbcTargets = new[]\n {\n new Aws.Glue.Inputs.CrawlerJdbcTargetArgs\n {\n ConnectionName = aws_glue_connection.Example.Name,\n Path = \"database-name/%\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/glue\"\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 := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(aws_glue_catalog_database.Example.Name),\n\t\t\tRole: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\tJdbcTargets: glue.CrawlerJdbcTargetArray{\n\t\t\t\t\u0026glue.CrawlerJdbcTargetArgs{\n\t\t\t\t\tConnectionName: pulumi.Any(aws_glue_connection.Example.Name),\n\t\t\t\t\tPath: pulumi.String(fmt.Sprintf(\"database-name/%v\", \"%\")),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerJdbcTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Crawler(\"example\", CrawlerArgs.builder() \n .databaseName(aws_glue_catalog_database.example().name())\n .role(aws_iam_role.example().arn())\n .jdbcTargets(CrawlerJdbcTargetArgs.builder()\n .connectionName(aws_glue_connection.example().name())\n .path(\"database-name/%\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${aws_glue_catalog_database.example.name}\n role: ${aws_iam_role.example.arn}\n jdbcTargets:\n - connectionName: ${aws_glue_connection.example.name}\n path: database-name/%\n```\n{{% /example %}}\n{{% example %}}\n### S3 Target Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: aws_glue_catalog_database.example.name,\n role: aws_iam_role.example.arn,\n s3Targets: [{\n path: `s3://${aws_s3_bucket.example.bucket}`,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=aws_glue_catalog_database[\"example\"][\"name\"],\n role=aws_iam_role[\"example\"][\"arn\"],\n s3_targets=[aws.glue.CrawlerS3TargetArgs(\n path=f\"s3://{aws_s3_bucket['example']['bucket']}\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = aws_glue_catalog_database.Example.Name,\n Role = aws_iam_role.Example.Arn,\n S3Targets = new[]\n {\n new Aws.Glue.Inputs.CrawlerS3TargetArgs\n {\n Path = $\"s3://{aws_s3_bucket.Example.Bucket}\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/glue\"\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 := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(aws_glue_catalog_database.Example.Name),\n\t\t\tRole: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\tS3Targets: glue.CrawlerS3TargetArray{\n\t\t\t\t\u0026glue.CrawlerS3TargetArgs{\n\t\t\t\t\tPath: pulumi.String(fmt.Sprintf(\"s3://%v\", aws_s3_bucket.Example.Bucket)),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerS3TargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Crawler(\"example\", CrawlerArgs.builder() \n .databaseName(aws_glue_catalog_database.example().name())\n .role(aws_iam_role.example().arn())\n .s3Targets(CrawlerS3TargetArgs.builder()\n .path(String.format(\"s3://%s\", aws_s3_bucket.example().bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${aws_glue_catalog_database.example.name}\n role: ${aws_iam_role.example.arn}\n s3Targets:\n - path: s3://${aws_s3_bucket.example.bucket}\n```\n{{% /example %}}\n{{% example %}}\n### Catalog Target Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: aws_glue_catalog_database.example.name,\n role: aws_iam_role.example.arn,\n catalogTargets: [{\n databaseName: aws_glue_catalog_database.example.name,\n tables: [aws_glue_catalog_table.example.name],\n }],\n schemaChangePolicy: {\n deleteBehavior: \"LOG\",\n },\n configuration: `{\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=aws_glue_catalog_database[\"example\"][\"name\"],\n role=aws_iam_role[\"example\"][\"arn\"],\n catalog_targets=[aws.glue.CrawlerCatalogTargetArgs(\n database_name=aws_glue_catalog_database[\"example\"][\"name\"],\n tables=[aws_glue_catalog_table[\"example\"][\"name\"]],\n )],\n schema_change_policy=aws.glue.CrawlerSchemaChangePolicyArgs(\n delete_behavior=\"LOG\",\n ),\n configuration=\"\"\"{\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = aws_glue_catalog_database.Example.Name,\n Role = aws_iam_role.Example.Arn,\n CatalogTargets = new[]\n {\n new Aws.Glue.Inputs.CrawlerCatalogTargetArgs\n {\n DatabaseName = aws_glue_catalog_database.Example.Name,\n Tables = new[]\n {\n aws_glue_catalog_table.Example.Name,\n },\n },\n },\n SchemaChangePolicy = new Aws.Glue.Inputs.CrawlerSchemaChangePolicyArgs\n {\n DeleteBehavior = \"LOG\",\n },\n Configuration = @\"{\n \"\"Version\"\":1.0,\n \"\"Grouping\"\": {\n \"\"TableGroupingPolicy\"\": \"\"CombineCompatibleSchemas\"\"\n }\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/glue\"\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 := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(aws_glue_catalog_database.Example.Name),\n\t\t\tRole: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\tCatalogTargets: glue.CrawlerCatalogTargetArray{\n\t\t\t\t\u0026glue.CrawlerCatalogTargetArgs{\n\t\t\t\t\tDatabaseName: pulumi.Any(aws_glue_catalog_database.Example.Name),\n\t\t\t\t\tTables: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.Any(aws_glue_catalog_table.Example.Name),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSchemaChangePolicy: \u0026glue.CrawlerSchemaChangePolicyArgs{\n\t\t\t\tDeleteBehavior: pulumi.String(\"LOG\"),\n\t\t\t},\n\t\t\tConfiguration: pulumi.String(fmt.Sprintf(`{\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n}\n`)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerCatalogTargetArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerSchemaChangePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Crawler(\"example\", CrawlerArgs.builder() \n .databaseName(aws_glue_catalog_database.example().name())\n .role(aws_iam_role.example().arn())\n .catalogTargets(CrawlerCatalogTargetArgs.builder()\n .databaseName(aws_glue_catalog_database.example().name())\n .tables(aws_glue_catalog_table.example().name())\n .build())\n .schemaChangePolicy(CrawlerSchemaChangePolicyArgs.builder()\n .deleteBehavior(\"LOG\")\n .build())\n .configuration(\"\"\"\n{\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${aws_glue_catalog_database.example.name}\n role: ${aws_iam_role.example.arn}\n catalogTargets:\n - databaseName: ${aws_glue_catalog_database.example.name}\n tables:\n - ${aws_glue_catalog_table.example.name}\n schemaChangePolicy:\n deleteBehavior: LOG\n configuration: |\n {\n \"Version\":1.0,\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\"\n }\n }\n```\n{{% /example %}}\n{{% example %}}\n### MongoDB Target Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.Crawler(\"example\", {\n databaseName: aws_glue_catalog_database.example.name,\n role: aws_iam_role.example.arn,\n mongodbTargets: [{\n connectionName: aws_glue_connection.example.name,\n path: `database-name/%`,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Crawler(\"example\",\n database_name=aws_glue_catalog_database[\"example\"][\"name\"],\n role=aws_iam_role[\"example\"][\"arn\"],\n mongodb_targets=[aws.glue.CrawlerMongodbTargetArgs(\n connection_name=aws_glue_connection[\"example\"][\"name\"],\n path=\"database-name/%\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Glue.Crawler(\"example\", new()\n {\n DatabaseName = aws_glue_catalog_database.Example.Name,\n Role = aws_iam_role.Example.Arn,\n MongodbTargets = new[]\n {\n new Aws.Glue.Inputs.CrawlerMongodbTargetArgs\n {\n ConnectionName = aws_glue_connection.Example.Name,\n Path = \"database-name/%\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/glue\"\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 := glue.NewCrawler(ctx, \"example\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(aws_glue_catalog_database.Example.Name),\n\t\t\tRole: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\tMongodbTargets: glue.CrawlerMongodbTargetArray{\n\t\t\t\t\u0026glue.CrawlerMongodbTargetArgs{\n\t\t\t\t\tConnectionName: pulumi.Any(aws_glue_connection.Example.Name),\n\t\t\t\t\tPath: pulumi.String(fmt.Sprintf(\"database-name/%v\", \"%\")),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerMongodbTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Crawler(\"example\", CrawlerArgs.builder() \n .databaseName(aws_glue_catalog_database.example().name())\n .role(aws_iam_role.example().arn())\n .mongodbTargets(CrawlerMongodbTargetArgs.builder()\n .connectionName(aws_glue_connection.example().name())\n .path(\"database-name/%\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Crawler\n properties:\n databaseName: ${aws_glue_catalog_database.example.name}\n role: ${aws_iam_role.example.arn}\n mongodbTargets:\n - connectionName: ${aws_glue_connection.example.name}\n path: database-name/%\n```\n{{% /example %}}\n{{% example %}}\n### Configuration Settings Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst eventsCrawler = new aws.glue.Crawler(\"eventsCrawler\", {\n databaseName: aws_glue_catalog_database.glue_database.name,\n schedule: \"cron(0 1 * * ? *)\",\n role: aws_iam_role.glue_role.arn,\n tags: _var.tags,\n configuration: JSON.stringify({\n Grouping: {\n TableGroupingPolicy: \"CombineCompatibleSchemas\",\n },\n CrawlerOutput: {\n Partitions: {\n AddOrUpdateBehavior: \"InheritFromTable\",\n },\n },\n Version: 1,\n }),\n s3Targets: [{\n path: `s3://${aws_s3_bucket.data_lake_bucket.bucket}`,\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nevents_crawler = aws.glue.Crawler(\"eventsCrawler\",\n database_name=aws_glue_catalog_database[\"glue_database\"][\"name\"],\n schedule=\"cron(0 1 * * ? *)\",\n role=aws_iam_role[\"glue_role\"][\"arn\"],\n tags=var[\"tags\"],\n configuration=json.dumps({\n \"Grouping\": {\n \"TableGroupingPolicy\": \"CombineCompatibleSchemas\",\n },\n \"CrawlerOutput\": {\n \"Partitions\": {\n \"AddOrUpdateBehavior\": \"InheritFromTable\",\n },\n },\n \"Version\": 1,\n }),\n s3_targets=[aws.glue.CrawlerS3TargetArgs(\n path=f\"s3://{aws_s3_bucket['data_lake_bucket']['bucket']}\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var eventsCrawler = new Aws.Glue.Crawler(\"eventsCrawler\", new()\n {\n DatabaseName = aws_glue_catalog_database.Glue_database.Name,\n Schedule = \"cron(0 1 * * ? *)\",\n Role = aws_iam_role.Glue_role.Arn,\n Tags = @var.Tags,\n Configuration = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Grouping\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"TableGroupingPolicy\"] = \"CombineCompatibleSchemas\",\n },\n [\"CrawlerOutput\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Partitions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"AddOrUpdateBehavior\"] = \"InheritFromTable\",\n },\n },\n [\"Version\"] = 1,\n }),\n S3Targets = new[]\n {\n new Aws.Glue.Inputs.CrawlerS3TargetArgs\n {\n Path = $\"s3://{aws_s3_bucket.Data_lake_bucket.Bucket}\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/glue\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Grouping\": map[string]interface{}{\n\t\t\t\t\"TableGroupingPolicy\": \"CombineCompatibleSchemas\",\n\t\t\t},\n\t\t\t\"CrawlerOutput\": map[string]interface{}{\n\t\t\t\t\"Partitions\": map[string]interface{}{\n\t\t\t\t\t\"AddOrUpdateBehavior\": \"InheritFromTable\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = glue.NewCrawler(ctx, \"eventsCrawler\", \u0026glue.CrawlerArgs{\n\t\t\tDatabaseName: pulumi.Any(aws_glue_catalog_database.Glue_database.Name),\n\t\t\tSchedule: pulumi.String(\"cron(0 1 * * ? *)\"),\n\t\t\tRole: pulumi.Any(aws_iam_role.Glue_role.Arn),\n\t\t\tTags: pulumi.Any(_var.Tags),\n\t\t\tConfiguration: pulumi.String(json0),\n\t\t\tS3Targets: glue.CrawlerS3TargetArray{\n\t\t\t\t\u0026glue.CrawlerS3TargetArgs{\n\t\t\t\t\tPath: pulumi.String(fmt.Sprintf(\"s3://%v\", aws_s3_bucket.Data_lake_bucket.Bucket)),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.glue.Crawler;\nimport com.pulumi.aws.glue.CrawlerArgs;\nimport com.pulumi.aws.glue.inputs.CrawlerS3TargetArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var eventsCrawler = new Crawler(\"eventsCrawler\", CrawlerArgs.builder() \n .databaseName(aws_glue_catalog_database.glue_database().name())\n .schedule(\"cron(0 1 * * ? *)\")\n .role(aws_iam_role.glue_role().arn())\n .tags(var_.tags())\n .configuration(serializeJson(\n jsonObject(\n jsonProperty(\"Grouping\", jsonObject(\n jsonProperty(\"TableGroupingPolicy\", \"CombineCompatibleSchemas\")\n )),\n jsonProperty(\"CrawlerOutput\", jsonObject(\n jsonProperty(\"Partitions\", jsonObject(\n jsonProperty(\"AddOrUpdateBehavior\", \"InheritFromTable\")\n ))\n )),\n jsonProperty(\"Version\", 1)\n )))\n .s3Targets(CrawlerS3TargetArgs.builder()\n .path(String.format(\"s3://%s\", aws_s3_bucket.data_lake_bucket().bucket()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n eventsCrawler:\n type: aws:glue:Crawler\n properties:\n databaseName: ${aws_glue_catalog_database.glue_database.name}\n schedule: cron(0 1 * * ? *)\n role: ${aws_iam_role.glue_role.arn}\n tags: ${var.tags}\n configuration:\n Fn::ToJSON:\n Grouping:\n TableGroupingPolicy: CombineCompatibleSchemas\n CrawlerOutput:\n Partitions:\n AddOrUpdateBehavior: InheritFromTable\n Version: 1\n s3Targets:\n - path: s3://${aws_s3_bucket.data_lake_bucket.bucket}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nGlue Crawlers can be imported using `name`, e.g.,\n\n```sh\n $ pulumi import aws:glue/crawler:Crawler MyJob MyJob\n```\n\n ", "properties": { "arn": { "type": "string", @@ -466577,7 +470119,7 @@ } }, "aws:iam/role:Role": { - "description": "Provides an IAM role.\n\n\u003e **NOTE:** If policies are attached to the role via the `aws.iam.PolicyAttachment` resource and you are modifying the role `name` or `path`, the `force_detach_policies` argument must be set to `true` and applied before attempting the operation otherwise you will encounter a `DeleteConflict` error. The `aws.iam.RolePolicyAttachment` resource does not have this requirement.\n\n\u003e **NOTE:** If you use this resource's `managed_policy_arns` argument or `inline_policy` configuration blocks, this resource will take over exclusive management of the role's respective policy types (e.g., both policy types if both arguments are used). These arguments are incompatible with other ways of managing a role's policies, such as `aws.iam.PolicyAttachment`, `aws.iam.RolePolicyAttachment`, and `aws.iam.RolePolicy`. If you attempt to manage a role's policies by multiple means, you will get resource cycling and/or errors.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testRole = new aws.iam.Role(\"testRole\", {\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n tags: {\n \"tag-key\": \"tag-value\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest_role = aws.iam.Role(\"testRole\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }),\n tags={\n \"tag-key\": \"tag-value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testRole = new Aws.Iam.Role(\"testRole\", new()\n {\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n Tags = \n {\n { \"tag-key\", \"tag-value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = iam.NewRole(ctx, \"testRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag-key\": pulumi.String(\"tag-value\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testRole = new Role(\"testRole\", RoleArgs.builder() \n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .tags(Map.of(\"tag-key\", \"tag-value\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy:\n Fn::ToJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: ec2.amazonaws.com\n tags:\n tag-key: tag-value\n```\n{{% /example %}}\n{{% example %}}\n### Example of Using Data Source for Assume Role Policy\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst instance-assume-role-policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n }],\n});\nconst instance = new aws.iam.Role(\"instance\", {\n path: \"/system/\",\n assumeRolePolicy: instance_assume_role_policy.then(instance_assume_role_policy =\u003e instance_assume_role_policy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ninstance_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ec2.amazonaws.com\"],\n )],\n)])\ninstance = aws.iam.Role(\"instance\",\n path=\"/system/\",\n assume_role_policy=instance_assume_role_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instance_assume_role_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var instance = new Aws.Iam.Role(\"instance\", new()\n {\n Path = \"/system/\",\n AssumeRolePolicy = instance_assume_role_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult).Apply(instance_assume_role_policy =\u003e instance_assume_role_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance_assume_role_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\tiam.GetPolicyDocumentStatement{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\tiam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"instance\", \u0026iam.RoleArgs{\n\t\t\tPath: pulumi.String(\"/system/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(instance_assume_role_policy.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var instance-assume-role-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var instance = new Role(\"instance\", RoleArgs.builder() \n .path(\"/system/\")\n .assumeRolePolicy(instance_assume_role_policy.json())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: aws:iam:Role\n properties:\n path: /system/\n assumeRolePolicy: ${[\"instance-assume-role-policy\"].json}\nvariables:\n instance-assume-role-policy:\n Fn::Invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n```\n{{% /example %}}\n{{% example %}}\n### Example of Exclusive Inline Policies\n\nThis example creates an IAM role with two inline IAM policies. If someone adds another inline policy out-of-band, on the next apply, the provider will remove that policy. If someone deletes these policies out-of-band, the provider will recreate them.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst inlinePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"ec2:DescribeAccountAttributes\"],\n resources: [\"*\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: data.aws_iam_policy_document.instance_assume_role_policy.json,\n inlinePolicies: [\n {\n name: \"my_inline_policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n },\n {\n name: \"policy-8675309\",\n policy: inlinePolicy.then(inlinePolicy =\u003e inlinePolicy.json),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ninline_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"ec2:DescribeAccountAttributes\"],\n resources=[\"*\"],\n)])\nexample = aws.iam.Role(\"example\",\n assume_role_policy=data[\"aws_iam_policy_document\"][\"instance_assume_role_policy\"][\"json\"],\n inline_policies=[\n aws.iam.RoleInlinePolicyArgs(\n name=\"my_inline_policy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }),\n ),\n aws.iam.RoleInlinePolicyArgs(\n name=\"policy-8675309\",\n policy=inline_policy.json,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var inlinePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:DescribeAccountAttributes\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = data.Aws_iam_policy_document.Instance_assume_role_policy.Json,\n InlinePolicies = new[]\n {\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"my_inline_policy\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n },\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"policy-8675309\",\n Policy = inlinePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinlinePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\tiam.GetPolicyDocumentStatement{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:DescribeAccountAttributes\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(data.Aws_iam_policy_document.Instance_assume_role_policy.Json),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_inline_policy\"),\n\t\t\t\t\tPolicy: pulumi.String(json0),\n\t\t\t\t},\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"policy-8675309\"),\n\t\t\t\t\tPolicy: pulumi.String(inlinePolicy.Json),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var inlinePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:DescribeAccountAttributes\")\n .resources(\"*\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder() \n .assumeRolePolicy(data.aws_iam_policy_document().instance_assume_role_policy().json())\n .inlinePolicies( \n RoleInlinePolicyArgs.builder()\n .name(\"my_inline_policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build(),\n RoleInlinePolicyArgs.builder()\n .name(\"policy-8675309\")\n .policy(inlinePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${data.aws_iam_policy_document.instance_assume_role_policy.json} # (not shown)\n inlinePolicies:\n - name: my_inline_policy\n policy:\n Fn::ToJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n - name: policy-8675309\n policy: ${inlinePolicy.json}\nvariables:\n inlinePolicy:\n Fn::Invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - ec2:DescribeAccountAttributes\n resources:\n - '*'\n```\n{{% /example %}}\n{{% example %}}\n### Example of Removing Inline Policies\n\nThis example creates an IAM role with what appears to be empty IAM `inline_policy` argument instead of using `inline_policy` as a configuration block. The result is that if someone were to add an inline policy out-of-band, on the next apply, the provider will remove that policy.\n\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: data.aws_iam_policy_document.instance_assume_role_policy.json,\n inlinePolicies: [{}],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n assume_role_policy=data[\"aws_iam_policy_document\"][\"instance_assume_role_policy\"][\"json\"],\n inline_policies=[aws.iam.RoleInlinePolicyArgs()])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = data.Aws_iam_policy_document.Instance_assume_role_policy.Json,\n InlinePolicies = new[]\n {\n ,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam\"\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 := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(data.Aws_iam_policy_document.Instance_assume_role_policy.Json),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\tnil,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Role(\"example\", RoleArgs.builder() \n .assumeRolePolicy(data.aws_iam_policy_document().instance_assume_role_policy().json())\n .inlinePolicies()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${data.aws_iam_policy_document.instance_assume_role_policy.json} # (not shown)\n inlinePolicies:\n - {}\n```\n{{% /example %}}\n{{% example %}}\n### Example of Exclusive Managed Policies\n\nThis example creates an IAM role and attaches two managed IAM policies. If someone attaches another managed policy out-of-band, on the next apply, the provider will detach that policy. If someone detaches these policies out-of-band, the provider will attach them again.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst policyOne = new aws.iam.Policy(\"policyOne\", {policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n})});\nconst policyTwo = new aws.iam.Policy(\"policyTwo\", {policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n ],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n})});\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: data.aws_iam_policy_document.instance_assume_role_policy.json,\n managedPolicyArns: [\n policyOne.arn,\n policyTwo.arn,\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\npolicy_one = aws.iam.Policy(\"policyOne\", policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n}))\npolicy_two = aws.iam.Policy(\"policyTwo\", policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n}))\nexample = aws.iam.Role(\"example\",\n assume_role_policy=data[\"aws_iam_policy_document\"][\"instance_assume_role_policy\"][\"json\"],\n managed_policy_arns=[\n policy_one.arn,\n policy_two.arn,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var policyOne = new Aws.Iam.Policy(\"policyOne\", new()\n {\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var policyTwo = new Aws.Iam.Policy(\"policyTwo\", new()\n {\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = data.Aws_iam_policy_document.Instance_assume_role_policy.Json,\n ManagedPolicyArns = new[]\n {\n policyOne.Arn,\n policyTwo.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tpolicyOne, err := iam.NewPolicy(ctx, \"policyOne\", \u0026iam.PolicyArgs{\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"s3:ListAllMyBuckets\",\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t\t\"s3:HeadBucket\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\tpolicyTwo, err := iam.NewPolicy(ctx, \"policyTwo\", \u0026iam.PolicyArgs{\n\t\t\tPolicy: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(data.Aws_iam_policy_document.Instance_assume_role_policy.Json),\n\t\t\tManagedPolicyArns: pulumi.StringArray{\n\t\t\t\tpolicyOne.Arn,\n\t\t\t\tpolicyTwo.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var policyOne = new Policy(\"policyOne\", PolicyArgs.builder() \n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var policyTwo = new Policy(\"policyTwo\", PolicyArgs.builder() \n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"s3:ListAllMyBuckets\", \n \"s3:ListBucket\", \n \"s3:HeadBucket\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder() \n .assumeRolePolicy(data.aws_iam_policy_document().instance_assume_role_policy().json())\n .managedPolicyArns( \n policyOne.arn(),\n policyTwo.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${data.aws_iam_policy_document.instance_assume_role_policy.json}\n # (not shown)\n managedPolicyArns:\n - ${policyOne.arn}\n - ${policyTwo.arn}\n policyOne:\n type: aws:iam:Policy\n properties:\n policy:\n Fn::ToJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n policyTwo:\n type: aws:iam:Policy\n properties:\n policy:\n Fn::ToJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - s3:ListAllMyBuckets\n - s3:ListBucket\n - s3:HeadBucket\n Effect: Allow\n Resource: '*'\n```\n{{% /example %}}\n{{% example %}}\n### Example of Removing Managed Policies\n\nThis example creates an IAM role with an empty `managed_policy_arns` argument. If someone attaches a policy out-of-band, on the next apply, the provider will detach that policy.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: data.aws_iam_policy_document.instance_assume_role_policy.json,\n managedPolicyArns: [],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n assume_role_policy=data[\"aws_iam_policy_document\"][\"instance_assume_role_policy\"][\"json\"],\n managed_policy_arns=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = data.Aws_iam_policy_document.Instance_assume_role_policy.Json,\n ManagedPolicyArns = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam\"\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 := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(data.Aws_iam_policy_document.Instance_assume_role_policy.Json),\n\t\t\tManagedPolicyArns: pulumi.StringArray{},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Role(\"example\", RoleArgs.builder() \n .assumeRolePolicy(data.aws_iam_policy_document().instance_assume_role_policy().json())\n .managedPolicyArns()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${data.aws_iam_policy_document.instance_assume_role_policy.json}\n # (not shown)\n managedPolicyArns: []\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIAM Roles can be imported using the `name`, e.g.,\n\n```sh\n $ pulumi import aws:iam/role:Role developer developer_name\n```\n\n ", + "description": "Provides an IAM role.\n\n\u003e **NOTE:** If policies are attached to the role via the `aws.iam.PolicyAttachment` resource and you are modifying the role `name` or `path`, the `force_detach_policies` argument must be set to `true` and applied before attempting the operation otherwise you will encounter a `DeleteConflict` error. The `aws.iam.RolePolicyAttachment` resource does not have this requirement.\n\n\u003e **NOTE:** If you use this resource's `managed_policy_arns` argument or `inline_policy` configuration blocks, this resource will take over exclusive management of the role's respective policy types (e.g., both policy types if both arguments are used). These arguments are incompatible with other ways of managing a role's policies, such as `aws.iam.PolicyAttachment`, `aws.iam.RolePolicyAttachment`, and `aws.iam.RolePolicy`. If you attempt to manage a role's policies by multiple means, you will get resource cycling and/or errors.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testRole = new aws.iam.Role(\"testRole\", {\n assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Sid: \"\",\n Principal: {\n Service: \"ec2.amazonaws.com\",\n },\n }],\n }),\n tags: {\n \"tag-key\": \"tag-value\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest_role = aws.iam.Role(\"testRole\",\n assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": \"sts:AssumeRole\",\n \"Effect\": \"Allow\",\n \"Sid\": \"\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\",\n },\n }],\n }),\n tags={\n \"tag-key\": \"tag-value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testRole = new Aws.Iam.Role(\"testRole\", new()\n {\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = \"sts:AssumeRole\",\n [\"Effect\"] = \"Allow\",\n [\"Sid\"] = \"\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"ec2.amazonaws.com\",\n },\n },\n },\n }),\n Tags = \n {\n { \"tag-key\", \"tag-value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Sid\": \"\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"ec2.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = iam.NewRole(ctx, \"testRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag-key\": pulumi.String(\"tag-value\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testRole = new Role(\"testRole\", RoleArgs.builder() \n .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", \"sts:AssumeRole\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"ec2.amazonaws.com\")\n ))\n )))\n )))\n .tags(Map.of(\"tag-key\", \"tag-value\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy:\n Fn::ToJSON:\n Version: 2012-10-17\n Statement:\n - Action: sts:AssumeRole\n Effect: Allow\n Sid:\n Principal:\n Service: ec2.amazonaws.com\n tags:\n tag-key: tag-value\n```\n{{% /example %}}\n{{% example %}}\n### Example of Using Data Source for Assume Role Policy\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst instance-assume-role-policy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n }],\n});\nconst instance = new aws.iam.Role(\"instance\", {\n path: \"/system/\",\n assumeRolePolicy: instance_assume_role_policy.then(instance_assume_role_policy =\u003e instance_assume_role_policy.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ninstance_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ec2.amazonaws.com\"],\n )],\n)])\ninstance = aws.iam.Role(\"instance\",\n path=\"/system/\",\n assume_role_policy=instance_assume_role_policy.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instance_assume_role_policy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var instance = new Aws.Iam.Role(\"instance\", new()\n {\n Path = \"/system/\",\n AssumeRolePolicy = instance_assume_role_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult).Apply(instance_assume_role_policy =\u003e instance_assume_role_policy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance_assume_role_policy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\tiam.GetPolicyDocumentStatement{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\tiam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"instance\", \u0026iam.RoleArgs{\n\t\t\tPath: pulumi.String(\"/system/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(instance_assume_role_policy.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var instance-assume-role-policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var instance = new Role(\"instance\", RoleArgs.builder() \n .path(\"/system/\")\n .assumeRolePolicy(instance_assume_role_policy.json())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: aws:iam:Role\n properties:\n path: /system/\n assumeRolePolicy: ${[\"instance-assume-role-policy\"].json}\nvariables:\n instance-assume-role-policy:\n Fn::Invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n```\n{{% /example %}}\n{{% example %}}\n### Example of Exclusive Inline Policies\n\nThis example creates an IAM role with two inline IAM policies. If someone adds another inline policy out-of-band, on the next apply, the provider will remove that policy. If someone deletes these policies out-of-band, the provider will recreate them.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst inlinePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"ec2:DescribeAccountAttributes\"],\n resources: [\"*\"],\n }],\n});\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: data.aws_iam_policy_document.instance_assume_role_policy.json,\n inlinePolicies: [\n {\n name: \"my_inline_policy\",\n policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n }),\n },\n {\n name: \"policy-8675309\",\n policy: inlinePolicy.then(inlinePolicy =\u003e inlinePolicy.json),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ninline_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"ec2:DescribeAccountAttributes\"],\n resources=[\"*\"],\n)])\nexample = aws.iam.Role(\"example\",\n assume_role_policy=data[\"aws_iam_policy_document\"][\"instance_assume_role_policy\"][\"json\"],\n inline_policies=[\n aws.iam.RoleInlinePolicyArgs(\n name=\"my_inline_policy\",\n policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n }),\n ),\n aws.iam.RoleInlinePolicyArgs(\n name=\"policy-8675309\",\n policy=inline_policy.json,\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var inlinePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"ec2:DescribeAccountAttributes\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = data.Aws_iam_policy_document.Instance_assume_role_policy.Json,\n InlinePolicies = new[]\n {\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"my_inline_policy\",\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n },\n new Aws.Iam.Inputs.RoleInlinePolicyArgs\n {\n Name = \"policy-8675309\",\n Policy = inlinePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinlinePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\tiam.GetPolicyDocumentStatement{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:DescribeAccountAttributes\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(data.Aws_iam_policy_document.Instance_assume_role_policy.Json),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"my_inline_policy\"),\n\t\t\t\t\tPolicy: pulumi.String(json0),\n\t\t\t\t},\n\t\t\t\t\u0026iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"policy-8675309\"),\n\t\t\t\t\tPolicy: pulumi.String(inlinePolicy.Json),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var inlinePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"ec2:DescribeAccountAttributes\")\n .resources(\"*\")\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder() \n .assumeRolePolicy(data.aws_iam_policy_document().instance_assume_role_policy().json())\n .inlinePolicies( \n RoleInlinePolicyArgs.builder()\n .name(\"my_inline_policy\")\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build(),\n RoleInlinePolicyArgs.builder()\n .name(\"policy-8675309\")\n .policy(inlinePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${data.aws_iam_policy_document.instance_assume_role_policy.json} # (not shown)\n inlinePolicies:\n - name: my_inline_policy\n policy:\n Fn::ToJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n - name: policy-8675309\n policy: ${inlinePolicy.json}\nvariables:\n inlinePolicy:\n Fn::Invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - ec2:DescribeAccountAttributes\n resources:\n - '*'\n```\n{{% /example %}}\n{{% example %}}\n### Example of Removing Inline Policies\n\nThis example creates an IAM role with what appears to be empty IAM `inline_policy` argument instead of using `inline_policy` as a configuration block. The result is that if someone were to add an inline policy out-of-band, on the next apply, the provider will remove that policy.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: data.aws_iam_policy_document.instance_assume_role_policy.json,\n inlinePolicies: [{}],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n assume_role_policy=data[\"aws_iam_policy_document\"][\"instance_assume_role_policy\"][\"json\"],\n inline_policies=[aws.iam.RoleInlinePolicyArgs()])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = data.Aws_iam_policy_document.Instance_assume_role_policy.Json,\n InlinePolicies = new[]\n {\n ,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam\"\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 := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(data.Aws_iam_policy_document.Instance_assume_role_policy.Json),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\tnil,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Role(\"example\", RoleArgs.builder() \n .assumeRolePolicy(data.aws_iam_policy_document().instance_assume_role_policy().json())\n .inlinePolicies()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${data.aws_iam_policy_document.instance_assume_role_policy.json} # (not shown)\n inlinePolicies:\n - {}\n```\n{{% /example %}}\n{{% example %}}\n### Example of Exclusive Managed Policies\n\nThis example creates an IAM role and attaches two managed IAM policies. If someone attaches another managed policy out-of-band, on the next apply, the provider will detach that policy. If someone detaches these policies out-of-band, the provider will attach them again.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst policyOne = new aws.iam.Policy(\"policyOne\", {policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\"ec2:Describe*\"],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n})});\nconst policyTwo = new aws.iam.Policy(\"policyTwo\", {policy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Action: [\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n ],\n Effect: \"Allow\",\n Resource: \"*\",\n }],\n})});\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: data.aws_iam_policy_document.instance_assume_role_policy.json,\n managedPolicyArns: [\n policyOne.arn,\n policyTwo.arn,\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\npolicy_one = aws.iam.Policy(\"policyOne\", policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\"ec2:Describe*\"],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n}))\npolicy_two = aws.iam.Policy(\"policyTwo\", policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Action\": [\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n ],\n \"Effect\": \"Allow\",\n \"Resource\": \"*\",\n }],\n}))\nexample = aws.iam.Role(\"example\",\n assume_role_policy=data[\"aws_iam_policy_document\"][\"instance_assume_role_policy\"][\"json\"],\n managed_policy_arns=[\n policy_one.arn,\n policy_two.arn,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var policyOne = new Aws.Iam.Policy(\"policyOne\", new()\n {\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"ec2:Describe*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var policyTwo = new Aws.Iam.Policy(\"policyTwo\", new()\n {\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"s3:ListAllMyBuckets\",\n \"s3:ListBucket\",\n \"s3:HeadBucket\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = \"*\",\n },\n },\n }),\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = data.Aws_iam_policy_document.Instance_assume_role_policy.Json,\n ManagedPolicyArns = new[]\n {\n policyOne.Arn,\n policyTwo.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tpolicyOne, err := iam.NewPolicy(ctx, \"policyOne\", \u0026iam.PolicyArgs{\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"s3:ListAllMyBuckets\",\n\t\t\t\t\t\t\"s3:ListBucket\",\n\t\t\t\t\t\t\"s3:HeadBucket\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\tpolicyTwo, err := iam.NewPolicy(ctx, \"policyTwo\", \u0026iam.PolicyArgs{\n\t\t\tPolicy: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(data.Aws_iam_policy_document.Instance_assume_role_policy.Json),\n\t\t\tManagedPolicyArns: pulumi.StringArray{\n\t\t\t\tpolicyOne.Arn,\n\t\t\t\tpolicyTwo.Arn,\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var policyOne = new Policy(\"policyOne\", PolicyArgs.builder() \n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"ec2:Describe*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var policyTwo = new Policy(\"policyTwo\", PolicyArgs.builder() \n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"s3:ListAllMyBuckets\", \n \"s3:ListBucket\", \n \"s3:HeadBucket\"\n )),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder() \n .assumeRolePolicy(data.aws_iam_policy_document().instance_assume_role_policy().json())\n .managedPolicyArns( \n policyOne.arn(),\n policyTwo.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${data.aws_iam_policy_document.instance_assume_role_policy.json}\n # (not shown)\n managedPolicyArns:\n - ${policyOne.arn}\n - ${policyTwo.arn}\n policyOne:\n type: aws:iam:Policy\n properties:\n policy:\n Fn::ToJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - ec2:Describe*\n Effect: Allow\n Resource: '*'\n policyTwo:\n type: aws:iam:Policy\n properties:\n policy:\n Fn::ToJSON:\n Version: 2012-10-17\n Statement:\n - Action:\n - s3:ListAllMyBuckets\n - s3:ListBucket\n - s3:HeadBucket\n Effect: Allow\n Resource: '*'\n```\n{{% /example %}}\n{{% example %}}\n### Example of Removing Managed Policies\n\nThis example creates an IAM role with an empty `managed_policy_arns` argument. If someone attaches a policy out-of-band, on the next apply, the provider will detach that policy.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: data.aws_iam_policy_document.instance_assume_role_policy.json,\n managedPolicyArns: [],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.Role(\"example\",\n assume_role_policy=data[\"aws_iam_policy_document\"][\"instance_assume_role_policy\"][\"json\"],\n managed_policy_arns=[])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = data.Aws_iam_policy_document.Instance_assume_role_policy.Json,\n ManagedPolicyArns = new[] {},\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam\"\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 := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(data.Aws_iam_policy_document.Instance_assume_role_policy.Json),\n\t\t\tManagedPolicyArns: pulumi.StringArray{},\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Role(\"example\", RoleArgs.builder() \n .assumeRolePolicy(data.aws_iam_policy_document().instance_assume_role_policy().json())\n .managedPolicyArns()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${data.aws_iam_policy_document.instance_assume_role_policy.json}\n # (not shown)\n managedPolicyArns: []\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIAM Roles can be imported using the `name`, e.g.,\n\n```sh\n $ pulumi import aws:iam/role:Role developer developer_name\n```\n\n ", "properties": { "arn": { "type": "string", @@ -468242,7 +471784,7 @@ }, "identityStoreId": { "type": "string", - "description": "The globally unique identifier for the identity store..\n" + "description": "The globally unique identifier for the identity store.\n" } }, "required": [ @@ -468263,7 +471805,7 @@ }, "identityStoreId": { "type": "string", - "description": "The globally unique identifier for the identity store..\n", + "description": "The globally unique identifier for the identity store.\n", "willReplaceOnChanges": true } }, @@ -468296,7 +471838,7 @@ }, "identityStoreId": { "type": "string", - "description": "The globally unique identifier for the identity store..\n", + "description": "The globally unique identifier for the identity store.\n", "willReplaceOnChanges": true } }, @@ -470454,6 +473996,48 @@ "type": "object" } }, + "aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount": { + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.inspector2.DelegatedAdminAccount(\"example\", {accountId: current.then(current =\u003e current.accountId)});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.inspector2.DelegatedAdminAccount(\"example\", account_id=current.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Inspector2.DelegatedAdminAccount(\"example\", new()\n {\n AccountId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/inspector2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = inspector2.NewDelegatedAdminAccount(ctx, \"example\", \u0026inspector2.DelegatedAdminAccountArgs{\n\t\t\tAccountId: pulumi.String(current.AccountId),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inspector2.DelegatedAdminAccount;\nimport com.pulumi.aws.inspector2.DelegatedAdminAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new DelegatedAdminAccount(\"example\", DelegatedAdminAccountArgs.builder() \n .accountId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector2:DelegatedAdminAccount\n properties:\n accountId: ${current.accountId}\nvariables:\n current:\n Fn::Invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nInspector V2 Delegated Admin Account can be imported using the `account_id`, e.g.,\n\n```sh\n $ pulumi import aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount example 012345678901\n```\n\n ", + "properties": { + "accountId": { + "type": "string", + "description": "Account to enable as delegated admin account.\n" + }, + "relationshipStatus": { + "type": "string", + "description": "Status of this delegated admin account.\n" + } + }, + "required": [ + "accountId", + "relationshipStatus" + ], + "inputProperties": { + "accountId": { + "type": "string", + "description": "Account to enable as delegated admin account.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "accountId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DelegatedAdminAccount resources.\n", + "properties": { + "accountId": { + "type": "string", + "description": "Account to enable as delegated admin account.\n", + "willReplaceOnChanges": true + }, + "relationshipStatus": { + "type": "string", + "description": "Status of this delegated admin account.\n" + } + }, + "type": "object" + } + }, "aws:inspector2/organizationConfiguration:OrganizationConfiguration": { "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.inspector2.OrganizationConfiguration(\"example\", {\n autoEnable: {\n ec2: true,\n ecr: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.inspector2.OrganizationConfiguration(\"example\", auto_enable=aws.inspector2.OrganizationConfigurationAutoEnableArgs(\n ec2=True,\n ecr=False,\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Inspector2.OrganizationConfiguration(\"example\", new()\n {\n AutoEnable = new Aws.Inspector2.Inputs.OrganizationConfigurationAutoEnableArgs\n {\n Ec2 = true,\n Ecr = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/inspector2\"\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 := inspector2.NewOrganizationConfiguration(ctx, \"example\", \u0026inspector2.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: \u0026inspector2.OrganizationConfigurationAutoEnableArgs{\n\t\t\t\tEc2: pulumi.Bool(true),\n\t\t\t\tEcr: pulumi.Bool(false),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.inspector2.OrganizationConfiguration;\nimport com.pulumi.aws.inspector2.OrganizationConfigurationArgs;\nimport com.pulumi.aws.inspector2.inputs.OrganizationConfigurationAutoEnableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new OrganizationConfiguration(\"example\", OrganizationConfigurationArgs.builder() \n .autoEnable(OrganizationConfigurationAutoEnableArgs.builder()\n .ec2(true)\n .ecr(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:inspector2:OrganizationConfiguration\n properties:\n autoEnable:\n ec2: true\n ecr: false\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { @@ -480554,7 +484138,7 @@ } }, "aws:lightsail/database:Database": { - "description": "Provides a Lightsail Database. Amazon Lightsail is a service to provide easy virtual private servers\nwith custom software already setup. See [What is Amazon Lightsail?](https://lightsail.aws.amazon.com/ls/docs/getting-started/article/what-is-amazon-lightsail)\nfor more information.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones\"](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) for more details\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic mysql blueprint\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n availabilityZone: \"us-east-1a\",\n blueprintId: \"mysql_8_0\",\n bundleId: \"micro_1_0\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n name: \"test\",\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder() \n .availabilityZone(\"us-east-1a\")\n .blueprintId(\"mysql_8_0\")\n .bundleId(\"micro_1_0\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .name(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n availabilityZone: us-east-1a\n blueprintId: mysql_8_0\n bundleId: micro_1_0\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n name: test\n```\n{{% /example %}}\n{{% example %}}\n### Basic postrgres blueprint\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n availabilityZone: \"us-east-1a\",\n blueprintId: \"postgres_12\",\n bundleId: \"micro_1_0\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n name: \"test\",\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder() \n .availabilityZone(\"us-east-1a\")\n .blueprintId(\"postgres_12\")\n .bundleId(\"micro_1_0\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .name(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n availabilityZone: us-east-1a\n blueprintId: postgres_12\n bundleId: micro_1_0\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n name: test\n```\n{{% /example %}}\n{{% example %}}\n### Custom backup and maintenance windows\n\nBelow is an example that sets a custom backup and maintenance window. Times are specified in UTC. This example will allow daily backups to take place between 16:00 and 16:30 each day. This example also requires any maintiance tasks (anything that would cause an outage, including changing some attributes) to take place on Tuesdays between 17:00 and 17:30. An action taken against this database that would cause an outage will wait until this time window to make the requested changes.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n availabilityZone: \"us-east-1a\",\n blueprintId: \"postgres_12\",\n bundleId: \"micro_1_0\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n name: \"test\",\n preferredBackupWindow: \"16:00-16:30\",\n preferredMaintenanceWindow: \"Tue:17:00-Tue:17:30\",\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder() \n .availabilityZone(\"us-east-1a\")\n .blueprintId(\"postgres_12\")\n .bundleId(\"micro_1_0\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .name(\"test\")\n .preferredBackupWindow(\"16:00-16:30\")\n .preferredMaintenanceWindow(\"Tue:17:00-Tue:17:30\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n availabilityZone: us-east-1a\n blueprintId: postgres_12\n bundleId: micro_1_0\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n name: test\n preferredBackupWindow: 16:00-16:30\n preferredMaintenanceWindow: Tue:17:00-Tue:17:30\n```\n{{% /example %}}\n{{% example %}}\n### Final Snapshots\n\nTo enable creating a final snapshot of your database on deletion, use the `final_snapshot_name` argument to provide a name to be used for the snapshot.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n availabilityZone: \"us-east-1a\",\n blueprintId: \"postgres_12\",\n bundleId: \"micro_1_0\",\n finalSnapshotName: \"MyFinalSnapshot\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n name: \"test\",\n preferredBackupWindow: \"16:00-16:30\",\n preferredMaintenanceWindow: \"Tue:17:00-Tue:17:30\",\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder() \n .availabilityZone(\"us-east-1a\")\n .blueprintId(\"postgres_12\")\n .bundleId(\"micro_1_0\")\n .finalSnapshotName(\"MyFinalSnapshot\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .name(\"test\")\n .preferredBackupWindow(\"16:00-16:30\")\n .preferredMaintenanceWindow(\"Tue:17:00-Tue:17:30\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n availabilityZone: us-east-1a\n blueprintId: postgres_12\n bundleId: micro_1_0\n finalSnapshotName: MyFinalSnapshot\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n name: test\n preferredBackupWindow: 16:00-16:30\n preferredMaintenanceWindow: Tue:17:00-Tue:17:30\n```\n{{% /example %}}\n{{% example %}}\n### Apply Immediately\n\nTo enable applying changes immediately instead of waiting for a maintiance window, use the `apply_immediately` argument.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n applyImmediately: true,\n availabilityZone: \"us-east-1a\",\n blueprintId: \"postgres_12\",\n bundleId: \"micro_1_0\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n name: \"test\",\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder() \n .applyImmediately(true)\n .availabilityZone(\"us-east-1a\")\n .blueprintId(\"postgres_12\")\n .bundleId(\"micro_1_0\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .name(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n applyImmediately: true\n availabilityZone: us-east-1a\n blueprintId: postgres_12\n bundleId: micro_1_0\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n name: test\n```\n\n{{% /example %}}\n{{% /examples %}}\n## Blueprint Ids\n\nA list of all available Lightsail Blueprints for Relational Databases the [aws lightsail get-relational-database-blueprints](https://docs.aws.amazon.com/cli/latest/reference/lightsail/get-relational-database-blueprints.html) aws cli command.\n\n### Examples\n\n- `mysql_8_0`\n- `postgres_12`\n\n### Prefix\n\nA Blueprint ID starts with a prefix of the engine type.\n\n### Suffix\n\nA Blueprint ID has a sufix of the engine version.\n\n\n## Bundles\n\nA list of all available Lightsail Bundles for Relational Databases the [aws lightsail get-relational-database-bundles](https://docs.aws.amazon.com/cli/latest/reference/lightsail/get-relational-database-bundles.html) aws cli command.\n\n### Examples\n\n- `small_1_0`\n- `small_ha_1_0`\n- `large_1_0`\n- `large_ha_1_0`\n\n### Prefix\n\nA Bundle ID starts with one of the below size prefixes:\n\n- `micro_`\n- `small_`\n- `medium_`\n- `large_`\n\n### Infixes (Optional for HA Database)\n\nA Bundle Id can have the following infix added in order to use the HA option of the selected bundle.\n\n- `ha_`\n\n### Suffix\n\nA Bundle ID ends with one of the following suffix: `1_0`\n\n\n## Import\n\nLightsail Databases can be imported using their name, e.g.\n\n```sh\n $ pulumi import aws:lightsail/database:Database foo 'bar'\n```\n\n ", + "description": "Provides a Lightsail Database. Amazon Lightsail is a service to provide easy virtual private servers\nwith custom software already setup. See [What is Amazon Lightsail?](https://lightsail.aws.amazon.com/ls/docs/getting-started/article/what-is-amazon-lightsail)\nfor more information.\n\n\u003e **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see [\"Regions and Availability Zones\"](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) for more details\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic mysql blueprint\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n availabilityZone: \"us-east-1a\",\n blueprintId: \"mysql_8_0\",\n bundleId: \"micro_1_0\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n name: \"test\",\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder() \n .availabilityZone(\"us-east-1a\")\n .blueprintId(\"mysql_8_0\")\n .bundleId(\"micro_1_0\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .name(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n availabilityZone: us-east-1a\n blueprintId: mysql_8_0\n bundleId: micro_1_0\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n name: test\n```\n{{% /example %}}\n{{% example %}}\n### Basic postrgres blueprint\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n availabilityZone: \"us-east-1a\",\n blueprintId: \"postgres_12\",\n bundleId: \"micro_1_0\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n name: \"test\",\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder() \n .availabilityZone(\"us-east-1a\")\n .blueprintId(\"postgres_12\")\n .bundleId(\"micro_1_0\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .name(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n availabilityZone: us-east-1a\n blueprintId: postgres_12\n bundleId: micro_1_0\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n name: test\n```\n{{% /example %}}\n{{% example %}}\n### Custom backup and maintenance windows\n\nBelow is an example that sets a custom backup and maintenance window. Times are specified in UTC. This example will allow daily backups to take place between 16:00 and 16:30 each day. This example also requires any maintiance tasks (anything that would cause an outage, including changing some attributes) to take place on Tuesdays between 17:00 and 17:30. An action taken against this database that would cause an outage will wait until this time window to make the requested changes.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n availabilityZone: \"us-east-1a\",\n blueprintId: \"postgres_12\",\n bundleId: \"micro_1_0\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n name: \"test\",\n preferredBackupWindow: \"16:00-16:30\",\n preferredMaintenanceWindow: \"Tue:17:00-Tue:17:30\",\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder() \n .availabilityZone(\"us-east-1a\")\n .blueprintId(\"postgres_12\")\n .bundleId(\"micro_1_0\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .name(\"test\")\n .preferredBackupWindow(\"16:00-16:30\")\n .preferredMaintenanceWindow(\"Tue:17:00-Tue:17:30\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n availabilityZone: us-east-1a\n blueprintId: postgres_12\n bundleId: micro_1_0\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n name: test\n preferredBackupWindow: 16:00-16:30\n preferredMaintenanceWindow: Tue:17:00-Tue:17:30\n```\n{{% /example %}}\n{{% example %}}\n### Final Snapshots\n\nTo enable creating a final snapshot of your database on deletion, use the `final_snapshot_name` argument to provide a name to be used for the snapshot.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n availabilityZone: \"us-east-1a\",\n blueprintId: \"postgres_12\",\n bundleId: \"micro_1_0\",\n finalSnapshotName: \"MyFinalSnapshot\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n name: \"test\",\n preferredBackupWindow: \"16:00-16:30\",\n preferredMaintenanceWindow: \"Tue:17:00-Tue:17:30\",\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder() \n .availabilityZone(\"us-east-1a\")\n .blueprintId(\"postgres_12\")\n .bundleId(\"micro_1_0\")\n .finalSnapshotName(\"MyFinalSnapshot\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .name(\"test\")\n .preferredBackupWindow(\"16:00-16:30\")\n .preferredMaintenanceWindow(\"Tue:17:00-Tue:17:30\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n availabilityZone: us-east-1a\n blueprintId: postgres_12\n bundleId: micro_1_0\n finalSnapshotName: MyFinalSnapshot\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n name: test\n preferredBackupWindow: 16:00-16:30\n preferredMaintenanceWindow: Tue:17:00-Tue:17:30\n```\n{{% /example %}}\n{{% example %}}\n### Apply Immediately\n\nTo enable applying changes immediately instead of waiting for a maintiance window, use the `apply_immediately` argument.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.lightsail.Database(\"test\", {\n applyImmediately: true,\n availabilityZone: \"us-east-1a\",\n blueprintId: \"postgres_12\",\n bundleId: \"micro_1_0\",\n masterDatabaseName: \"testdatabasename\",\n masterPassword: \"testdatabasepassword\",\n masterUsername: \"test\",\n name: \"test\",\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lightsail.Database;\nimport com.pulumi.aws.lightsail.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Database(\"test\", DatabaseArgs.builder() \n .applyImmediately(true)\n .availabilityZone(\"us-east-1a\")\n .blueprintId(\"postgres_12\")\n .bundleId(\"micro_1_0\")\n .masterDatabaseName(\"testdatabasename\")\n .masterPassword(\"testdatabasepassword\")\n .masterUsername(\"test\")\n .name(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lightsail:Database\n properties:\n applyImmediately: true\n availabilityZone: us-east-1a\n blueprintId: postgres_12\n bundleId: micro_1_0\n masterDatabaseName: testdatabasename\n masterPassword: testdatabasepassword\n masterUsername: test\n name: test\n```\n{{% /example %}}\n{{% /examples %}}\n## Blueprint Ids\n\nA list of all available Lightsail Blueprints for Relational Databases the [aws lightsail get-relational-database-blueprints](https://docs.aws.amazon.com/cli/latest/reference/lightsail/get-relational-database-blueprints.html) aws cli command.\n\n### Examples\n\n- `mysql_8_0`\n- `postgres_12`\n\n### Prefix\n\nA Blueprint ID starts with a prefix of the engine type.\n\n### Suffix\n\nA Blueprint ID has a sufix of the engine version.\n\n## Bundles\n\nA list of all available Lightsail Bundles for Relational Databases the [aws lightsail get-relational-database-bundles](https://docs.aws.amazon.com/cli/latest/reference/lightsail/get-relational-database-bundles.html) aws cli command.\n\n### Examples\n\n- `small_1_0`\n- `small_ha_1_0`\n- `large_1_0`\n- `large_ha_1_0`\n\n### Prefix\n\nA Bundle ID starts with one of the below size prefixes:\n\n- `micro_`\n- `small_`\n- `medium_`\n- `large_`\n\n### Infixes (Optional for HA Database)\n\nA Bundle Id can have the following infix added in order to use the HA option of the selected bundle.\n\n- `ha_`\n\n### Suffix\n\nA Bundle ID ends with one of the following suffix: `1_0`\n\n\n## Import\n\nLightsail Databases can be imported using their name, e.g.\n\n```sh\n $ pulumi import aws:lightsail/database:Database foo 'bar'\n```\n\n ", "properties": { "applyImmediately": { "type": "boolean", @@ -485087,7 +488671,7 @@ } }, "aws:mq/broker:Broker": { - "description": "Provides an Amazon MQ broker resource. This resources also manages users for the broker.\n\n\u003e For more information on Amazon MQ, see [Amazon MQ documentation](https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/welcome.html).\n\n\u003e **NOTE:** Amazon MQ currently places limits on **RabbitMQ** brokers. For example, a RabbitMQ broker cannot have: instances with an associated IP address of an ENI attached to the broker, an associated LDAP server to authenticate and authorize broker connections, storage type `EFS`, audit logging, or `configuration` blocks. Although this resource allows you to create RabbitMQ users, RabbitMQ users cannot have console access or groups. Also, Amazon MQ does not return information about RabbitMQ users so drift detection is not possible.\n\n\u003e **NOTE:** Changes to an MQ Broker can occur when you change a parameter, such as `configuration` or `user`, and are reflected in the next maintenance window. Because of this, the provider may report a difference in its planning phase because a modification has not yet taken place. You can use the `apply_immediately` flag to instruct the service to apply the change immediately (see documentation below). Using `apply_immediately` can result in a brief downtime as the broker reboots.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mq.Broker(\"example\", {\n configuration: {\n id: aws_mq_configuration.test.id,\n revision: aws_mq_configuration.test.latest_revision,\n },\n engineType: \"ActiveMQ\",\n engineVersion: \"5.15.9\",\n hostInstanceType: \"mq.t2.micro\",\n securityGroups: [aws_security_group.test.id],\n users: [{\n username: \"ExampleUser\",\n password: \"MindTheGap\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mq.Broker(\"example\",\n configuration=aws.mq.BrokerConfigurationArgs(\n id=aws_mq_configuration[\"test\"][\"id\"],\n revision=aws_mq_configuration[\"test\"][\"latest_revision\"],\n ),\n engine_type=\"ActiveMQ\",\n engine_version=\"5.15.9\",\n host_instance_type=\"mq.t2.micro\",\n security_groups=[aws_security_group[\"test\"][\"id\"]],\n users=[aws.mq.BrokerUserArgs(\n username=\"ExampleUser\",\n password=\"MindTheGap\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mq.Broker(\"example\", new()\n {\n Configuration = new Aws.Mq.Inputs.BrokerConfigurationArgs\n {\n Id = aws_mq_configuration.Test.Id,\n Revision = aws_mq_configuration.Test.Latest_revision,\n },\n EngineType = \"ActiveMQ\",\n EngineVersion = \"5.15.9\",\n HostInstanceType = \"mq.t2.micro\",\n SecurityGroups = new[]\n {\n aws_security_group.Test.Id,\n },\n Users = new[]\n {\n new Aws.Mq.Inputs.BrokerUserArgs\n {\n Username = \"ExampleUser\",\n Password = \"MindTheGap\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/mq\"\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 := mq.NewBroker(ctx, \"example\", \u0026mq.BrokerArgs{\n\t\t\tConfiguration: \u0026mq.BrokerConfigurationArgs{\n\t\t\t\tId: pulumi.Any(aws_mq_configuration.Test.Id),\n\t\t\t\tRevision: pulumi.Any(aws_mq_configuration.Test.Latest_revision),\n\t\t\t},\n\t\t\tEngineType: pulumi.String(\"ActiveMQ\"),\n\t\t\tEngineVersion: pulumi.String(\"5.15.9\"),\n\t\t\tHostInstanceType: pulumi.String(\"mq.t2.micro\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.Any(aws_security_group.Test.Id),\n\t\t\t},\n\t\t\tUsers: mq.BrokerUserArray{\n\t\t\t\t\u0026mq.BrokerUserArgs{\n\t\t\t\t\tUsername: pulumi.String(\"ExampleUser\"),\n\t\t\t\t\tPassword: pulumi.String(\"MindTheGap\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mq.Broker;\nimport com.pulumi.aws.mq.BrokerArgs;\nimport com.pulumi.aws.mq.inputs.BrokerConfigurationArgs;\nimport com.pulumi.aws.mq.inputs.BrokerUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Broker(\"example\", BrokerArgs.builder() \n .configuration(BrokerConfigurationArgs.builder()\n .id(aws_mq_configuration.test().id())\n .revision(aws_mq_configuration.test().latest_revision())\n .build())\n .engineType(\"ActiveMQ\")\n .engineVersion(\"5.15.9\")\n .hostInstanceType(\"mq.t2.micro\")\n .securityGroups(aws_security_group.test().id())\n .users(BrokerUserArgs.builder()\n .username(\"ExampleUser\")\n .password(\"MindTheGap\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mq:Broker\n properties:\n configuration:\n id: ${aws_mq_configuration.test.id}\n revision: ${aws_mq_configuration.test.latest_revision}\n engineType: ActiveMQ\n engineVersion: 5.15.9\n hostInstanceType: mq.t2.micro\n securityGroups:\n - ${aws_security_group.test.id}\n users:\n - username: ExampleUser\n password: MindTheGap\n```\n{{% /example %}}\n{{% example %}}\n### High-throughput Optimized Example\n\nThis example shows the use of EBS storage for high-throughput optimized performance.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mq.Broker(\"example\", {\n configuration: {\n id: aws_mq_configuration.test.id,\n revision: aws_mq_configuration.test.latest_revision,\n },\n engineType: \"ActiveMQ\",\n engineVersion: \"5.15.9\",\n storageType: \"ebs\",\n hostInstanceType: \"mq.m5.large\",\n securityGroups: [aws_security_group.test.id],\n users: [{\n username: \"ExampleUser\",\n password: \"MindTheGap\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mq.Broker(\"example\",\n configuration=aws.mq.BrokerConfigurationArgs(\n id=aws_mq_configuration[\"test\"][\"id\"],\n revision=aws_mq_configuration[\"test\"][\"latest_revision\"],\n ),\n engine_type=\"ActiveMQ\",\n engine_version=\"5.15.9\",\n storage_type=\"ebs\",\n host_instance_type=\"mq.m5.large\",\n security_groups=[aws_security_group[\"test\"][\"id\"]],\n users=[aws.mq.BrokerUserArgs(\n username=\"ExampleUser\",\n password=\"MindTheGap\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mq.Broker(\"example\", new()\n {\n Configuration = new Aws.Mq.Inputs.BrokerConfigurationArgs\n {\n Id = aws_mq_configuration.Test.Id,\n Revision = aws_mq_configuration.Test.Latest_revision,\n },\n EngineType = \"ActiveMQ\",\n EngineVersion = \"5.15.9\",\n StorageType = \"ebs\",\n HostInstanceType = \"mq.m5.large\",\n SecurityGroups = new[]\n {\n aws_security_group.Test.Id,\n },\n Users = new[]\n {\n new Aws.Mq.Inputs.BrokerUserArgs\n {\n Username = \"ExampleUser\",\n Password = \"MindTheGap\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/mq\"\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 := mq.NewBroker(ctx, \"example\", \u0026mq.BrokerArgs{\n\t\t\tConfiguration: \u0026mq.BrokerConfigurationArgs{\n\t\t\t\tId: pulumi.Any(aws_mq_configuration.Test.Id),\n\t\t\t\tRevision: pulumi.Any(aws_mq_configuration.Test.Latest_revision),\n\t\t\t},\n\t\t\tEngineType: pulumi.String(\"ActiveMQ\"),\n\t\t\tEngineVersion: pulumi.String(\"5.15.9\"),\n\t\t\tStorageType: pulumi.String(\"ebs\"),\n\t\t\tHostInstanceType: pulumi.String(\"mq.m5.large\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.Any(aws_security_group.Test.Id),\n\t\t\t},\n\t\t\tUsers: mq.BrokerUserArray{\n\t\t\t\t\u0026mq.BrokerUserArgs{\n\t\t\t\t\tUsername: pulumi.String(\"ExampleUser\"),\n\t\t\t\t\tPassword: pulumi.String(\"MindTheGap\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mq.Broker;\nimport com.pulumi.aws.mq.BrokerArgs;\nimport com.pulumi.aws.mq.inputs.BrokerConfigurationArgs;\nimport com.pulumi.aws.mq.inputs.BrokerUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Broker(\"example\", BrokerArgs.builder() \n .configuration(BrokerConfigurationArgs.builder()\n .id(aws_mq_configuration.test().id())\n .revision(aws_mq_configuration.test().latest_revision())\n .build())\n .engineType(\"ActiveMQ\")\n .engineVersion(\"5.15.9\")\n .storageType(\"ebs\")\n .hostInstanceType(\"mq.m5.large\")\n .securityGroups(aws_security_group.test().id())\n .users(BrokerUserArgs.builder()\n .username(\"ExampleUser\")\n .password(\"MindTheGap\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mq:Broker\n properties:\n configuration:\n id: ${aws_mq_configuration.test.id}\n revision: ${aws_mq_configuration.test.latest_revision}\n engineType: ActiveMQ\n engineVersion: 5.15.9\n storageType: ebs\n hostInstanceType: mq.m5.large\n securityGroups:\n - ${aws_security_group.test.id}\n users:\n - username: ExampleUser\n password: MindTheGap\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nMQ Brokers can be imported using their broker id, e.g.,\n\n```sh\n $ pulumi import aws:mq/broker:Broker example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n\n ", + "description": "Provides an Amazon MQ broker resource. This resources also manages users for the broker.\n\n\u003e For more information on Amazon MQ, see [Amazon MQ documentation](https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/welcome.html).\n\n\u003e **NOTE:** Amazon MQ currently places limits on **RabbitMQ** brokers. For example, a RabbitMQ broker cannot have: instances with an associated IP address of an ENI attached to the broker, an associated LDAP server to authenticate and authorize broker connections, storage type `EFS`, audit logging, or `configuration` blocks. Although this resource allows you to create RabbitMQ users, RabbitMQ users cannot have console access or groups. Also, Amazon MQ does not return information about RabbitMQ users so drift detection is not possible.\n\n\u003e **NOTE:** Changes to an MQ Broker can occur when you change a parameter, such as `configuration` or `user`, and are reflected in the next maintenance window. Because of this, the provider may report a difference in its planning phase because a modification has not yet taken place. You can use the `apply_immediately` flag to instruct the service to apply the change immediately (see documentation below). Using `apply_immediately` can result in a brief downtime as the broker reboots.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mq.Broker(\"example\", {\n configuration: {\n id: aws_mq_configuration.test.id,\n revision: aws_mq_configuration.test.latest_revision,\n },\n engineType: \"ActiveMQ\",\n engineVersion: \"5.15.9\",\n hostInstanceType: \"mq.t2.micro\",\n securityGroups: [aws_security_group.test.id],\n users: [{\n username: \"ExampleUser\",\n password: \"MindTheGap\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mq.Broker(\"example\",\n configuration=aws.mq.BrokerConfigurationArgs(\n id=aws_mq_configuration[\"test\"][\"id\"],\n revision=aws_mq_configuration[\"test\"][\"latest_revision\"],\n ),\n engine_type=\"ActiveMQ\",\n engine_version=\"5.15.9\",\n host_instance_type=\"mq.t2.micro\",\n security_groups=[aws_security_group[\"test\"][\"id\"]],\n users=[aws.mq.BrokerUserArgs(\n username=\"ExampleUser\",\n password=\"MindTheGap\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mq.Broker(\"example\", new()\n {\n Configuration = new Aws.Mq.Inputs.BrokerConfigurationArgs\n {\n Id = aws_mq_configuration.Test.Id,\n Revision = aws_mq_configuration.Test.Latest_revision,\n },\n EngineType = \"ActiveMQ\",\n EngineVersion = \"5.15.9\",\n HostInstanceType = \"mq.t2.micro\",\n SecurityGroups = new[]\n {\n aws_security_group.Test.Id,\n },\n Users = new[]\n {\n new Aws.Mq.Inputs.BrokerUserArgs\n {\n Username = \"ExampleUser\",\n Password = \"MindTheGap\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/mq\"\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 := mq.NewBroker(ctx, \"example\", \u0026mq.BrokerArgs{\n\t\t\tConfiguration: \u0026mq.BrokerConfigurationArgs{\n\t\t\t\tId: pulumi.Any(aws_mq_configuration.Test.Id),\n\t\t\t\tRevision: pulumi.Any(aws_mq_configuration.Test.Latest_revision),\n\t\t\t},\n\t\t\tEngineType: pulumi.String(\"ActiveMQ\"),\n\t\t\tEngineVersion: pulumi.String(\"5.15.9\"),\n\t\t\tHostInstanceType: pulumi.String(\"mq.t2.micro\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.Any(aws_security_group.Test.Id),\n\t\t\t},\n\t\t\tUsers: mq.BrokerUserArray{\n\t\t\t\t\u0026mq.BrokerUserArgs{\n\t\t\t\t\tUsername: pulumi.String(\"ExampleUser\"),\n\t\t\t\t\tPassword: pulumi.String(\"MindTheGap\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mq.Broker;\nimport com.pulumi.aws.mq.BrokerArgs;\nimport com.pulumi.aws.mq.inputs.BrokerConfigurationArgs;\nimport com.pulumi.aws.mq.inputs.BrokerUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Broker(\"example\", BrokerArgs.builder() \n .configuration(BrokerConfigurationArgs.builder()\n .id(aws_mq_configuration.test().id())\n .revision(aws_mq_configuration.test().latest_revision())\n .build())\n .engineType(\"ActiveMQ\")\n .engineVersion(\"5.15.9\")\n .hostInstanceType(\"mq.t2.micro\")\n .securityGroups(aws_security_group.test().id())\n .users(BrokerUserArgs.builder()\n .username(\"ExampleUser\")\n .password(\"MindTheGap\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mq:Broker\n properties:\n configuration:\n id: ${aws_mq_configuration.test.id}\n revision: ${aws_mq_configuration.test.latest_revision}\n engineType: ActiveMQ\n engineVersion: 5.15.9\n hostInstanceType: mq.t2.micro\n securityGroups:\n - ${aws_security_group.test.id}\n users:\n - username: ExampleUser\n password: MindTheGap\n```\n{{% /example %}}\n{{% example %}}\n### High-throughput Optimized Example\n\nThis example shows the use of EBS storage for high-throughput optimized performance.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.mq.Broker(\"example\", {\n configuration: {\n id: aws_mq_configuration.test.id,\n revision: aws_mq_configuration.test.latest_revision,\n },\n engineType: \"ActiveMQ\",\n engineVersion: \"5.15.9\",\n storageType: \"ebs\",\n hostInstanceType: \"mq.m5.large\",\n securityGroups: [aws_security_group.test.id],\n users: [{\n username: \"ExampleUser\",\n password: \"MindTheGap\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mq.Broker(\"example\",\n configuration=aws.mq.BrokerConfigurationArgs(\n id=aws_mq_configuration[\"test\"][\"id\"],\n revision=aws_mq_configuration[\"test\"][\"latest_revision\"],\n ),\n engine_type=\"ActiveMQ\",\n engine_version=\"5.15.9\",\n storage_type=\"ebs\",\n host_instance_type=\"mq.m5.large\",\n security_groups=[aws_security_group[\"test\"][\"id\"]],\n users=[aws.mq.BrokerUserArgs(\n username=\"ExampleUser\",\n password=\"MindTheGap\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Mq.Broker(\"example\", new()\n {\n Configuration = new Aws.Mq.Inputs.BrokerConfigurationArgs\n {\n Id = aws_mq_configuration.Test.Id,\n Revision = aws_mq_configuration.Test.Latest_revision,\n },\n EngineType = \"ActiveMQ\",\n EngineVersion = \"5.15.9\",\n StorageType = \"ebs\",\n HostInstanceType = \"mq.m5.large\",\n SecurityGroups = new[]\n {\n aws_security_group.Test.Id,\n },\n Users = new[]\n {\n new Aws.Mq.Inputs.BrokerUserArgs\n {\n Username = \"ExampleUser\",\n Password = \"MindTheGap\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/mq\"\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 := mq.NewBroker(ctx, \"example\", \u0026mq.BrokerArgs{\n\t\t\tConfiguration: \u0026mq.BrokerConfigurationArgs{\n\t\t\t\tId: pulumi.Any(aws_mq_configuration.Test.Id),\n\t\t\t\tRevision: pulumi.Any(aws_mq_configuration.Test.Latest_revision),\n\t\t\t},\n\t\t\tEngineType: pulumi.String(\"ActiveMQ\"),\n\t\t\tEngineVersion: pulumi.String(\"5.15.9\"),\n\t\t\tStorageType: pulumi.String(\"ebs\"),\n\t\t\tHostInstanceType: pulumi.String(\"mq.m5.large\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.Any(aws_security_group.Test.Id),\n\t\t\t},\n\t\t\tUsers: mq.BrokerUserArray{\n\t\t\t\t\u0026mq.BrokerUserArgs{\n\t\t\t\t\tUsername: pulumi.String(\"ExampleUser\"),\n\t\t\t\t\tPassword: pulumi.String(\"MindTheGap\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.mq.Broker;\nimport com.pulumi.aws.mq.BrokerArgs;\nimport com.pulumi.aws.mq.inputs.BrokerConfigurationArgs;\nimport com.pulumi.aws.mq.inputs.BrokerUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Broker(\"example\", BrokerArgs.builder() \n .configuration(BrokerConfigurationArgs.builder()\n .id(aws_mq_configuration.test().id())\n .revision(aws_mq_configuration.test().latest_revision())\n .build())\n .engineType(\"ActiveMQ\")\n .engineVersion(\"5.15.9\")\n .storageType(\"ebs\")\n .hostInstanceType(\"mq.m5.large\")\n .securityGroups(aws_security_group.test().id())\n .users(BrokerUserArgs.builder()\n .username(\"ExampleUser\")\n .password(\"MindTheGap\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:mq:Broker\n properties:\n configuration:\n id: ${aws_mq_configuration.test.id}\n revision: ${aws_mq_configuration.test.latest_revision}\n engineType: ActiveMQ\n engineVersion: 5.15.9\n storageType: ebs\n hostInstanceType: mq.m5.large\n securityGroups:\n - ${aws_security_group.test.id}\n users:\n - username: ExampleUser\n password: MindTheGap\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nMQ Brokers can be imported using their broker id, e.g.,\n\n```sh\n $ pulumi import aws:mq/broker:Broker example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc\n```\n\n ", "properties": { "applyImmediately": { "type": "boolean", @@ -487574,7 +491158,7 @@ } }, "aws:neptune/clusterInstance:ClusterInstance": { - "description": "A Cluster Instance Resource defines attributes that are specific to a single instance in a Neptune Cluster.\n\nYou can simply add neptune instances and Neptune manages the replication. You can use the [count](https://www.terraform.io/docs/configuration/meta-arguments/count.html)\nmeta-parameter to make multiple instances and join them all to the same Neptune Cluster, or you may specify different Cluster Instance resources with various `instance_class` sizes.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThe following example will create a neptune cluster with two neptune instances(one writer and one reader).\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.neptune.Cluster(\"default\", {\n clusterIdentifier: \"neptune-cluster-demo\",\n engine: \"neptune\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n skipFinalSnapshot: true,\n iamDatabaseAuthenticationEnabled: true,\n applyImmediately: true,\n});\nconst example: aws.neptune.ClusterInstance[];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n example.push(new aws.neptune.ClusterInstance(`example-${range.value}`, {\n clusterIdentifier: _default.id,\n engine: \"neptune\",\n instanceClass: \"db.r4.large\",\n applyImmediately: true,\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.neptune.Cluster(\"default\",\n cluster_identifier=\"neptune-cluster-demo\",\n engine=\"neptune\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\",\n skip_final_snapshot=True,\n iam_database_authentication_enabled=True,\n apply_immediately=True)\nexample = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example.append(aws.neptune.ClusterInstance(f\"example-{range['value']}\",\n cluster_identifier=default.id,\n engine=\"neptune\",\n instance_class=\"db.r4.large\",\n apply_immediately=True))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Neptune.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"neptune-cluster-demo\",\n Engine = \"neptune\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n SkipFinalSnapshot = true,\n IamDatabaseAuthenticationEnabled = true,\n ApplyImmediately = true,\n });\n\n var example = new List\u003cAws.Neptune.ClusterInstance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n example.Add(new Aws.Neptune.ClusterInstance($\"example-{range.Value}\", new()\n {\n ClusterIdentifier = @default.Id,\n Engine = \"neptune\",\n InstanceClass = \"db.r4.large\",\n ApplyImmediately = true,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/neptune\"\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 := neptune.NewCluster(ctx, \"default\", \u0026neptune.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"neptune-cluster-demo\"),\n\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tIamDatabaseAuthenticationEnabled: pulumi.Bool(true),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar example []*neptune.ClusterInstance\n\t\tfor key0, _ := range 2 {\n\t\t\t__res, err := neptune.NewClusterInstance(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026neptune.ClusterInstanceArgs{\n\t\t\t\tClusterIdentifier: _default.ID(),\n\t\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\t\tInstanceClass: pulumi.String(\"db.r4.large\"),\n\t\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texample = append(example, __res)\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.neptune.Cluster;\nimport com.pulumi.aws.neptune.ClusterArgs;\nimport com.pulumi.aws.neptune.ClusterInstance;\nimport com.pulumi.aws.neptune.ClusterInstanceArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder() \n .clusterIdentifier(\"neptune-cluster-demo\")\n .engine(\"neptune\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .skipFinalSnapshot(true)\n .iamDatabaseAuthenticationEnabled(true)\n .applyImmediately(true)\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new ClusterInstance(\"example-\" + i, ClusterInstanceArgs.builder() \n .clusterIdentifier(default_.id())\n .engine(\"neptune\")\n .instanceClass(\"db.r4.large\")\n .applyImmediately(true)\n .build());\n\n \n}\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:neptune:Cluster\n properties:\n clusterIdentifier: neptune-cluster-demo\n engine: neptune\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n skipFinalSnapshot: true\n iamDatabaseAuthenticationEnabled: true\n applyImmediately: true\n example:\n type: aws:neptune:ClusterInstance\n properties:\n clusterIdentifier: ${default.id}\n engine: neptune\n instanceClass: db.r4.large\n applyImmediately: true\n options: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n`aws_neptune_cluster_instance` can be imported by using the instance identifier, e.g.,\n\n```sh\n $ pulumi import aws:neptune/clusterInstance:ClusterInstance example my-instance\n```\n\n ", + "description": "A Cluster Instance Resource defines attributes that are specific to a single instance in a Neptune Cluster.\n\nYou can simply add neptune instances and Neptune manages the replication. You can use the [count](https://www.terraform.io/docs/configuration/meta-arguments/count.html)\nmeta-parameter to make multiple instances and join them all to the same Neptune Cluster, or you may specify different Cluster Instance resources with various `instance_class` sizes.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThe following example will create a neptune cluster with two neptune instances(one writer and one reader).\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.neptune.Cluster(\"default\", {\n clusterIdentifier: \"neptune-cluster-demo\",\n engine: \"neptune\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n skipFinalSnapshot: true,\n iamDatabaseAuthenticationEnabled: true,\n applyImmediately: true,\n});\nconst example: aws.neptune.ClusterInstance[];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n example.push(new aws.neptune.ClusterInstance(`example-${range.value}`, {\n clusterIdentifier: _default.id,\n engine: \"neptune\",\n instanceClass: \"db.r4.large\",\n applyImmediately: true,\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.neptune.Cluster(\"default\",\n cluster_identifier=\"neptune-cluster-demo\",\n engine=\"neptune\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\",\n skip_final_snapshot=True,\n iam_database_authentication_enabled=True,\n apply_immediately=True)\nexample = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example.append(aws.neptune.ClusterInstance(f\"example-{range['value']}\",\n cluster_identifier=default.id,\n engine=\"neptune\",\n instance_class=\"db.r4.large\",\n apply_immediately=True))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Neptune.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"neptune-cluster-demo\",\n Engine = \"neptune\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n SkipFinalSnapshot = true,\n IamDatabaseAuthenticationEnabled = true,\n ApplyImmediately = true,\n });\n\n var example = new List\u003cAws.Neptune.ClusterInstance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n example.Add(new Aws.Neptune.ClusterInstance($\"example-{range.Value}\", new()\n {\n ClusterIdentifier = @default.Id,\n Engine = \"neptune\",\n InstanceClass = \"db.r4.large\",\n ApplyImmediately = true,\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/neptune\"\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 := neptune.NewCluster(ctx, \"default\", \u0026neptune.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"neptune-cluster-demo\"),\n\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tIamDatabaseAuthenticationEnabled: pulumi.Bool(true),\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar example []*neptune.ClusterInstance\n\t\tfor key0, _ := range 2 {\n\t\t\t__res, err := neptune.NewClusterInstance(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026neptune.ClusterInstanceArgs{\n\t\t\t\tClusterIdentifier: _default.ID(),\n\t\t\t\tEngine: pulumi.String(\"neptune\"),\n\t\t\t\tInstanceClass: pulumi.String(\"db.r4.large\"),\n\t\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texample = append(example, __res)\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.neptune.Cluster;\nimport com.pulumi.aws.neptune.ClusterArgs;\nimport com.pulumi.aws.neptune.ClusterInstance;\nimport com.pulumi.aws.neptune.ClusterInstanceArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder() \n .clusterIdentifier(\"neptune-cluster-demo\")\n .engine(\"neptune\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .skipFinalSnapshot(true)\n .iamDatabaseAuthenticationEnabled(true)\n .applyImmediately(true)\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new ClusterInstance(\"example-\" + i, ClusterInstanceArgs.builder() \n .clusterIdentifier(default_.id())\n .engine(\"neptune\")\n .instanceClass(\"db.r4.large\")\n .applyImmediately(true)\n .build());\n\n \n}\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:neptune:Cluster\n properties:\n clusterIdentifier: neptune-cluster-demo\n engine: neptune\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n skipFinalSnapshot: true\n iamDatabaseAuthenticationEnabled: true\n applyImmediately: true\n example:\n type: aws:neptune:ClusterInstance\n properties:\n clusterIdentifier: ${default.id}\n engine: neptune\n instanceClass: db.r4.large\n applyImmediately: true\n options: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n`aws_neptune_cluster_instance` can be imported by using the instance identifier, e.g.,\n\n```sh\n $ pulumi import aws:neptune/clusterInstance:ClusterInstance example my-instance\n```\n\n ", "properties": { "address": { "type": "string", @@ -489849,7 +493433,7 @@ } }, "aws:networkmanager/link:Link": { - "description": "Creates a link for a site.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.Link(\"example\", {\n globalNetworkId: aws_networkmanager_global_network.example.id,\n siteId: aws_networkmanager_global_site.example.id,\n bandwidth: {\n uploadSpeed: 10,\n downloadSpeed: 50,\n },\n providerName: \"MegaCorp\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.Link(\"example\",\n global_network_id=aws_networkmanager_global_network[\"example\"][\"id\"],\n site_id=aws_networkmanager_global_site[\"example\"][\"id\"],\n bandwidth=aws.networkmanager.LinkBandwidthArgs(\n upload_speed=10,\n download_speed=50,\n ),\n provider_name=\"MegaCorp\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.Link(\"example\", new()\n {\n GlobalNetworkId = aws_networkmanager_global_network.Example.Id,\n SiteId = aws_networkmanager_global_site.Example.Id,\n Bandwidth = new Aws.NetworkManager.Inputs.LinkBandwidthArgs\n {\n UploadSpeed = 10,\n DownloadSpeed = 50,\n },\n ProviderName = \"MegaCorp\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/networkmanager\"\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 := networkmanager.NewLink(ctx, \"example\", \u0026networkmanager.LinkArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(aws_networkmanager_global_network.Example.Id),\n\t\t\tSiteId: pulumi.Any(aws_networkmanager_global_site.Example.Id),\n\t\t\tBandwidth: \u0026networkmanager.LinkBandwidthArgs{\n\t\t\t\tUploadSpeed: pulumi.Int(10),\n\t\t\t\tDownloadSpeed: pulumi.Int(50),\n\t\t\t},\n\t\t\tProviderName: pulumi.String(\"MegaCorp\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.Link;\nimport com.pulumi.aws.networkmanager.LinkArgs;\nimport com.pulumi.aws.networkmanager.inputs.LinkBandwidthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Link(\"example\", LinkArgs.builder() \n .globalNetworkId(aws_networkmanager_global_network.example().id())\n .siteId(aws_networkmanager_global_site.example().id())\n .bandwidth(LinkBandwidthArgs.builder()\n .uploadSpeed(10)\n .downloadSpeed(50)\n .build())\n .providerName(\"MegaCorp\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:Link\n properties:\n globalNetworkId: ${aws_networkmanager_global_network.example.id}\n siteId: ${aws_networkmanager_global_site.example.id}\n bandwidth:\n uploadSpeed: 10\n downloadSpeed: 50\n providerName: MegaCorp\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n`aws_networkmanager_link` can be imported using the link ARN, e.g.\n\n```sh\n $ pulumi import aws:networkmanager/link:Link example arn:aws:networkmanager::123456789012:link/global-network-0d47f6t230mz46dy4/link-444555aaabbb11223\n```\n\n ", + "description": "Creates a link for a site.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkmanager.Link(\"example\", {\n globalNetworkId: aws_networkmanager_global_network.example.id,\n siteId: aws_networkmanager_site.example.id,\n bandwidth: {\n uploadSpeed: 10,\n downloadSpeed: 50,\n },\n providerName: \"MegaCorp\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkmanager.Link(\"example\",\n global_network_id=aws_networkmanager_global_network[\"example\"][\"id\"],\n site_id=aws_networkmanager_site[\"example\"][\"id\"],\n bandwidth=aws.networkmanager.LinkBandwidthArgs(\n upload_speed=10,\n download_speed=50,\n ),\n provider_name=\"MegaCorp\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.NetworkManager.Link(\"example\", new()\n {\n GlobalNetworkId = aws_networkmanager_global_network.Example.Id,\n SiteId = aws_networkmanager_site.Example.Id,\n Bandwidth = new Aws.NetworkManager.Inputs.LinkBandwidthArgs\n {\n UploadSpeed = 10,\n DownloadSpeed = 50,\n },\n ProviderName = \"MegaCorp\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/networkmanager\"\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 := networkmanager.NewLink(ctx, \"example\", \u0026networkmanager.LinkArgs{\n\t\t\tGlobalNetworkId: pulumi.Any(aws_networkmanager_global_network.Example.Id),\n\t\t\tSiteId: pulumi.Any(aws_networkmanager_site.Example.Id),\n\t\t\tBandwidth: \u0026networkmanager.LinkBandwidthArgs{\n\t\t\t\tUploadSpeed: pulumi.Int(10),\n\t\t\t\tDownloadSpeed: pulumi.Int(50),\n\t\t\t},\n\t\t\tProviderName: pulumi.String(\"MegaCorp\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.networkmanager.Link;\nimport com.pulumi.aws.networkmanager.LinkArgs;\nimport com.pulumi.aws.networkmanager.inputs.LinkBandwidthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Link(\"example\", LinkArgs.builder() \n .globalNetworkId(aws_networkmanager_global_network.example().id())\n .siteId(aws_networkmanager_site.example().id())\n .bandwidth(LinkBandwidthArgs.builder()\n .uploadSpeed(10)\n .downloadSpeed(50)\n .build())\n .providerName(\"MegaCorp\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkmanager:Link\n properties:\n globalNetworkId: ${aws_networkmanager_global_network.example.id}\n siteId: ${aws_networkmanager_site.example.id}\n bandwidth:\n uploadSpeed: 10\n downloadSpeed: 50\n providerName: MegaCorp\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n`aws_networkmanager_link` can be imported using the link ARN, e.g.\n\n```sh\n $ pulumi import aws:networkmanager/link:Link example arn:aws:networkmanager::123456789012:link/global-network-0d47f6t230mz46dy4/link-444555aaabbb11223\n```\n\n ", "properties": { "arn": { "type": "string", @@ -491537,6 +495121,10 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/CustomLayerLoadBasedAutoScaling:CustomLayerLoadBasedAutoScaling", + "description": "Load-based auto scaling configuration. See Load Based AutoScaling\n" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -491578,6 +495166,7 @@ "required": [ "arn", "ebsVolumes", + "loadBasedAutoScaling", "name", "shortName", "stackId", @@ -491668,6 +495257,10 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/CustomLayerLoadBasedAutoScaling:CustomLayerLoadBasedAutoScaling", + "description": "Load-based auto scaling configuration. See Load Based AutoScaling\n" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -491795,6 +495388,10 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/CustomLayerLoadBasedAutoScaling:CustomLayerLoadBasedAutoScaling", + "description": "Load-based auto scaling configuration. See Load Based AutoScaling\n" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -491931,6 +495528,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/EcsClusterLayerLoadBasedAutoScaling:EcsClusterLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -491968,6 +495568,7 @@ "arn", "ebsVolumes", "ecsClusterArn", + "loadBasedAutoScaling", "name", "stackId", "tagsAll" @@ -492061,6 +495662,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/EcsClusterLayerLoadBasedAutoScaling:EcsClusterLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -492188,6 +495792,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/EcsClusterLayerLoadBasedAutoScaling:EcsClusterLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -492315,6 +495922,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/GangliaLayerLoadBasedAutoScaling:GangliaLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -492364,6 +495974,7 @@ "required": [ "arn", "ebsVolumes", + "loadBasedAutoScaling", "name", "password", "stackId", @@ -492453,6 +496064,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/GangliaLayerLoadBasedAutoScaling:GangliaLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -492587,6 +496201,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/GangliaLayerLoadBasedAutoScaling:GangliaLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -492735,6 +496352,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/HaproxyLayerLoadBasedAutoScaling:HaproxyLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -492788,6 +496408,7 @@ "required": [ "arn", "ebsVolumes", + "loadBasedAutoScaling", "name", "stackId", "statsPassword", @@ -492885,6 +496506,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/HaproxyLayerLoadBasedAutoScaling:HaproxyLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -493031,6 +496655,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/HaproxyLayerLoadBasedAutoScaling:HaproxyLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -493801,6 +497428,9 @@ "type": "string", "description": "Version of JVM to use. Defaults to \"7\".\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/JavaAppLayerLoadBasedAutoScaling:JavaAppLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -493838,6 +497468,7 @@ "required": [ "arn", "ebsVolumes", + "loadBasedAutoScaling", "name", "stackId", "tagsAll" @@ -493946,6 +497577,9 @@ "type": "string", "description": "Version of JVM to use. Defaults to \"7\".\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/JavaAppLayerLoadBasedAutoScaling:JavaAppLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -494087,6 +497721,9 @@ "type": "string", "description": "Version of JVM to use. Defaults to \"7\".\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/JavaAppLayerLoadBasedAutoScaling:JavaAppLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -494219,6 +497856,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/MemcachedLayerLoadBasedAutoScaling:MemcachedLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -494256,6 +497896,7 @@ "required": [ "arn", "ebsVolumes", + "loadBasedAutoScaling", "name", "stackId", "tagsAll" @@ -494348,6 +497989,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/MemcachedLayerLoadBasedAutoScaling:MemcachedLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -494473,6 +498117,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/MemcachedLayerLoadBasedAutoScaling:MemcachedLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -494601,6 +498248,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/MysqlLayerLoadBasedAutoScaling:MysqlLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -494646,6 +498296,7 @@ "required": [ "arn", "ebsVolumes", + "loadBasedAutoScaling", "name", "stackId", "tagsAll" @@ -494734,6 +498385,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/MysqlLayerLoadBasedAutoScaling:MysqlLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -494863,6 +498517,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/MysqlLayerLoadBasedAutoScaling:MysqlLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -494999,6 +498656,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/NodejsAppLayerLoadBasedAutoScaling:NodejsAppLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -495040,6 +498700,7 @@ "required": [ "arn", "ebsVolumes", + "loadBasedAutoScaling", "name", "stackId", "tagsAll" @@ -495128,6 +498789,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/NodejsAppLayerLoadBasedAutoScaling:NodejsAppLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -495253,6 +498917,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/NodejsAppLayerLoadBasedAutoScaling:NodejsAppLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -495468,6 +499135,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/PhpAppLayerLoadBasedAutoScaling:PhpAppLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -495505,6 +499175,7 @@ "required": [ "arn", "ebsVolumes", + "loadBasedAutoScaling", "name", "stackId", "tagsAll" @@ -495593,6 +499264,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/PhpAppLayerLoadBasedAutoScaling:PhpAppLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -495714,6 +499388,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/PhpAppLayerLoadBasedAutoScaling:PhpAppLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -495850,6 +499527,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/RailsAppLayerLoadBasedAutoScaling:RailsAppLayerLoadBasedAutoScaling" + }, "manageBundler": { "type": "boolean", "description": "Whether OpsWorks should manage bundler. On by default.\n" @@ -495903,6 +499583,7 @@ "required": [ "arn", "ebsVolumes", + "loadBasedAutoScaling", "name", "stackId", "tagsAll" @@ -495999,6 +499680,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/RailsAppLayerLoadBasedAutoScaling:RailsAppLayerLoadBasedAutoScaling" + }, "manageBundler": { "type": "boolean", "description": "Whether OpsWorks should manage bundler. On by default.\n" @@ -496144,6 +499828,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/RailsAppLayerLoadBasedAutoScaling:RailsAppLayerLoadBasedAutoScaling" + }, "manageBundler": { "type": "boolean", "description": "Whether OpsWorks should manage bundler. On by default.\n" @@ -496710,6 +500397,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/StaticWebLayerLoadBasedAutoScaling:StaticWebLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -496747,6 +500437,7 @@ "required": [ "arn", "ebsVolumes", + "loadBasedAutoScaling", "name", "stackId", "tagsAll" @@ -496834,6 +500525,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/StaticWebLayerLoadBasedAutoScaling:StaticWebLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -496954,6 +500648,9 @@ "type": "integer", "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.\n" }, + "loadBasedAutoScaling": { + "$ref": "#/types/aws:opsworks/StaticWebLayerLoadBasedAutoScaling:StaticWebLayerLoadBasedAutoScaling" + }, "name": { "type": "string", "description": "A human-readable name for the layer.\n" @@ -497781,7 +501478,7 @@ } }, "aws:pinpoint/admChannel:AdmChannel": { - "description": "Provides a Pinpoint ADM (Amazon Device Messaging) Channel resource.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst channel = new aws.pinpoint.AdmChannel(\"channel\", {\n applicationId: app.applicationId,\n clientId: \"\",\n clientSecret: \"\",\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nchannel = aws.pinpoint.AdmChannel(\"channel\",\n application_id=app.application_id,\n client_id=\"\",\n client_secret=\"\",\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var channel = new Aws.Pinpoint.AdmChannel(\"channel\", new()\n {\n ApplicationId = app.ApplicationId,\n ClientId = \"\",\n ClientSecret = \"\",\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewAdmChannel(ctx, \"channel\", \u0026pinpoint.AdmChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tClientId: pulumi.String(\"\"),\n\t\t\tClientSecret: pulumi.String(\"\"),\n\t\t\tEnabled: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.AdmChannel;\nimport com.pulumi.aws.pinpoint.AdmChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var channel = new AdmChannel(\"channel\", AdmChannelArgs.builder() \n .applicationId(app.applicationId())\n .clientId(\"\")\n .clientSecret(\"\")\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:pinpoint:App\n channel:\n type: aws:pinpoint:AdmChannel\n properties:\n applicationId: ${app.applicationId}\n clientId:\n clientSecret:\n enabled: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nPinpoint ADM Channel can be imported using the `application-id`, e.g.,\n\n```sh\n $ pulumi import aws:pinpoint/admChannel:AdmChannel channel application-id\n```\n\n ", + "description": "Provides a Pinpoint ADM (Amazon Device Messaging) Channel resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst channel = new aws.pinpoint.AdmChannel(\"channel\", {\n applicationId: app.applicationId,\n clientId: \"\",\n clientSecret: \"\",\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nchannel = aws.pinpoint.AdmChannel(\"channel\",\n application_id=app.application_id,\n client_id=\"\",\n client_secret=\"\",\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var channel = new Aws.Pinpoint.AdmChannel(\"channel\", new()\n {\n ApplicationId = app.ApplicationId,\n ClientId = \"\",\n ClientSecret = \"\",\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewAdmChannel(ctx, \"channel\", \u0026pinpoint.AdmChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tClientId: pulumi.String(\"\"),\n\t\t\tClientSecret: pulumi.String(\"\"),\n\t\t\tEnabled: pulumi.Bool(true),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.AdmChannel;\nimport com.pulumi.aws.pinpoint.AdmChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var channel = new AdmChannel(\"channel\", AdmChannelArgs.builder() \n .applicationId(app.applicationId())\n .clientId(\"\")\n .clientSecret(\"\")\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:pinpoint:App\n channel:\n type: aws:pinpoint:AdmChannel\n properties:\n applicationId: ${app.applicationId}\n clientId:\n clientSecret:\n enabled: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nPinpoint ADM Channel can be imported using the `application-id`, e.g.,\n\n```sh\n $ pulumi import aws:pinpoint/admChannel:AdmChannel channel application-id\n```\n\n ", "properties": { "applicationId": { "type": "string", @@ -498504,7 +502201,7 @@ } }, "aws:pinpoint/baiduChannel:BaiduChannel": { - "description": "Provides a Pinpoint Baidu Channel resource.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst channel = new aws.pinpoint.BaiduChannel(\"channel\", {\n applicationId: app.applicationId,\n apiKey: \"\",\n secretKey: \"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nchannel = aws.pinpoint.BaiduChannel(\"channel\",\n application_id=app.application_id,\n api_key=\"\",\n secret_key=\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var channel = new Aws.Pinpoint.BaiduChannel(\"channel\", new()\n {\n ApplicationId = app.ApplicationId,\n ApiKey = \"\",\n SecretKey = \"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewBaiduChannel(ctx, \"channel\", \u0026pinpoint.BaiduChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tApiKey: pulumi.String(\"\"),\n\t\t\tSecretKey: pulumi.String(\"\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.BaiduChannel;\nimport com.pulumi.aws.pinpoint.BaiduChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var channel = new BaiduChannel(\"channel\", BaiduChannelArgs.builder() \n .applicationId(app.applicationId())\n .apiKey(\"\")\n .secretKey(\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:pinpoint:App\n channel:\n type: aws:pinpoint:BaiduChannel\n properties:\n applicationId: ${app.applicationId}\n apiKey:\n secretKey:\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nPinpoint Baidu Channel can be imported using the `application-id`, e.g.,\n\n```sh\n $ pulumi import aws:pinpoint/baiduChannel:BaiduChannel channel application-id\n```\n\n ", + "description": "Provides a Pinpoint Baidu Channel resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst channel = new aws.pinpoint.BaiduChannel(\"channel\", {\n applicationId: app.applicationId,\n apiKey: \"\",\n secretKey: \"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nchannel = aws.pinpoint.BaiduChannel(\"channel\",\n application_id=app.application_id,\n api_key=\"\",\n secret_key=\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var channel = new Aws.Pinpoint.BaiduChannel(\"channel\", new()\n {\n ApplicationId = app.ApplicationId,\n ApiKey = \"\",\n SecretKey = \"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewBaiduChannel(ctx, \"channel\", \u0026pinpoint.BaiduChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tApiKey: pulumi.String(\"\"),\n\t\t\tSecretKey: pulumi.String(\"\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.BaiduChannel;\nimport com.pulumi.aws.pinpoint.BaiduChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new App(\"app\");\n\n var channel = new BaiduChannel(\"channel\", BaiduChannelArgs.builder() \n .applicationId(app.applicationId())\n .apiKey(\"\")\n .secretKey(\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:pinpoint:App\n channel:\n type: aws:pinpoint:BaiduChannel\n properties:\n applicationId: ${app.applicationId}\n apiKey:\n secretKey:\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nPinpoint Baidu Channel can be imported using the `application-id`, e.g.,\n\n```sh\n $ pulumi import aws:pinpoint/baiduChannel:BaiduChannel channel application-id\n```\n\n ", "properties": { "apiKey": { "type": "string", @@ -499755,7 +503452,7 @@ } }, "aws:ram/resourceShare:ResourceShare": { - "description": "Manages a Resource Access Manager (RAM) Resource Share. To associate principals with the share, see the `aws.ram.PrincipalAssociation` resource. To associate resources with the share, see the `aws.ram.ResourceAssociation` resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ram.ResourceShare(\"example\", {\n allowExternalPrincipals: true,\n tags: {\n Environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ram.ResourceShare(\"example\",\n allow_external_principals=True,\n tags={\n \"Environment\": \"Production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ram.ResourceShare(\"example\", new()\n {\n AllowExternalPrincipals = true,\n Tags = \n {\n { \"Environment\", \"Production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ram\"\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 := ram.NewResourceShare(ctx, \"example\", \u0026ram.ResourceShareArgs{\n\t\t\tAllowExternalPrincipals: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ram.ResourceShare;\nimport com.pulumi.aws.ram.ResourceShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResourceShare(\"example\", ResourceShareArgs.builder() \n .allowExternalPrincipals(true)\n .tags(Map.of(\"Environment\", \"Production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ram:ResourceShare\n properties:\n allowExternalPrincipals: true\n tags:\n Environment: Production\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nResource shares can be imported using the `id`, e.g.,\n\n```sh\n $ pulumi import aws:ram/resourceShare:ResourceShare example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12\n```\n\n ", + "description": "Manages a Resource Access Manager (RAM) Resource Share. To associate principals with the share, see the `aws.ram.PrincipalAssociation` resource. To associate resources with the share, see the `aws.ram.ResourceAssociation` resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ram.ResourceShare(\"example\", {\n allowExternalPrincipals: true,\n tags: {\n Environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ram.ResourceShare(\"example\",\n allow_external_principals=True,\n tags={\n \"Environment\": \"Production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ram.ResourceShare(\"example\", new()\n {\n AllowExternalPrincipals = true,\n Tags = \n {\n { \"Environment\", \"Production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ram\"\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 := ram.NewResourceShare(ctx, \"example\", \u0026ram.ResourceShareArgs{\n\t\t\tAllowExternalPrincipals: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ram.ResourceShare;\nimport com.pulumi.aws.ram.ResourceShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ResourceShare(\"example\", ResourceShareArgs.builder() \n .allowExternalPrincipals(true)\n .tags(Map.of(\"Environment\", \"Production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ram:ResourceShare\n properties:\n allowExternalPrincipals: true\n tags:\n Environment: Production\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nResource shares can be imported using the `arn` of the resource share, e.g.,\n\n```sh\n $ pulumi import aws:ram/resourceShare:ResourceShare example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12\n```\n\n ", "properties": { "allowExternalPrincipals": { "type": "boolean", @@ -500822,7 +504519,7 @@ } }, "aws:rds/clusterEndpoint:ClusterEndpoint": { - "description": "Manages an RDS Aurora Cluster Endpoint.\nYou can refer to the [User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html#Aurora.Endpoints.Cluster).\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"bar\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\nconst test1 = new aws.rds.ClusterInstance(\"test1\", {\n applyImmediately: true,\n clusterIdentifier: _default.id,\n identifier: \"test1\",\n instanceClass: \"db.t2.small\",\n engine: _default.engine,\n engineVersion: _default.engineVersion,\n});\nconst test2 = new aws.rds.ClusterInstance(\"test2\", {\n applyImmediately: true,\n clusterIdentifier: _default.id,\n identifier: \"test2\",\n instanceClass: \"db.t2.small\",\n engine: _default.engine,\n engineVersion: _default.engineVersion,\n});\nconst test3 = new aws.rds.ClusterInstance(\"test3\", {\n applyImmediately: true,\n clusterIdentifier: _default.id,\n identifier: \"test3\",\n instanceClass: \"db.t2.small\",\n engine: _default.engine,\n engineVersion: _default.engineVersion,\n});\nconst eligible = new aws.rds.ClusterEndpoint(\"eligible\", {\n clusterIdentifier: _default.id,\n clusterEndpointIdentifier: \"reader\",\n customEndpointType: \"READER\",\n excludedMembers: [\n test1.id,\n test2.id,\n ],\n});\nconst static = new aws.rds.ClusterEndpoint(\"static\", {\n clusterIdentifier: _default.id,\n clusterEndpointIdentifier: \"static\",\n customEndpointType: \"READER\",\n staticMembers: [\n test1.id,\n test3.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"bar\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\ntest1 = aws.rds.ClusterInstance(\"test1\",\n apply_immediately=True,\n cluster_identifier=default.id,\n identifier=\"test1\",\n instance_class=\"db.t2.small\",\n engine=default.engine,\n engine_version=default.engine_version)\ntest2 = aws.rds.ClusterInstance(\"test2\",\n apply_immediately=True,\n cluster_identifier=default.id,\n identifier=\"test2\",\n instance_class=\"db.t2.small\",\n engine=default.engine,\n engine_version=default.engine_version)\ntest3 = aws.rds.ClusterInstance(\"test3\",\n apply_immediately=True,\n cluster_identifier=default.id,\n identifier=\"test3\",\n instance_class=\"db.t2.small\",\n engine=default.engine,\n engine_version=default.engine_version)\neligible = aws.rds.ClusterEndpoint(\"eligible\",\n cluster_identifier=default.id,\n cluster_endpoint_identifier=\"reader\",\n custom_endpoint_type=\"READER\",\n excluded_members=[\n test1.id,\n test2.id,\n ])\nstatic = aws.rds.ClusterEndpoint(\"static\",\n cluster_identifier=default.id,\n cluster_endpoint_identifier=\"static\",\n custom_endpoint_type=\"READER\",\n static_members=[\n test1.id,\n test3.id,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"bar\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n var test1 = new Aws.Rds.ClusterInstance(\"test1\", new()\n {\n ApplyImmediately = true,\n ClusterIdentifier = @default.Id,\n Identifier = \"test1\",\n InstanceClass = \"db.t2.small\",\n Engine = @default.Engine,\n EngineVersion = @default.EngineVersion,\n });\n\n var test2 = new Aws.Rds.ClusterInstance(\"test2\", new()\n {\n ApplyImmediately = true,\n ClusterIdentifier = @default.Id,\n Identifier = \"test2\",\n InstanceClass = \"db.t2.small\",\n Engine = @default.Engine,\n EngineVersion = @default.EngineVersion,\n });\n\n var test3 = new Aws.Rds.ClusterInstance(\"test3\", new()\n {\n ApplyImmediately = true,\n ClusterIdentifier = @default.Id,\n Identifier = \"test3\",\n InstanceClass = \"db.t2.small\",\n Engine = @default.Engine,\n EngineVersion = @default.EngineVersion,\n });\n\n var eligible = new Aws.Rds.ClusterEndpoint(\"eligible\", new()\n {\n ClusterIdentifier = @default.Id,\n ClusterEndpointIdentifier = \"reader\",\n CustomEndpointType = \"READER\",\n ExcludedMembers = new[]\n {\n test1.Id,\n test2.Id,\n },\n });\n\n var @static = new Aws.Rds.ClusterEndpoint(\"static\", new()\n {\n ClusterIdentifier = @default.Id,\n ClusterEndpointIdentifier = \"static\",\n CustomEndpointType = \"READER\",\n StaticMembers = new[]\n {\n test1.Id,\n test3.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\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 := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"bar\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest1, err := rds.NewClusterInstance(ctx, \"test1\", \u0026rds.ClusterInstanceArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tIdentifier: pulumi.String(\"test1\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t2.small\"),\n\t\t\tEngine: _default.Engine,\n\t\t\tEngineVersion: _default.EngineVersion,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest2, err := rds.NewClusterInstance(ctx, \"test2\", \u0026rds.ClusterInstanceArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tIdentifier: pulumi.String(\"test2\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t2.small\"),\n\t\t\tEngine: _default.Engine,\n\t\t\tEngineVersion: _default.EngineVersion,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest3, err := rds.NewClusterInstance(ctx, \"test3\", \u0026rds.ClusterInstanceArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tIdentifier: pulumi.String(\"test3\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t2.small\"),\n\t\t\tEngine: _default.Engine,\n\t\t\tEngineVersion: _default.EngineVersion,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterEndpoint(ctx, \"eligible\", \u0026rds.ClusterEndpointArgs{\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tClusterEndpointIdentifier: pulumi.String(\"reader\"),\n\t\t\tCustomEndpointType: pulumi.String(\"READER\"),\n\t\t\tExcludedMembers: pulumi.StringArray{\n\t\t\t\ttest1.ID(),\n\t\t\t\ttest2.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterEndpoint(ctx, \"static\", \u0026rds.ClusterEndpointArgs{\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tClusterEndpointIdentifier: pulumi.String(\"static\"),\n\t\t\tCustomEndpointType: pulumi.String(\"READER\"),\n\t\t\tStaticMembers: pulumi.StringArray{\n\t\t\t\ttest1.ID(),\n\t\t\t\ttest3.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport com.pulumi.aws.rds.ClusterEndpoint;\nimport com.pulumi.aws.rds.ClusterEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder() \n .clusterIdentifier(\"aurora-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"bar\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n var test1 = new ClusterInstance(\"test1\", ClusterInstanceArgs.builder() \n .applyImmediately(true)\n .clusterIdentifier(default_.id())\n .identifier(\"test1\")\n .instanceClass(\"db.t2.small\")\n .engine(default_.engine())\n .engineVersion(default_.engineVersion())\n .build());\n\n var test2 = new ClusterInstance(\"test2\", ClusterInstanceArgs.builder() \n .applyImmediately(true)\n .clusterIdentifier(default_.id())\n .identifier(\"test2\")\n .instanceClass(\"db.t2.small\")\n .engine(default_.engine())\n .engineVersion(default_.engineVersion())\n .build());\n\n var test3 = new ClusterInstance(\"test3\", ClusterInstanceArgs.builder() \n .applyImmediately(true)\n .clusterIdentifier(default_.id())\n .identifier(\"test3\")\n .instanceClass(\"db.t2.small\")\n .engine(default_.engine())\n .engineVersion(default_.engineVersion())\n .build());\n\n var eligible = new ClusterEndpoint(\"eligible\", ClusterEndpointArgs.builder() \n .clusterIdentifier(default_.id())\n .clusterEndpointIdentifier(\"reader\")\n .customEndpointType(\"READER\")\n .excludedMembers( \n test1.id(),\n test2.id())\n .build());\n\n var static_ = new ClusterEndpoint(\"static\", ClusterEndpointArgs.builder() \n .clusterIdentifier(default_.id())\n .clusterEndpointIdentifier(\"static\")\n .customEndpointType(\"READER\")\n .staticMembers( \n test1.id(),\n test3.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: bar\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n test1:\n type: aws:rds:ClusterInstance\n properties:\n applyImmediately: true\n clusterIdentifier: ${default.id}\n identifier: test1\n instanceClass: db.t2.small\n engine: ${default.engine}\n engineVersion: ${default.engineVersion}\n test2:\n type: aws:rds:ClusterInstance\n properties:\n applyImmediately: true\n clusterIdentifier: ${default.id}\n identifier: test2\n instanceClass: db.t2.small\n engine: ${default.engine}\n engineVersion: ${default.engineVersion}\n test3:\n type: aws:rds:ClusterInstance\n properties:\n applyImmediately: true\n clusterIdentifier: ${default.id}\n identifier: test3\n instanceClass: db.t2.small\n engine: ${default.engine}\n engineVersion: ${default.engineVersion}\n eligible:\n type: aws:rds:ClusterEndpoint\n properties:\n clusterIdentifier: ${default.id}\n clusterEndpointIdentifier: reader\n customEndpointType: READER\n excludedMembers:\n - ${test1.id}\n - ${test2.id}\n static:\n type: aws:rds:ClusterEndpoint\n properties:\n clusterIdentifier: ${default.id}\n clusterEndpointIdentifier: static\n customEndpointType: READER\n staticMembers:\n - ${test1.id}\n - ${test3.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nRDS Clusters Endpoint can be imported using the `cluster_endpoint_identifier`, e.g.,\n\n```sh\n $ pulumi import aws:rds/clusterEndpoint:ClusterEndpoint custom_reader aurora-prod-cluster-custom-reader\n```\n\n [1]https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html#Aurora.Endpoints.Cluster ", + "description": "Manages an RDS Aurora Cluster Endpoint.\nYou can refer to the [User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html#Aurora.Endpoints.Cluster).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"bar\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\nconst test1 = new aws.rds.ClusterInstance(\"test1\", {\n applyImmediately: true,\n clusterIdentifier: _default.id,\n identifier: \"test1\",\n instanceClass: \"db.t2.small\",\n engine: _default.engine,\n engineVersion: _default.engineVersion,\n});\nconst test2 = new aws.rds.ClusterInstance(\"test2\", {\n applyImmediately: true,\n clusterIdentifier: _default.id,\n identifier: \"test2\",\n instanceClass: \"db.t2.small\",\n engine: _default.engine,\n engineVersion: _default.engineVersion,\n});\nconst test3 = new aws.rds.ClusterInstance(\"test3\", {\n applyImmediately: true,\n clusterIdentifier: _default.id,\n identifier: \"test3\",\n instanceClass: \"db.t2.small\",\n engine: _default.engine,\n engineVersion: _default.engineVersion,\n});\nconst eligible = new aws.rds.ClusterEndpoint(\"eligible\", {\n clusterIdentifier: _default.id,\n clusterEndpointIdentifier: \"reader\",\n customEndpointType: \"READER\",\n excludedMembers: [\n test1.id,\n test2.id,\n ],\n});\nconst static = new aws.rds.ClusterEndpoint(\"static\", {\n clusterIdentifier: _default.id,\n clusterEndpointIdentifier: \"static\",\n customEndpointType: \"READER\",\n staticMembers: [\n test1.id,\n test3.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"bar\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\ntest1 = aws.rds.ClusterInstance(\"test1\",\n apply_immediately=True,\n cluster_identifier=default.id,\n identifier=\"test1\",\n instance_class=\"db.t2.small\",\n engine=default.engine,\n engine_version=default.engine_version)\ntest2 = aws.rds.ClusterInstance(\"test2\",\n apply_immediately=True,\n cluster_identifier=default.id,\n identifier=\"test2\",\n instance_class=\"db.t2.small\",\n engine=default.engine,\n engine_version=default.engine_version)\ntest3 = aws.rds.ClusterInstance(\"test3\",\n apply_immediately=True,\n cluster_identifier=default.id,\n identifier=\"test3\",\n instance_class=\"db.t2.small\",\n engine=default.engine,\n engine_version=default.engine_version)\neligible = aws.rds.ClusterEndpoint(\"eligible\",\n cluster_identifier=default.id,\n cluster_endpoint_identifier=\"reader\",\n custom_endpoint_type=\"READER\",\n excluded_members=[\n test1.id,\n test2.id,\n ])\nstatic = aws.rds.ClusterEndpoint(\"static\",\n cluster_identifier=default.id,\n cluster_endpoint_identifier=\"static\",\n custom_endpoint_type=\"READER\",\n static_members=[\n test1.id,\n test3.id,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"bar\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n var test1 = new Aws.Rds.ClusterInstance(\"test1\", new()\n {\n ApplyImmediately = true,\n ClusterIdentifier = @default.Id,\n Identifier = \"test1\",\n InstanceClass = \"db.t2.small\",\n Engine = @default.Engine,\n EngineVersion = @default.EngineVersion,\n });\n\n var test2 = new Aws.Rds.ClusterInstance(\"test2\", new()\n {\n ApplyImmediately = true,\n ClusterIdentifier = @default.Id,\n Identifier = \"test2\",\n InstanceClass = \"db.t2.small\",\n Engine = @default.Engine,\n EngineVersion = @default.EngineVersion,\n });\n\n var test3 = new Aws.Rds.ClusterInstance(\"test3\", new()\n {\n ApplyImmediately = true,\n ClusterIdentifier = @default.Id,\n Identifier = \"test3\",\n InstanceClass = \"db.t2.small\",\n Engine = @default.Engine,\n EngineVersion = @default.EngineVersion,\n });\n\n var eligible = new Aws.Rds.ClusterEndpoint(\"eligible\", new()\n {\n ClusterIdentifier = @default.Id,\n ClusterEndpointIdentifier = \"reader\",\n CustomEndpointType = \"READER\",\n ExcludedMembers = new[]\n {\n test1.Id,\n test2.Id,\n },\n });\n\n var @static = new Aws.Rds.ClusterEndpoint(\"static\", new()\n {\n ClusterIdentifier = @default.Id,\n ClusterEndpointIdentifier = \"static\",\n CustomEndpointType = \"READER\",\n StaticMembers = new[]\n {\n test1.Id,\n test3.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\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 := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"bar\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest1, err := rds.NewClusterInstance(ctx, \"test1\", \u0026rds.ClusterInstanceArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tIdentifier: pulumi.String(\"test1\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t2.small\"),\n\t\t\tEngine: _default.Engine,\n\t\t\tEngineVersion: _default.EngineVersion,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest2, err := rds.NewClusterInstance(ctx, \"test2\", \u0026rds.ClusterInstanceArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tIdentifier: pulumi.String(\"test2\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t2.small\"),\n\t\t\tEngine: _default.Engine,\n\t\t\tEngineVersion: _default.EngineVersion,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest3, err := rds.NewClusterInstance(ctx, \"test3\", \u0026rds.ClusterInstanceArgs{\n\t\t\tApplyImmediately: pulumi.Bool(true),\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tIdentifier: pulumi.String(\"test3\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t2.small\"),\n\t\t\tEngine: _default.Engine,\n\t\t\tEngineVersion: _default.EngineVersion,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterEndpoint(ctx, \"eligible\", \u0026rds.ClusterEndpointArgs{\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tClusterEndpointIdentifier: pulumi.String(\"reader\"),\n\t\t\tCustomEndpointType: pulumi.String(\"READER\"),\n\t\t\tExcludedMembers: pulumi.StringArray{\n\t\t\t\ttest1.ID(),\n\t\t\t\ttest2.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterEndpoint(ctx, \"static\", \u0026rds.ClusterEndpointArgs{\n\t\t\tClusterIdentifier: _default.ID(),\n\t\t\tClusterEndpointIdentifier: pulumi.String(\"static\"),\n\t\t\tCustomEndpointType: pulumi.String(\"READER\"),\n\t\t\tStaticMembers: pulumi.StringArray{\n\t\t\t\ttest1.ID(),\n\t\t\t\ttest3.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport com.pulumi.aws.rds.ClusterEndpoint;\nimport com.pulumi.aws.rds.ClusterEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder() \n .clusterIdentifier(\"aurora-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"bar\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n var test1 = new ClusterInstance(\"test1\", ClusterInstanceArgs.builder() \n .applyImmediately(true)\n .clusterIdentifier(default_.id())\n .identifier(\"test1\")\n .instanceClass(\"db.t2.small\")\n .engine(default_.engine())\n .engineVersion(default_.engineVersion())\n .build());\n\n var test2 = new ClusterInstance(\"test2\", ClusterInstanceArgs.builder() \n .applyImmediately(true)\n .clusterIdentifier(default_.id())\n .identifier(\"test2\")\n .instanceClass(\"db.t2.small\")\n .engine(default_.engine())\n .engineVersion(default_.engineVersion())\n .build());\n\n var test3 = new ClusterInstance(\"test3\", ClusterInstanceArgs.builder() \n .applyImmediately(true)\n .clusterIdentifier(default_.id())\n .identifier(\"test3\")\n .instanceClass(\"db.t2.small\")\n .engine(default_.engine())\n .engineVersion(default_.engineVersion())\n .build());\n\n var eligible = new ClusterEndpoint(\"eligible\", ClusterEndpointArgs.builder() \n .clusterIdentifier(default_.id())\n .clusterEndpointIdentifier(\"reader\")\n .customEndpointType(\"READER\")\n .excludedMembers( \n test1.id(),\n test2.id())\n .build());\n\n var static_ = new ClusterEndpoint(\"static\", ClusterEndpointArgs.builder() \n .clusterIdentifier(default_.id())\n .clusterEndpointIdentifier(\"static\")\n .customEndpointType(\"READER\")\n .staticMembers( \n test1.id(),\n test3.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: bar\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n test1:\n type: aws:rds:ClusterInstance\n properties:\n applyImmediately: true\n clusterIdentifier: ${default.id}\n identifier: test1\n instanceClass: db.t2.small\n engine: ${default.engine}\n engineVersion: ${default.engineVersion}\n test2:\n type: aws:rds:ClusterInstance\n properties:\n applyImmediately: true\n clusterIdentifier: ${default.id}\n identifier: test2\n instanceClass: db.t2.small\n engine: ${default.engine}\n engineVersion: ${default.engineVersion}\n test3:\n type: aws:rds:ClusterInstance\n properties:\n applyImmediately: true\n clusterIdentifier: ${default.id}\n identifier: test3\n instanceClass: db.t2.small\n engine: ${default.engine}\n engineVersion: ${default.engineVersion}\n eligible:\n type: aws:rds:ClusterEndpoint\n properties:\n clusterIdentifier: ${default.id}\n clusterEndpointIdentifier: reader\n customEndpointType: READER\n excludedMembers:\n - ${test1.id}\n - ${test2.id}\n static:\n type: aws:rds:ClusterEndpoint\n properties:\n clusterIdentifier: ${default.id}\n clusterEndpointIdentifier: static\n customEndpointType: READER\n staticMembers:\n - ${test1.id}\n - ${test3.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nRDS Clusters Endpoint can be imported using the `cluster_endpoint_identifier`, e.g.,\n\n```sh\n $ pulumi import aws:rds/clusterEndpoint:ClusterEndpoint custom_reader aurora-prod-cluster-custom-reader\n```\n\n [1]https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html#Aurora.Endpoints.Cluster ", "properties": { "arn": { "type": "string", @@ -503221,7 +506918,7 @@ } }, "aws:rds/optionGroup:OptionGroup": { - "description": "Provides an RDS DB option group resource. Documentation of the available options for various RDS engines can be found at:\n\n* [MariaDB Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MariaDB.Options.html)\n* [Microsoft SQL Server Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.html)\n* [MySQL Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.html)\n* [Oracle Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.html)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.OptionGroup(\"example\", {\n optionGroupDescription: \"Option Group\",\n engineName: \"sqlserver-ee\",\n majorEngineVersion: \"11.00\",\n options: [\n {\n optionName: \"Timezone\",\n optionSettings: [{\n name: \"TIME_ZONE\",\n value: \"UTC\",\n }],\n },\n {\n optionName: \"SQLSERVER_BACKUP_RESTORE\",\n optionSettings: [{\n name: \"IAM_ROLE_ARN\",\n value: aws_iam_role.example.arn,\n }],\n },\n {\n optionName: \"TDE\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.OptionGroup(\"example\",\n option_group_description=\"Option Group\",\n engine_name=\"sqlserver-ee\",\n major_engine_version=\"11.00\",\n options=[\n aws.rds.OptionGroupOptionArgs(\n option_name=\"Timezone\",\n option_settings=[aws.rds.OptionGroupOptionOptionSettingArgs(\n name=\"TIME_ZONE\",\n value=\"UTC\",\n )],\n ),\n aws.rds.OptionGroupOptionArgs(\n option_name=\"SQLSERVER_BACKUP_RESTORE\",\n option_settings=[aws.rds.OptionGroupOptionOptionSettingArgs(\n name=\"IAM_ROLE_ARN\",\n value=aws_iam_role[\"example\"][\"arn\"],\n )],\n ),\n aws.rds.OptionGroupOptionArgs(\n option_name=\"TDE\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.OptionGroup(\"example\", new()\n {\n OptionGroupDescription = \"Option Group\",\n EngineName = \"sqlserver-ee\",\n MajorEngineVersion = \"11.00\",\n Options = new[]\n {\n new Aws.Rds.Inputs.OptionGroupOptionArgs\n {\n OptionName = \"Timezone\",\n OptionSettings = new[]\n {\n new Aws.Rds.Inputs.OptionGroupOptionOptionSettingArgs\n {\n Name = \"TIME_ZONE\",\n Value = \"UTC\",\n },\n },\n },\n new Aws.Rds.Inputs.OptionGroupOptionArgs\n {\n OptionName = \"SQLSERVER_BACKUP_RESTORE\",\n OptionSettings = new[]\n {\n new Aws.Rds.Inputs.OptionGroupOptionOptionSettingArgs\n {\n Name = \"IAM_ROLE_ARN\",\n Value = aws_iam_role.Example.Arn,\n },\n },\n },\n new Aws.Rds.Inputs.OptionGroupOptionArgs\n {\n OptionName = \"TDE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\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 := rds.NewOptionGroup(ctx, \"example\", \u0026rds.OptionGroupArgs{\n\t\t\tOptionGroupDescription: pulumi.String(\"Option Group\"),\n\t\t\tEngineName: pulumi.String(\"sqlserver-ee\"),\n\t\t\tMajorEngineVersion: pulumi.String(\"11.00\"),\n\t\t\tOptions: rds.OptionGroupOptionArray{\n\t\t\t\t\u0026rds.OptionGroupOptionArgs{\n\t\t\t\t\tOptionName: pulumi.String(\"Timezone\"),\n\t\t\t\t\tOptionSettings: rds.OptionGroupOptionOptionSettingArray{\n\t\t\t\t\t\t\u0026rds.OptionGroupOptionOptionSettingArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"TIME_ZONE\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"UTC\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026rds.OptionGroupOptionArgs{\n\t\t\t\t\tOptionName: pulumi.String(\"SQLSERVER_BACKUP_RESTORE\"),\n\t\t\t\t\tOptionSettings: rds.OptionGroupOptionOptionSettingArray{\n\t\t\t\t\t\t\u0026rds.OptionGroupOptionOptionSettingArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"IAM_ROLE_ARN\"),\n\t\t\t\t\t\t\tValue: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026rds.OptionGroupOptionArgs{\n\t\t\t\t\tOptionName: pulumi.String(\"TDE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.OptionGroup;\nimport com.pulumi.aws.rds.OptionGroupArgs;\nimport com.pulumi.aws.rds.inputs.OptionGroupOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new OptionGroup(\"example\", OptionGroupArgs.builder() \n .optionGroupDescription(\"Option Group\")\n .engineName(\"sqlserver-ee\")\n .majorEngineVersion(\"11.00\")\n .options( \n OptionGroupOptionArgs.builder()\n .optionName(\"Timezone\")\n .optionSettings(OptionGroupOptionOptionSettingArgs.builder()\n .name(\"TIME_ZONE\")\n .value(\"UTC\")\n .build())\n .build(),\n OptionGroupOptionArgs.builder()\n .optionName(\"SQLSERVER_BACKUP_RESTORE\")\n .optionSettings(OptionGroupOptionOptionSettingArgs.builder()\n .name(\"IAM_ROLE_ARN\")\n .value(aws_iam_role.example().arn())\n .build())\n .build(),\n OptionGroupOptionArgs.builder()\n .optionName(\"TDE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:OptionGroup\n properties:\n optionGroupDescription: Option Group\n engineName: sqlserver-ee\n majorEngineVersion: 11.00\n options:\n - optionName: Timezone\n optionSettings:\n - name: TIME_ZONE\n value: UTC\n - optionName: SQLSERVER_BACKUP_RESTORE\n optionSettings:\n - name: IAM_ROLE_ARN\n value: ${aws_iam_role.example.arn}\n - optionName: TDE\n```\n\n\u003e **Note**: Any modifications to the `aws.rds.OptionGroup` are set to happen immediately as we default to applying immediately.\n\n\u003e **WARNING:** You can perform a destroy on a `aws.rds.OptionGroup`, as long as it is not associated with any Amazon RDS resource. An option group can be associated with a DB instance, a manual DB snapshot, or an automated DB snapshot.\n\nIf you try to delete an option group that is associated with an Amazon RDS resource, an error similar to the following is returned:\n\n\u003e An error occurred (InvalidOptionGroupStateFault) when calling the DeleteOptionGroup operation: The option group 'optionGroupName' cannot be deleted because it is in use.\n\nMore information about this can be found [here](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html#USER_WorkingWithOptionGroups.Delete).\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nDB Option groups can be imported using the `name`, e.g.,\n\n```sh\n $ pulumi import aws:rds/optionGroup:OptionGroup example mysql-option-group\n```\n\n ", + "description": "Provides an RDS DB option group resource. Documentation of the available options for various RDS engines can be found at:\n\n* [MariaDB Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MariaDB.Options.html)\n* [Microsoft SQL Server Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.html)\n* [MySQL Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.html)\n* [Oracle Options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.html)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.OptionGroup(\"example\", {\n optionGroupDescription: \"Option Group\",\n engineName: \"sqlserver-ee\",\n majorEngineVersion: \"11.00\",\n options: [\n {\n optionName: \"Timezone\",\n optionSettings: [{\n name: \"TIME_ZONE\",\n value: \"UTC\",\n }],\n },\n {\n optionName: \"SQLSERVER_BACKUP_RESTORE\",\n optionSettings: [{\n name: \"IAM_ROLE_ARN\",\n value: aws_iam_role.example.arn,\n }],\n },\n {\n optionName: \"TDE\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.OptionGroup(\"example\",\n option_group_description=\"Option Group\",\n engine_name=\"sqlserver-ee\",\n major_engine_version=\"11.00\",\n options=[\n aws.rds.OptionGroupOptionArgs(\n option_name=\"Timezone\",\n option_settings=[aws.rds.OptionGroupOptionOptionSettingArgs(\n name=\"TIME_ZONE\",\n value=\"UTC\",\n )],\n ),\n aws.rds.OptionGroupOptionArgs(\n option_name=\"SQLSERVER_BACKUP_RESTORE\",\n option_settings=[aws.rds.OptionGroupOptionOptionSettingArgs(\n name=\"IAM_ROLE_ARN\",\n value=aws_iam_role[\"example\"][\"arn\"],\n )],\n ),\n aws.rds.OptionGroupOptionArgs(\n option_name=\"TDE\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.OptionGroup(\"example\", new()\n {\n OptionGroupDescription = \"Option Group\",\n EngineName = \"sqlserver-ee\",\n MajorEngineVersion = \"11.00\",\n Options = new[]\n {\n new Aws.Rds.Inputs.OptionGroupOptionArgs\n {\n OptionName = \"Timezone\",\n OptionSettings = new[]\n {\n new Aws.Rds.Inputs.OptionGroupOptionOptionSettingArgs\n {\n Name = \"TIME_ZONE\",\n Value = \"UTC\",\n },\n },\n },\n new Aws.Rds.Inputs.OptionGroupOptionArgs\n {\n OptionName = \"SQLSERVER_BACKUP_RESTORE\",\n OptionSettings = new[]\n {\n new Aws.Rds.Inputs.OptionGroupOptionOptionSettingArgs\n {\n Name = \"IAM_ROLE_ARN\",\n Value = aws_iam_role.Example.Arn,\n },\n },\n },\n new Aws.Rds.Inputs.OptionGroupOptionArgs\n {\n OptionName = \"TDE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\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 := rds.NewOptionGroup(ctx, \"example\", \u0026rds.OptionGroupArgs{\n\t\t\tOptionGroupDescription: pulumi.String(\"Option Group\"),\n\t\t\tEngineName: pulumi.String(\"sqlserver-ee\"),\n\t\t\tMajorEngineVersion: pulumi.String(\"11.00\"),\n\t\t\tOptions: rds.OptionGroupOptionArray{\n\t\t\t\t\u0026rds.OptionGroupOptionArgs{\n\t\t\t\t\tOptionName: pulumi.String(\"Timezone\"),\n\t\t\t\t\tOptionSettings: rds.OptionGroupOptionOptionSettingArray{\n\t\t\t\t\t\t\u0026rds.OptionGroupOptionOptionSettingArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"TIME_ZONE\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"UTC\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026rds.OptionGroupOptionArgs{\n\t\t\t\t\tOptionName: pulumi.String(\"SQLSERVER_BACKUP_RESTORE\"),\n\t\t\t\t\tOptionSettings: rds.OptionGroupOptionOptionSettingArray{\n\t\t\t\t\t\t\u0026rds.OptionGroupOptionOptionSettingArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"IAM_ROLE_ARN\"),\n\t\t\t\t\t\t\tValue: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026rds.OptionGroupOptionArgs{\n\t\t\t\t\tOptionName: pulumi.String(\"TDE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.OptionGroup;\nimport com.pulumi.aws.rds.OptionGroupArgs;\nimport com.pulumi.aws.rds.inputs.OptionGroupOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new OptionGroup(\"example\", OptionGroupArgs.builder() \n .optionGroupDescription(\"Option Group\")\n .engineName(\"sqlserver-ee\")\n .majorEngineVersion(\"11.00\")\n .options( \n OptionGroupOptionArgs.builder()\n .optionName(\"Timezone\")\n .optionSettings(OptionGroupOptionOptionSettingArgs.builder()\n .name(\"TIME_ZONE\")\n .value(\"UTC\")\n .build())\n .build(),\n OptionGroupOptionArgs.builder()\n .optionName(\"SQLSERVER_BACKUP_RESTORE\")\n .optionSettings(OptionGroupOptionOptionSettingArgs.builder()\n .name(\"IAM_ROLE_ARN\")\n .value(aws_iam_role.example().arn())\n .build())\n .build(),\n OptionGroupOptionArgs.builder()\n .optionName(\"TDE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:OptionGroup\n properties:\n optionGroupDescription: Option Group\n engineName: sqlserver-ee\n majorEngineVersion: 11.00\n options:\n - optionName: Timezone\n optionSettings:\n - name: TIME_ZONE\n value: UTC\n - optionName: SQLSERVER_BACKUP_RESTORE\n optionSettings:\n - name: IAM_ROLE_ARN\n value: ${aws_iam_role.example.arn}\n - optionName: TDE\n```\n\n\u003e **Note:** Any modifications to the `aws.rds.OptionGroup` are set to happen immediately as we default to applying immediately.\n\n\u003e **WARNING:** You can perform a destroy on a `aws.rds.OptionGroup`, as long as it is not associated with any Amazon RDS resource. An option group can be associated with a DB instance, a manual DB snapshot, or an automated DB snapshot.\n\nIf you try to delete an option group that is associated with an Amazon RDS resource, an error similar to the following is returned:\n\n\u003e An error occurred (InvalidOptionGroupStateFault) when calling the DeleteOptionGroup operation: The option group 'optionGroupName' cannot be deleted because it is in use.\n\nMore information about this can be found [here](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html#USER_WorkingWithOptionGroups.Delete).\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nDB Option groups can be imported using the `name`, e.g.,\n\n```sh\n $ pulumi import aws:rds/optionGroup:OptionGroup example mysql-option-group\n```\n\n ", "properties": { "arn": { "type": "string", @@ -504126,6 +507823,225 @@ "type": "object" } }, + "aws:rds/reservedInstance:ReservedInstance": { + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.rds.getReservedInstanceOffering({\n dbInstanceClass: \"db.t2.micro\",\n duration: 31536000,\n multiAz: false,\n offeringType: \"All Upfront\",\n productDescription: \"mysql\",\n});\nconst example = new aws.rds.ReservedInstance(\"example\", {\n offeringId: test.then(test =\u003e test.offeringId),\n reservationId: \"optionalCustomReservationID\",\n instanceCount: 3,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_reserved_instance_offering(db_instance_class=\"db.t2.micro\",\n duration=31536000,\n multi_az=False,\n offering_type=\"All Upfront\",\n product_description=\"mysql\")\nexample = aws.rds.ReservedInstance(\"example\",\n offering_id=test.offering_id,\n reservation_id=\"optionalCustomReservationID\",\n instance_count=3)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetReservedInstanceOffering.Invoke(new()\n {\n DbInstanceClass = \"db.t2.micro\",\n Duration = 31536000,\n MultiAz = false,\n OfferingType = \"All Upfront\",\n ProductDescription = \"mysql\",\n });\n\n var example = new Aws.Rds.ReservedInstance(\"example\", new()\n {\n OfferingId = test.Apply(getReservedInstanceOfferingResult =\u003e getReservedInstanceOfferingResult.OfferingId),\n ReservationId = \"optionalCustomReservationID\",\n InstanceCount = 3,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := rds.GetReservedInstanceOffering(ctx, \u0026rds.GetReservedInstanceOfferingArgs{\n\t\t\tDbInstanceClass: \"db.t2.micro\",\n\t\t\tDuration: 31536000,\n\t\t\tMultiAz: false,\n\t\t\tOfferingType: \"All Upfront\",\n\t\t\tProductDescription: \"mysql\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewReservedInstance(ctx, \"example\", \u0026rds.ReservedInstanceArgs{\n\t\t\tOfferingId: pulumi.String(test.OfferingId),\n\t\t\tReservationId: pulumi.String(\"optionalCustomReservationID\"),\n\t\t\tInstanceCount: pulumi.Int(3),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetReservedInstanceOfferingArgs;\nimport com.pulumi.aws.rds.ReservedInstance;\nimport com.pulumi.aws.rds.ReservedInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getReservedInstanceOffering(GetReservedInstanceOfferingArgs.builder()\n .dbInstanceClass(\"db.t2.micro\")\n .duration(31536000)\n .multiAz(false)\n .offeringType(\"All Upfront\")\n .productDescription(\"mysql\")\n .build());\n\n var example = new ReservedInstance(\"example\", ReservedInstanceArgs.builder() \n .offeringId(test.applyValue(getReservedInstanceOfferingResult -\u003e getReservedInstanceOfferingResult.offeringId()))\n .reservationId(\"optionalCustomReservationID\")\n .instanceCount(3)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:ReservedInstance\n properties:\n offeringId: ${test.offeringId}\n reservationId: optionalCustomReservationID\n instanceCount: 3\nvariables:\n test:\n Fn::Invoke:\n Function: aws:rds:getReservedInstanceOffering\n Arguments:\n dbInstanceClass: db.t2.micro\n duration: 3.1536e+07\n multiAz: false\n offeringType: All Upfront\n productDescription: mysql\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nRDS DB Instance Reservations can be imported using the `instance_id`, e.g.,\n\n```sh\n $ pulumi import aws:rds/reservedInstance:ReservedInstance reservation_instance CustomReservationID\n```\n\n ", + "properties": { + "arn": { + "type": "string", + "description": "ARN for the reserved DB instance.\n" + }, + "currencyCode": { + "type": "string", + "description": "Currency code for the reserved DB instance.\n" + }, + "dbInstanceClass": { + "type": "string" + }, + "duration": { + "type": "integer", + "description": "Duration of the reservation in seconds.\n" + }, + "fixedPrice": { + "type": "number", + "description": "Fixed price charged for this reserved DB instance.\n" + }, + "instanceCount": { + "type": "integer", + "description": "Number of instances to reserve. Default value is `1`.\n" + }, + "leaseId": { + "type": "string", + "description": "Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance.\n" + }, + "multiAz": { + "type": "boolean", + "description": "Whether the reservation applies to Multi-AZ deployments.\n" + }, + "offeringId": { + "type": "string", + "description": "ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `aws.rds.getReservedInstanceOffering` data source.\n" + }, + "offeringType": { + "type": "string", + "description": "Offering type of this reserved DB instance.\n" + }, + "productDescription": { + "type": "string", + "description": "Description of the reserved DB instance.\n" + }, + "recurringCharges": { + "type": "array", + "items": { + "$ref": "#/types/aws:rds/ReservedInstanceRecurringCharge:ReservedInstanceRecurringCharge" + }, + "description": "Recurring price charged to run this reserved DB instance.\n" + }, + "reservationId": { + "type": "string" + }, + "startTime": { + "type": "string", + "description": "Time the reservation started.\n" + }, + "state": { + "type": "string", + "description": "State of the reserved DB instance.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "usagePrice": { + "type": "number", + "description": "Hourly price charged for this reserved DB instance.\n" + } + }, + "required": [ + "arn", + "currencyCode", + "dbInstanceClass", + "duration", + "fixedPrice", + "leaseId", + "multiAz", + "offeringId", + "offeringType", + "productDescription", + "recurringCharges", + "startTime", + "state", + "tagsAll", + "usagePrice" + ], + "inputProperties": { + "instanceCount": { + "type": "integer", + "description": "Number of instances to reserve. Default value is `1`.\n", + "willReplaceOnChanges": true + }, + "offeringId": { + "type": "string", + "description": "ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `aws.rds.getReservedInstanceOffering` data source.\n", + "willReplaceOnChanges": true + }, + "reservationId": { + "type": "string", + "willReplaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "requiredInputs": [ + "offeringId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ReservedInstance resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN for the reserved DB instance.\n" + }, + "currencyCode": { + "type": "string", + "description": "Currency code for the reserved DB instance.\n" + }, + "dbInstanceClass": { + "type": "string" + }, + "duration": { + "type": "integer", + "description": "Duration of the reservation in seconds.\n" + }, + "fixedPrice": { + "type": "number", + "description": "Fixed price charged for this reserved DB instance.\n" + }, + "instanceCount": { + "type": "integer", + "description": "Number of instances to reserve. Default value is `1`.\n", + "willReplaceOnChanges": true + }, + "leaseId": { + "type": "string", + "description": "Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance.\n" + }, + "multiAz": { + "type": "boolean", + "description": "Whether the reservation applies to Multi-AZ deployments.\n" + }, + "offeringId": { + "type": "string", + "description": "ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `aws.rds.getReservedInstanceOffering` data source.\n", + "willReplaceOnChanges": true + }, + "offeringType": { + "type": "string", + "description": "Offering type of this reserved DB instance.\n" + }, + "productDescription": { + "type": "string", + "description": "Description of the reserved DB instance.\n" + }, + "recurringCharges": { + "type": "array", + "items": { + "$ref": "#/types/aws:rds/ReservedInstanceRecurringCharge:ReservedInstanceRecurringCharge" + }, + "description": "Recurring price charged to run this reserved DB instance.\n" + }, + "reservationId": { + "type": "string", + "willReplaceOnChanges": true + }, + "startTime": { + "type": "string", + "description": "Time the reservation started.\n" + }, + "state": { + "type": "string", + "description": "State of the reserved DB instance.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "usagePrice": { + "type": "number", + "description": "Hourly price charged for this reserved DB instance.\n" + } + }, + "type": "object" + } + }, "aws:rds/roleAssociation:RoleAssociation": { "description": "Manages an RDS DB Instance association with an IAM Role. Example use cases:\n\n* [Amazon RDS Oracle integration with Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html)\n* [Importing Amazon S3 Data into an RDS PostgreSQL DB Instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PostgreSQL.S3Import.html)\n\n\u003e To manage the RDS DB Instance IAM Role for [Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html), see the `aws.rds.Instance` resource `monitoring_role_arn` argument instead.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.RoleAssociation(\"example\", {\n dbInstanceIdentifier: aws_db_instance.example.id,\n featureName: \"S3_INTEGRATION\",\n roleArn: aws_iam_role.example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.RoleAssociation(\"example\",\n db_instance_identifier=aws_db_instance[\"example\"][\"id\"],\n feature_name=\"S3_INTEGRATION\",\n role_arn=aws_iam_role[\"example\"][\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.RoleAssociation(\"example\", new()\n {\n DbInstanceIdentifier = aws_db_instance.Example.Id,\n FeatureName = \"S3_INTEGRATION\",\n RoleArn = aws_iam_role.Example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\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 := rds.NewRoleAssociation(ctx, \"example\", \u0026rds.RoleAssociationArgs{\n\t\t\tDbInstanceIdentifier: pulumi.Any(aws_db_instance.Example.Id),\n\t\t\tFeatureName: pulumi.String(\"S3_INTEGRATION\"),\n\t\t\tRoleArn: pulumi.Any(aws_iam_role.Example.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RoleAssociation;\nimport com.pulumi.aws.rds.RoleAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RoleAssociation(\"example\", RoleAssociationArgs.builder() \n .dbInstanceIdentifier(aws_db_instance.example().id())\n .featureName(\"S3_INTEGRATION\")\n .roleArn(aws_iam_role.example().arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:RoleAssociation\n properties:\n dbInstanceIdentifier: ${aws_db_instance.example.id}\n featureName: S3_INTEGRATION\n roleArn: ${aws_iam_role.example.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n`aws_db_instance_role_association` can be imported using the DB Instance Identifier and IAM Role ARN separated by a comma (`,`), e.g.,\n\n```sh\n $ pulumi import aws:rds/roleAssociation:RoleAssociation example my-db-instance,arn:aws:iam::123456789012:role/my-role\n```\n\n ", "properties": { @@ -516590,6 +520506,129 @@ "type": "object" } }, + "aws:s3control/storageLensConfiguration:StorageLensConfiguration": { + "description": "Provides a resource to manage an S3 Storage Lens configuration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.s3control.StorageLensConfiguration(\"example\", {\n configId: \"example-1\",\n storageLensConfiguration: {\n enabled: true,\n accountLevel: {\n activityMetrics: {\n enabled: true,\n },\n bucketLevel: {\n activityMetrics: {\n enabled: true,\n },\n },\n },\n dataExport: {\n cloudWatchMetrics: {\n enabled: true,\n },\n s3BucketDestination: {\n accountId: current.then(current =\u003e current.accountId),\n arn: aws_s3_bucket.target.arn,\n format: \"CSV\",\n outputSchemaVersion: \"V_1\",\n encryption: {\n sseS3s: [{}],\n },\n },\n },\n exclude: {\n buckets: [\n aws_s3_bucket.b1.arn,\n aws_s3_bucket.b2.arn,\n ],\n regions: [\"us-east-2\"],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.s3control.StorageLensConfiguration(\"example\",\n config_id=\"example-1\",\n storage_lens_configuration=aws.s3control.StorageLensConfigurationStorageLensConfigurationArgs(\n enabled=True,\n account_level=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs(\n activity_metrics=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs(\n enabled=True,\n ),\n bucket_level=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs(\n activity_metrics=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs(\n enabled=True,\n ),\n ),\n ),\n data_export=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportArgs(\n cloud_watch_metrics=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs(\n enabled=True,\n ),\n s3_bucket_destination=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs(\n account_id=current.account_id,\n arn=aws_s3_bucket[\"target\"][\"arn\"],\n format=\"CSV\",\n output_schema_version=\"V_1\",\n encryption=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs(\n sse_s3s=[aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args()],\n ),\n ),\n ),\n exclude=aws.s3control.StorageLensConfigurationStorageLensConfigurationExcludeArgs(\n buckets=[\n aws_s3_bucket[\"b1\"][\"arn\"],\n aws_s3_bucket[\"b2\"][\"arn\"],\n ],\n regions=[\"us-east-2\"],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.S3Control.StorageLensConfiguration(\"example\", new()\n {\n ConfigId = \"example-1\",\n StorageLensConfigurationDetail = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationArgs\n {\n Enabled = true,\n AccountLevel = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs\n {\n ActivityMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs\n {\n Enabled = true,\n },\n BucketLevel = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs\n {\n ActivityMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs\n {\n Enabled = true,\n },\n },\n },\n DataExport = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportArgs\n {\n CloudWatchMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs\n {\n Enabled = true,\n },\n S3BucketDestination = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs\n {\n AccountId = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n Arn = aws_s3_bucket.Target.Arn,\n Format = \"CSV\",\n OutputSchemaVersion = \"V_1\",\n Encryption = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs\n {\n SseS3s = new[]\n {\n ,\n },\n },\n },\n },\n Exclude = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationExcludeArgs\n {\n Buckets = new[]\n {\n aws_s3_bucket.B1.Arn,\n aws_s3_bucket.B2.Arn,\n },\n Regions = new[]\n {\n \"us-east-2\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3control\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3control.NewStorageLensConfiguration(ctx, \"example\", \u0026s3control.StorageLensConfigurationArgs{\n\t\t\tConfigId: pulumi.String(\"example-1\"),\n\t\t\tStorageLensConfiguration: \u0026s3control.StorageLensConfigurationStorageLensConfigurationArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tAccountLevel: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs{\n\t\t\t\t\tActivityMetrics: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tBucketLevel: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs{\n\t\t\t\t\t\tActivityMetrics: \u0026s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDataExport: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportArgs{\n\t\t\t\t\tCloudWatchMetrics: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tS3BucketDestination: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs{\n\t\t\t\t\t\tAccountId: pulumi.String(current.AccountId),\n\t\t\t\t\t\tArn: pulumi.Any(aws_s3_bucket.Target.Arn),\n\t\t\t\t\t\tFormat: pulumi.String(\"CSV\"),\n\t\t\t\t\t\tOutputSchemaVersion: pulumi.String(\"V_1\"),\n\t\t\t\t\t\tEncryption: \u0026s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs{\n\t\t\t\t\t\t\tSseS3s: s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Array{\n\t\t\t\t\t\t\t\tnil,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tExclude: \u0026s3control.StorageLensConfigurationStorageLensConfigurationExcludeArgs{\n\t\t\t\t\tBuckets: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.Any(aws_s3_bucket.B1.Arn),\n\t\t\t\t\t\tpulumi.Any(aws_s3_bucket.B2.Arn),\n\t\t\t\t\t},\n\t\t\t\t\tRegions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"us-east-2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.s3control.StorageLensConfiguration;\nimport com.pulumi.aws.s3control.StorageLensConfigurationArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs;\nimport com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationExcludeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new StorageLensConfiguration(\"example\", StorageLensConfigurationArgs.builder() \n .configId(\"example-1\")\n .storageLensConfiguration(StorageLensConfigurationStorageLensConfigurationArgs.builder()\n .enabled(true)\n .accountLevel(StorageLensConfigurationStorageLensConfigurationAccountLevelArgs.builder()\n .activityMetrics(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs.builder()\n .enabled(true)\n .build())\n .bucketLevel(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs.builder()\n .activityMetrics(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs.builder()\n .enabled(true)\n .build())\n .build())\n .build())\n .dataExport(StorageLensConfigurationStorageLensConfigurationDataExportArgs.builder()\n .cloudWatchMetrics(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs.builder()\n .enabled(true)\n .build())\n .s3BucketDestination(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs.builder()\n .accountId(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .arn(aws_s3_bucket.target().arn())\n .format(\"CSV\")\n .outputSchemaVersion(\"V_1\")\n .encryption(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs.builder()\n .sseS3s()\n .build())\n .build())\n .build())\n .exclude(StorageLensConfigurationStorageLensConfigurationExcludeArgs.builder()\n .buckets( \n aws_s3_bucket.b1().arn(),\n aws_s3_bucket.b2().arn())\n .regions(\"us-east-2\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3control:StorageLensConfiguration\n properties:\n configId: example-1\n storageLensConfiguration:\n enabled: true\n accountLevel:\n activityMetrics:\n enabled: true\n bucketLevel:\n activityMetrics:\n enabled: true\n dataExport:\n cloudWatchMetrics:\n enabled: true\n s3BucketDestination:\n accountId: ${current.accountId}\n arn: ${aws_s3_bucket.target.arn}\n format: CSV\n outputSchemaVersion: V_1\n encryption:\n sseS3s:\n - {}\n exclude:\n buckets:\n - ${aws_s3_bucket.b1.arn}\n - ${aws_s3_bucket.b2.arn}\n regions:\n - us-east-2\nvariables:\n current:\n Fn::Invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nS3 Storage Lens configurations can be imported using the `account_id` and `config_id`, separated by a colon (`:`), e.g.\n\n```sh\n $ pulumi import aws:s3control/storageLensConfiguration:StorageLensConfiguration example 123456789012:example-1\n```\n\n ", + "properties": { + "accountId": { + "type": "string", + "description": "The account ID of the owner of the S3 Storage Lens metrics export bucket.\n" + }, + "arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the bucket.\n" + }, + "configId": { + "type": "string", + "description": "The ID of the S3 Storage Lens configuration.\n" + }, + "storageLensConfiguration": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfiguration:StorageLensConfigurationStorageLensConfiguration", + "description": "The S3 Storage Lens configuration. See Storage Lens Configuration below for more details.\n", + "language": { + "csharp": { + "name": "StorageLensConfigurationDetail" + } + } + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "required": [ + "accountId", + "arn", + "configId", + "storageLensConfiguration", + "tagsAll" + ], + "inputProperties": { + "accountId": { + "type": "string", + "description": "The account ID of the owner of the S3 Storage Lens metrics export bucket.\n", + "willReplaceOnChanges": true + }, + "configId": { + "type": "string", + "description": "The ID of the S3 Storage Lens configuration.\n", + "willReplaceOnChanges": true + }, + "storageLensConfiguration": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfiguration:StorageLensConfigurationStorageLensConfiguration", + "description": "The S3 Storage Lens configuration. See Storage Lens Configuration below for more details.\n", + "language": { + "csharp": { + "name": "StorageLensConfigurationDetail" + } + } + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "requiredInputs": [ + "configId", + "storageLensConfiguration" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering StorageLensConfiguration resources.\n", + "properties": { + "accountId": { + "type": "string", + "description": "The account ID of the owner of the S3 Storage Lens metrics export bucket.\n", + "willReplaceOnChanges": true + }, + "arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the bucket.\n" + }, + "configId": { + "type": "string", + "description": "The ID of the S3 Storage Lens configuration.\n", + "willReplaceOnChanges": true + }, + "storageLensConfiguration": { + "$ref": "#/types/aws:s3control/StorageLensConfigurationStorageLensConfiguration:StorageLensConfigurationStorageLensConfiguration", + "description": "The S3 Storage Lens configuration. See Storage Lens Configuration below for more details.\n", + "language": { + "csharp": { + "name": "StorageLensConfigurationDetail" + } + } + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "type": "object" + } + }, "aws:s3outposts/endpoint:Endpoint": { "description": "Provides a resource to manage an S3 Outposts Endpoint.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.s3outposts.Endpoint(\"example\", {\n outpostId: data.aws_outposts_outpost.example.id,\n securityGroupId: aws_security_group.example.id,\n subnetId: aws_subnet.example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3outposts.Endpoint(\"example\",\n outpost_id=data[\"aws_outposts_outpost\"][\"example\"][\"id\"],\n security_group_id=aws_security_group[\"example\"][\"id\"],\n subnet_id=aws_subnet[\"example\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.S3Outposts.Endpoint(\"example\", new()\n {\n OutpostId = data.Aws_outposts_outpost.Example.Id,\n SecurityGroupId = aws_security_group.Example.Id,\n SubnetId = aws_subnet.Example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3outposts\"\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 := s3outposts.NewEndpoint(ctx, \"example\", \u0026s3outposts.EndpointArgs{\n\t\t\tOutpostId: pulumi.Any(data.Aws_outposts_outpost.Example.Id),\n\t\t\tSecurityGroupId: pulumi.Any(aws_security_group.Example.Id),\n\t\t\tSubnetId: pulumi.Any(aws_subnet.Example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3outposts.Endpoint;\nimport com.pulumi.aws.s3outposts.EndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Endpoint(\"example\", EndpointArgs.builder() \n .outpostId(data.aws_outposts_outpost().example().id())\n .securityGroupId(aws_security_group.example().id())\n .subnetId(aws_subnet.example().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3outposts:Endpoint\n properties:\n outpostId: ${data.aws_outposts_outpost.example.id}\n securityGroupId: ${aws_security_group.example.id}\n subnetId: ${aws_subnet.example.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nS3 Outposts Endpoints can be imported using Amazon Resource Name (ARN), EC2 Security Group identifier, and EC2 Subnet identifier, separated by commas (`,`) e.g.,\n\n```sh\n $ pulumi import aws:s3outposts/endpoint:Endpoint example arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-12345678/endpoint/0123456789abcdef,sg-12345678,subnet-12345678\n```\n\n ", "properties": { @@ -519621,7 +523660,7 @@ } }, "aws:schemas/discoverer:Discoverer": { - "description": "Provides an EventBridge Schema Discoverer resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst messenger = new aws.cloudwatch.EventBus(\"messenger\", {});\nconst test = new aws.schemas.Discoverer(\"test\", {\n sourceArn: messenger.arn,\n description: \"Auto discover event schemas\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmessenger = aws.cloudwatch.EventBus(\"messenger\")\ntest = aws.schemas.Discoverer(\"test\",\n source_arn=messenger.arn,\n description=\"Auto discover event schemas\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var messenger = new Aws.CloudWatch.EventBus(\"messenger\");\n\n var test = new Aws.Schemas.Discoverer(\"test\", new()\n {\n SourceArn = messenger.Arn,\n Description = \"Auto discover event schemas\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/schemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmessenger, err := cloudwatch.NewEventBus(ctx, \"messenger\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = schemas.NewDiscoverer(ctx, \"test\", \u0026schemas.DiscovererArgs{\n\t\t\tSourceArn: messenger.Arn,\n\t\t\tDescription: pulumi.String(\"Auto discover event schemas\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.schemas.Discoverer;\nimport com.pulumi.aws.schemas.DiscovererArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var messenger = new EventBus(\"messenger\");\n\n var test = new Discoverer(\"test\", DiscovererArgs.builder() \n .sourceArn(messenger.arn())\n .description(\"Auto discover event schemas\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n messenger:\n type: aws:cloudwatch:EventBus\n test:\n type: aws:schemas:Discoverer\n properties:\n sourceArn: ${messenger.arn}\n description: Auto discover event schemas\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nEventBridge discoverers can be imported using the `id`, e.g., console\n\n```sh\n $ pulumi import aws:schemas/discoverer:Discoverer test 123\n```\n\n ", + "description": "Provides an EventBridge Schema Discoverer resource.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst messenger = new aws.cloudwatch.EventBus(\"messenger\", {});\nconst test = new aws.schemas.Discoverer(\"test\", {\n sourceArn: messenger.arn,\n description: \"Auto discover event schemas\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmessenger = aws.cloudwatch.EventBus(\"messenger\")\ntest = aws.schemas.Discoverer(\"test\",\n source_arn=messenger.arn,\n description=\"Auto discover event schemas\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var messenger = new Aws.CloudWatch.EventBus(\"messenger\");\n\n var test = new Aws.Schemas.Discoverer(\"test\", new()\n {\n SourceArn = messenger.Arn,\n Description = \"Auto discover event schemas\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/schemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmessenger, err := cloudwatch.NewEventBus(ctx, \"messenger\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = schemas.NewDiscoverer(ctx, \"test\", \u0026schemas.DiscovererArgs{\n\t\t\tSourceArn: messenger.Arn,\n\t\t\tDescription: pulumi.String(\"Auto discover event schemas\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.EventBus;\nimport com.pulumi.aws.schemas.Discoverer;\nimport com.pulumi.aws.schemas.DiscovererArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var messenger = new EventBus(\"messenger\");\n\n var test = new Discoverer(\"test\", DiscovererArgs.builder() \n .sourceArn(messenger.arn())\n .description(\"Auto discover event schemas\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n messenger:\n type: aws:cloudwatch:EventBus\n test:\n type: aws:schemas:Discoverer\n properties:\n sourceArn: ${messenger.arn}\n description: Auto discover event schemas\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nEventBridge discoverers can be imported using the `id`, e.g., console\n\n```sh\n $ pulumi import aws:schemas/discoverer:Discoverer test 123\n```\n\n ", "properties": { "arn": { "type": "string", @@ -521661,7 +525700,7 @@ } }, "aws:servicecatalog/product:Product": { - "description": "Manages a Service Catalog Product.\n\n\u003e **NOTE:** The user or role that uses this resources must have the `cloudformation:GetTemplate` IAM policy permission. This policy permission is required when using the `template_physical_id` argument.\n\n\u003e A \"provisioning artifact\" is also referred to as a \"version.\" A \"distributor\" is also referred to as a \"vendor.\"\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.Product;\nimport com.pulumi.aws.servicecatalog.ProductArgs;\nimport com.pulumi.aws.servicecatalog.inputs.ProductProvisioningArtifactParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Product(\"example\", ProductArgs.builder() \n .owner(aws_security_group.example().id())\n .type(aws_subnet.main().id())\n .provisioningArtifactParameters(ProductProvisioningArtifactParametersArgs.builder()\n .templateUrl(\"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\")\n .build())\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:Product\n properties:\n owner:\n - ${aws_security_group.example.id}\n type: ${aws_subnet.main.id}\n provisioningArtifactParameters:\n templateUrl: https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\n tags:\n foo: bar\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n`aws_servicecatalog_product` can be imported using the product ID, e.g.,\n\n```sh\n $ pulumi import aws:servicecatalog/product:Product example prod-dnigbtea24ste\n```\n\n ", + "description": "Manages a Service Catalog Product.\n\n\u003e **NOTE:** The user or role that uses this resources must have the `cloudformation:GetTemplate` IAM policy permission. This policy permission is required when using the `template_physical_id` argument.\n\n\u003e A \"provisioning artifact\" is also referred to as a \"version.\" A \"distributor\" is also referred to as a \"vendor.\"\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.Product(\"example\", {\n owner: \"example-owner\",\n provisioningArtifactParameters: {\n templateUrl: \"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\",\n },\n tags: {\n foo: \"bar\",\n },\n type: \"CLOUD_FORMATION_TEMPLATE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.Product(\"example\",\n owner=\"example-owner\",\n provisioning_artifact_parameters=aws.servicecatalog.ProductProvisioningArtifactParametersArgs(\n template_url=\"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\",\n ),\n tags={\n \"foo\": \"bar\",\n },\n type=\"CLOUD_FORMATION_TEMPLATE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.Product(\"example\", new()\n {\n Owner = \"example-owner\",\n ProvisioningArtifactParameters = new Aws.ServiceCatalog.Inputs.ProductProvisioningArtifactParametersArgs\n {\n TemplateUrl = \"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\",\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n Type = \"CLOUD_FORMATION_TEMPLATE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/servicecatalog\"\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 := servicecatalog.NewProduct(ctx, \"example\", \u0026servicecatalog.ProductArgs{\n\t\t\tOwner: pulumi.String(\"example-owner\"),\n\t\t\tProvisioningArtifactParameters: \u0026servicecatalog.ProductProvisioningArtifactParametersArgs{\n\t\t\t\tTemplateUrl: pulumi.String(\"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"CLOUD_FORMATION_TEMPLATE\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.Product;\nimport com.pulumi.aws.servicecatalog.ProductArgs;\nimport com.pulumi.aws.servicecatalog.inputs.ProductProvisioningArtifactParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Product(\"example\", ProductArgs.builder() \n .owner(\"example-owner\")\n .provisioningArtifactParameters(ProductProvisioningArtifactParametersArgs.builder()\n .templateUrl(\"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\")\n .build())\n .tags(Map.of(\"foo\", \"bar\"))\n .type(\"CLOUD_FORMATION_TEMPLATE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:Product\n properties:\n owner: example-owner\n provisioningArtifactParameters:\n templateUrl: https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json\n tags:\n foo: bar\n type: CLOUD_FORMATION_TEMPLATE\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n`aws_servicecatalog_product` can be imported using the product ID, e.g.,\n\n```sh\n $ pulumi import aws:servicecatalog/product:Product example prod-dnigbtea24ste\n```\n\n ", "properties": { "acceptLanguage": { "type": "string", @@ -523579,7 +527618,7 @@ ] }, "aws:ses/domainDkim:DomainDkim": { - "description": "Provides an SES domain DKIM generation resource.\n\nDomain ownership needs to be confirmed first using `aws.ses.DomainIdentity` resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleDomainIdentity = new aws.ses.DomainIdentity(\"exampleDomainIdentity\", {domain: \"example.com\"});\nconst exampleDomainDkim = new aws.ses.DomainDkim(\"exampleDomainDkim\", {domain: exampleDomainIdentity.domain});\nconst exampleAmazonsesDkimRecord: aws.route53.Record[];\nfor (const range = {value: 0}; range.value \u003c 3; range.value++) {\n exampleAmazonsesDkimRecord.push(new aws.route53.Record(`exampleAmazonsesDkimRecord-${range.value}`, {\n zoneId: \"ABCDEFGHIJ123\",\n name: exampleDomainDkim.dkimTokens[range.value].apply(dkimTokens =\u003e `${dkimTokens}._domainkey`),\n type: \"CNAME\",\n ttl: 600,\n records: [exampleDomainDkim.dkimTokens[range.value].apply(dkimTokens =\u003e `${dkimTokens}.dkim.amazonses.com`)],\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_domain_identity = aws.ses.DomainIdentity(\"exampleDomainIdentity\", domain=\"example.com\")\nexample_domain_dkim = aws.ses.DomainDkim(\"exampleDomainDkim\", domain=example_domain_identity.domain)\nexample_amazonses_dkim_record = []\nfor range in [{\"value\": i} for i in range(0, 3)]:\n example_amazonses_dkim_record.append(aws.route53.Record(f\"exampleAmazonsesDkimRecord-{range['value']}\",\n zone_id=\"ABCDEFGHIJ123\",\n name=example_domain_dkim.dkim_tokens[range[\"value\"]].apply(lambda dkim_tokens: f\"{dkim_tokens}._domainkey\"),\n type=\"CNAME\",\n ttl=600,\n records=[example_domain_dkim.dkim_tokens[range[\"value\"]].apply(lambda dkim_tokens: f\"{dkim_tokens}.dkim.amazonses.com\")]))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDomainIdentity = new Aws.Ses.DomainIdentity(\"exampleDomainIdentity\", new()\n {\n Domain = \"example.com\",\n });\n\n var exampleDomainDkim = new Aws.Ses.DomainDkim(\"exampleDomainDkim\", new()\n {\n Domain = exampleDomainIdentity.Domain,\n });\n\n var exampleAmazonsesDkimRecord = new List\u003cAws.Route53.Record\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 3; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleAmazonsesDkimRecord.Add(new Aws.Route53.Record($\"exampleAmazonsesDkimRecord-{range.Value}\", new()\n {\n ZoneId = \"ABCDEFGHIJ123\",\n Name = exampleDomainDkim.DkimTokens[range.Value].Apply(dkimTokens =\u003e $\"{dkimTokens}._domainkey\"),\n Type = \"CNAME\",\n Ttl = 600,\n Records = new[]\n {\n exampleDomainDkim.DkimTokens[range.Value].Apply(dkimTokens =\u003e $\"{dkimTokens}.dkim.amazonses.com\"),\n },\n }));\n }\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.ses.DomainDkim;\nimport com.pulumi.aws.ses.DomainDkimArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleDomainIdentity = new DomainIdentity(\"exampleDomainIdentity\", DomainIdentityArgs.builder() \n .domain(\"example.com\")\n .build());\n\n var exampleDomainDkim = new DomainDkim(\"exampleDomainDkim\", DomainDkimArgs.builder() \n .domain(exampleDomainIdentity.domain())\n .build());\n\n for (var i = 0; i \u003c 3; i++) {\n new Record(\"exampleAmazonsesDkimRecord-\" + i, RecordArgs.builder() \n .zoneId(\"ABCDEFGHIJ123\")\n .name(exampleDomainDkim.dkimTokens()[range.value()].applyValue(dkimTokens -\u003e String.format(\"%s._domainkey\", dkimTokens)))\n .type(\"CNAME\")\n .ttl(\"600\")\n .records(exampleDomainDkim.dkimTokens()[range.value()].applyValue(dkimTokens -\u003e String.format(\"%s.dkim.amazonses.com\", dkimTokens)))\n .build());\n\n \n}\n }\n}\n```\n```yaml\nresources:\n exampleDomainIdentity:\n type: aws:ses:DomainIdentity\n properties:\n domain: example.com\n exampleDomainDkim:\n type: aws:ses:DomainDkim\n properties:\n domain: ${exampleDomainIdentity.domain}\n exampleAmazonsesDkimRecord:\n type: aws:route53:Record\n properties:\n zoneId: ABCDEFGHIJ123\n name:\n Fn::Join:\n -\n - - Fn::Select:\n - ${range.value}\n - ${exampleDomainDkim.dkimTokens}\n - ._domainkey\n type: CNAME\n ttl: 600\n records:\n - Fn::Join:\n -\n - - Fn::Select:\n - ${range.value}\n - ${exampleDomainDkim.dkimTokens}\n - .dkim.amazonses.com\n options: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nDKIM tokens can be imported using the `domain` attribute, e.g.,\n\n```sh\n $ pulumi import aws:ses/domainDkim:DomainDkim example example.com\n```\n\n ", + "description": "Provides an SES domain DKIM generation resource.\n\nDomain ownership needs to be confirmed first using `aws.ses.DomainIdentity` resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleDomainIdentity = new aws.ses.DomainIdentity(\"exampleDomainIdentity\", {domain: \"example.com\"});\nconst exampleDomainDkim = new aws.ses.DomainDkim(\"exampleDomainDkim\", {domain: exampleDomainIdentity.domain});\nconst exampleAmazonsesDkimRecord: aws.route53.Record[];\nfor (const range = {value: 0}; range.value \u003c 3; range.value++) {\n exampleAmazonsesDkimRecord.push(new aws.route53.Record(`exampleAmazonsesDkimRecord-${range.value}`, {\n zoneId: \"ABCDEFGHIJ123\",\n name: pulumi.interpolate`${exampleDomainDkim.dkimTokens}._domainkey`,\n type: \"CNAME\",\n ttl: 600,\n records: [pulumi.interpolate`${exampleDomainDkim.dkimTokens}.dkim.amazonses.com`],\n }));\n}\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_domain_identity = aws.ses.DomainIdentity(\"exampleDomainIdentity\", domain=\"example.com\")\nexample_domain_dkim = aws.ses.DomainDkim(\"exampleDomainDkim\", domain=example_domain_identity.domain)\nexample_amazonses_dkim_record = []\nfor range in [{\"value\": i} for i in range(0, 3)]:\n example_amazonses_dkim_record.append(aws.route53.Record(f\"exampleAmazonsesDkimRecord-{range['value']}\",\n zone_id=\"ABCDEFGHIJ123\",\n name=example_domain_dkim.dkim_tokens.apply(lambda dkim_tokens: f\"{dkim_tokens[range['value']]}._domainkey\"),\n type=\"CNAME\",\n ttl=600,\n records=[example_domain_dkim.dkim_tokens.apply(lambda dkim_tokens: f\"{dkim_tokens[range['value']]}.dkim.amazonses.com\")]))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDomainIdentity = new Aws.Ses.DomainIdentity(\"exampleDomainIdentity\", new()\n {\n Domain = \"example.com\",\n });\n\n var exampleDomainDkim = new Aws.Ses.DomainDkim(\"exampleDomainDkim\", new()\n {\n Domain = exampleDomainIdentity.Domain,\n });\n\n var exampleAmazonsesDkimRecord = new List\u003cAws.Route53.Record\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 3; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleAmazonsesDkimRecord.Add(new Aws.Route53.Record($\"exampleAmazonsesDkimRecord-{range.Value}\", new()\n {\n ZoneId = \"ABCDEFGHIJ123\",\n Name = exampleDomainDkim.DkimTokens.Apply(dkimTokens =\u003e $\"{dkimTokens[range.Value]}._domainkey\"),\n Type = \"CNAME\",\n Ttl = 600,\n Records = new[]\n {\n exampleDomainDkim.DkimTokens.Apply(dkimTokens =\u003e $\"{dkimTokens[range.Value]}.dkim.amazonses.com\"),\n },\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/route53\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDomainIdentity, err := ses.NewDomainIdentity(ctx, \"exampleDomainIdentity\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDomainDkim, err := ses.NewDomainDkim(ctx, \"exampleDomainDkim\", \u0026ses.DomainDkimArgs{\n\t\t\tDomain: exampleDomainIdentity.Domain,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleAmazonsesDkimRecord []*route53.Record\n\t\tfor key0, val0 := range 3 {\n\t\t\t__res, err := route53.NewRecord(ctx, fmt.Sprintf(\"exampleAmazonsesDkimRecord-%v\", key0), \u0026route53.RecordArgs{\n\t\t\t\tZoneId: pulumi.String(\"ABCDEFGHIJ123\"),\n\t\t\t\tName: exampleDomainDkim.DkimTokens.ApplyT(func(dkimTokens []string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"%v._domainkey\", dkimTokens[val0]), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tType: pulumi.String(\"CNAME\"),\n\t\t\t\tTtl: pulumi.Int(600),\n\t\t\t\tRecords: pulumi.StringArray{\n\t\t\t\t\texampleDomainDkim.DkimTokens.ApplyT(func(dkimTokens []string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"%v.dkim.amazonses.com\", dkimTokens[val0]), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleAmazonsesDkimRecord = append(exampleAmazonsesDkimRecord, __res)\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.ses.DomainDkim;\nimport com.pulumi.aws.ses.DomainDkimArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleDomainIdentity = new DomainIdentity(\"exampleDomainIdentity\", DomainIdentityArgs.builder() \n .domain(\"example.com\")\n .build());\n\n var exampleDomainDkim = new DomainDkim(\"exampleDomainDkim\", DomainDkimArgs.builder() \n .domain(exampleDomainIdentity.domain())\n .build());\n\n for (var i = 0; i \u003c 3; i++) {\n new Record(\"exampleAmazonsesDkimRecord-\" + i, RecordArgs.builder() \n .zoneId(\"ABCDEFGHIJ123\")\n .name(exampleDomainDkim.dkimTokens().applyValue(dkimTokens -\u003e String.format(\"%s._domainkey\", dkimTokens[range.value()])))\n .type(\"CNAME\")\n .ttl(\"600\")\n .records(exampleDomainDkim.dkimTokens().applyValue(dkimTokens -\u003e String.format(\"%s.dkim.amazonses.com\", dkimTokens[range.value()])))\n .build());\n\n \n}\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nDKIM tokens can be imported using the `domain` attribute, e.g.,\n\n```sh\n $ pulumi import aws:ses/domainDkim:DomainDkim example example.com\n```\n\n ", "properties": { "dkimTokens": { "type": "array", @@ -524566,6 +528605,147 @@ "type": "object" } }, + "aws:sesv2/configurationSet:ConfigurationSet": { + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {\n configurationSetName: \"example\",\n deliveryOptions: {\n tlsPolicy: \"REQUIRE\",\n },\n reputationOptions: {\n reputationMetricsEnabled: false,\n },\n sendigOptions: [{\n sendingEnabled: true,\n }],\n suppressionOptions: {\n suppressedReasons: [\n \"BOUNCE\",\n \"COMPLAINT\",\n ],\n },\n trackingOptions: {\n customRedirectDomain: \"example.com\",\n },\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetDeliveryOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetReputationOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetSuppressionOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetTrackingOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ConfigurationSet(\"example\", ConfigurationSetArgs.builder() \n .configurationSetName(\"example\")\n .deliveryOptions(ConfigurationSetDeliveryOptionsArgs.builder()\n .tlsPolicy(\"REQUIRE\")\n .build())\n .reputationOptions(ConfigurationSetReputationOptionsArgs.builder()\n .reputationMetricsEnabled(false)\n .build())\n .sendigOptions(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .suppressionOptions(ConfigurationSetSuppressionOptionsArgs.builder()\n .suppressedReasons( \n \"BOUNCE\",\n \"COMPLAINT\")\n .build())\n .trackingOptions(ConfigurationSetTrackingOptionsArgs.builder()\n .customRedirectDomain(\"example.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n deliveryOptions:\n tlsPolicy: REQUIRE\n reputationOptions:\n reputationMetricsEnabled: false\n sendigOptions:\n - sendingEnabled: true\n suppressionOptions:\n suppressedReasons:\n - BOUNCE\n - COMPLAINT\n trackingOptions:\n customRedirectDomain: example.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nSESv2 (Simple Email V2) Configuration Set can be imported using the `configuration_set_name`, e.g.,\n\n```sh\n $ pulumi import aws:sesv2/configurationSet:ConfigurationSet example example\n```\n\n ", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the Configuration Set.\n" + }, + "configurationSetName": { + "type": "string", + "description": "The name of the configuration set.\n" + }, + "deliveryOptions": { + "$ref": "#/types/aws:sesv2/ConfigurationSetDeliveryOptions:ConfigurationSetDeliveryOptions", + "description": "An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set.\n" + }, + "reputationOptions": { + "$ref": "#/types/aws:sesv2/ConfigurationSetReputationOptions:ConfigurationSetReputationOptions", + "description": "An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set.\n" + }, + "sendingOptions": { + "$ref": "#/types/aws:sesv2/ConfigurationSetSendingOptions:ConfigurationSetSendingOptions", + "description": "An object that defines whether or not Amazon SES can send email that you send using the configuration set.\n" + }, + "suppressionOptions": { + "$ref": "#/types/aws:sesv2/ConfigurationSetSuppressionOptions:ConfigurationSetSuppressionOptions", + "description": "An object that contains information about the suppression list preferences for your account.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "trackingOptions": { + "$ref": "#/types/aws:sesv2/ConfigurationSetTrackingOptions:ConfigurationSetTrackingOptions", + "description": "An object that defines the open and click tracking options for emails that you send using the configuration set.\n" + } + }, + "required": [ + "arn", + "configurationSetName", + "reputationOptions", + "sendingOptions", + "tagsAll" + ], + "inputProperties": { + "configurationSetName": { + "type": "string", + "description": "The name of the configuration set.\n", + "willReplaceOnChanges": true + }, + "deliveryOptions": { + "$ref": "#/types/aws:sesv2/ConfigurationSetDeliveryOptions:ConfigurationSetDeliveryOptions", + "description": "An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set.\n" + }, + "reputationOptions": { + "$ref": "#/types/aws:sesv2/ConfigurationSetReputationOptions:ConfigurationSetReputationOptions", + "description": "An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set.\n" + }, + "sendingOptions": { + "$ref": "#/types/aws:sesv2/ConfigurationSetSendingOptions:ConfigurationSetSendingOptions", + "description": "An object that defines whether or not Amazon SES can send email that you send using the configuration set.\n" + }, + "suppressionOptions": { + "$ref": "#/types/aws:sesv2/ConfigurationSetSuppressionOptions:ConfigurationSetSuppressionOptions", + "description": "An object that contains information about the suppression list preferences for your account.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "trackingOptions": { + "$ref": "#/types/aws:sesv2/ConfigurationSetTrackingOptions:ConfigurationSetTrackingOptions", + "description": "An object that defines the open and click tracking options for emails that you send using the configuration set.\n" + } + }, + "requiredInputs": [ + "configurationSetName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ConfigurationSet resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the Configuration Set.\n" + }, + "configurationSetName": { + "type": "string", + "description": "The name of the configuration set.\n", + "willReplaceOnChanges": true + }, + "deliveryOptions": { + "$ref": "#/types/aws:sesv2/ConfigurationSetDeliveryOptions:ConfigurationSetDeliveryOptions", + "description": "An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set.\n" + }, + "reputationOptions": { + "$ref": "#/types/aws:sesv2/ConfigurationSetReputationOptions:ConfigurationSetReputationOptions", + "description": "An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set.\n" + }, + "sendingOptions": { + "$ref": "#/types/aws:sesv2/ConfigurationSetSendingOptions:ConfigurationSetSendingOptions", + "description": "An object that defines whether or not Amazon SES can send email that you send using the configuration set.\n" + }, + "suppressionOptions": { + "$ref": "#/types/aws:sesv2/ConfigurationSetSuppressionOptions:ConfigurationSetSuppressionOptions", + "description": "An object that contains information about the suppression list preferences for your account.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "trackingOptions": { + "$ref": "#/types/aws:sesv2/ConfigurationSetTrackingOptions:ConfigurationSetTrackingOptions", + "description": "An object that defines the open and click tracking options for emails that you send using the configuration set.\n" + } + }, + "type": "object" + } + }, "aws:sfn/activity:Activity": { "description": "Provides a Step Function Activity resource\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst sfnActivity = new aws.sfn.Activity(\"sfn_activity\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsfn_activity = aws.sfn.Activity(\"sfnActivity\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sfnActivity = new Aws.Sfn.Activity(\"sfnActivity\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/sfn\"\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 := sfn.NewActivity(ctx, \"sfnActivity\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sfn.Activity;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sfnActivity = new Activity(\"sfnActivity\");\n\n }\n}\n```\n```yaml\nresources:\n sfnActivity:\n type: aws:sfn:Activity\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nActivities can be imported using the `arn`, e.g.,\n\n```sh\n $ pulumi import aws:sfn/activity:Activity foo arn:aws:states:eu-west-1:123456789098:activity:bar\n```\n\n ", "properties": { @@ -529672,7 +533852,7 @@ } }, "aws:storagegateway/gateway:Gateway": { - "description": "Manages an AWS Storage Gateway file, tape, or volume gateway in the provider region.\n\n\u003e **NOTE:** The Storage Gateway API requires the gateway to be connected to properly return information after activation. If you are receiving `The specified gateway is not connected` errors during resource creation (gateway activation), ensure your gateway instance meets the [Storage Gateway requirements](https://docs.aws.amazon.com/storagegateway/latest/userguide/Requirements.html).\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Local Cache\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testVolumeAttachment = new aws.ec2.VolumeAttachment(\"testVolumeAttachment\", {\n deviceName: \"/dev/xvdb\",\n volumeId: aws_ebs_volume.test.id,\n instanceId: aws_instance.test.id,\n});\nconst testLocalDisk = testVolumeAttachment.deviceName.apply(deviceName =\u003e aws.storagegateway.getLocalDiskOutput({\n diskNode: deviceName,\n gatewayArn: aws_storagegateway_gateway.test.arn,\n}));\nconst testCache = new aws.storagegateway.Cache(\"testCache\", {\n diskId: testLocalDisk.apply(testLocalDisk =\u003e testLocalDisk.diskId),\n gatewayArn: aws_storagegateway_gateway.test.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_volume_attachment = aws.ec2.VolumeAttachment(\"testVolumeAttachment\",\n device_name=\"/dev/xvdb\",\n volume_id=aws_ebs_volume[\"test\"][\"id\"],\n instance_id=aws_instance[\"test\"][\"id\"])\ntest_local_disk = test_volume_attachment.device_name.apply(lambda device_name: aws.storagegateway.get_local_disk_output(disk_node=device_name,\n gateway_arn=aws_storagegateway_gateway[\"test\"][\"arn\"]))\ntest_cache = aws.storagegateway.Cache(\"testCache\",\n disk_id=test_local_disk.disk_id,\n gateway_arn=aws_storagegateway_gateway[\"test\"][\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testVolumeAttachment = new Aws.Ec2.VolumeAttachment(\"testVolumeAttachment\", new()\n {\n DeviceName = \"/dev/xvdb\",\n VolumeId = aws_ebs_volume.Test.Id,\n InstanceId = aws_instance.Test.Id,\n });\n\n var testLocalDisk = Aws.StorageGateway.GetLocalDisk.Invoke(new()\n {\n DiskNode = testVolumeAttachment.DeviceName,\n GatewayArn = aws_storagegateway_gateway.Test.Arn,\n });\n\n var testCache = new Aws.StorageGateway.Cache(\"testCache\", new()\n {\n DiskId = testLocalDisk.Apply(getLocalDiskResult =\u003e getLocalDiskResult.DiskId),\n GatewayArn = aws_storagegateway_gateway.Test.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestVolumeAttachment, err := ec2.NewVolumeAttachment(ctx, \"testVolumeAttachment\", \u0026ec2.VolumeAttachmentArgs{\n\t\t\tDeviceName: pulumi.String(\"/dev/xvdb\"),\n\t\t\tVolumeId: pulumi.Any(aws_ebs_volume.Test.Id),\n\t\t\tInstanceId: pulumi.Any(aws_instance.Test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewCache(ctx, \"testCache\", \u0026storagegateway.CacheArgs{\n\t\t\tDiskId: testLocalDisk.ApplyT(func(testLocalDisk storagegateway.GetLocalDiskResult) (string, error) {\n\t\t\t\treturn testLocalDisk.DiskId, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tGatewayArn: pulumi.Any(aws_storagegateway_gateway.Test.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VolumeAttachment;\nimport com.pulumi.aws.ec2.VolumeAttachmentArgs;\nimport com.pulumi.aws.storagegateway.StoragegatewayFunctions;\nimport com.pulumi.aws.storagegateway.inputs.GetLocalDiskArgs;\nimport com.pulumi.aws.storagegateway.Cache;\nimport com.pulumi.aws.storagegateway.CacheArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testVolumeAttachment = new VolumeAttachment(\"testVolumeAttachment\", VolumeAttachmentArgs.builder() \n .deviceName(\"/dev/xvdb\")\n .volumeId(aws_ebs_volume.test().id())\n .instanceId(aws_instance.test().id())\n .build());\n\n final var testLocalDisk = StoragegatewayFunctions.getLocalDisk(GetLocalDiskArgs.builder()\n .diskNode(testVolumeAttachment.deviceName())\n .gatewayArn(aws_storagegateway_gateway.test().arn())\n .build());\n\n var testCache = new Cache(\"testCache\", CacheArgs.builder() \n .diskId(testLocalDisk.applyValue(getLocalDiskResult -\u003e getLocalDiskResult).applyValue(testLocalDisk -\u003e testLocalDisk.applyValue(getLocalDiskResult -\u003e getLocalDiskResult.diskId())))\n .gatewayArn(aws_storagegateway_gateway.test().arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVolumeAttachment:\n type: aws:ec2:VolumeAttachment\n properties:\n deviceName: /dev/xvdb\n volumeId: ${aws_ebs_volume.test.id}\n instanceId: ${aws_instance.test.id}\n testCache:\n type: aws:storagegateway:Cache\n properties:\n diskId: ${testLocalDisk.diskId}\n gatewayArn: ${aws_storagegateway_gateway.test.arn}\nvariables:\n testLocalDisk:\n Fn::Invoke:\n Function: aws:storagegateway:getLocalDisk\n Arguments:\n diskNode: ${testVolumeAttachment.deviceName}\n gatewayArn: ${aws_storagegateway_gateway.test.arn}\n```\n{{% /example %}}\n{{% example %}}\n### FSx File Gateway\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"FILE_FSX_SMB\",\n smbActiveDirectorySettings: {\n domainName: \"corp.example.com\",\n password: \"avoid-plaintext-passwords\",\n username: \"Admin\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"FILE_FSX_SMB\",\n smb_active_directory_settings=aws.storagegateway.GatewaySmbActiveDirectorySettingsArgs(\n domain_name=\"corp.example.com\",\n password=\"avoid-plaintext-passwords\",\n username=\"Admin\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"FILE_FSX_SMB\",\n SmbActiveDirectorySettings = new Aws.StorageGateway.Inputs.GatewaySmbActiveDirectorySettingsArgs\n {\n DomainName = \"corp.example.com\",\n Password = \"avoid-plaintext-passwords\",\n Username = \"Admin\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"FILE_FSX_SMB\"),\n\t\t\tSmbActiveDirectorySettings: \u0026storagegateway.GatewaySmbActiveDirectorySettingsArgs{\n\t\t\t\tDomainName: pulumi.String(\"corp.example.com\"),\n\t\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\t\tUsername: pulumi.String(\"Admin\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport com.pulumi.aws.storagegateway.inputs.GatewaySmbActiveDirectorySettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder() \n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"FILE_FSX_SMB\")\n .smbActiveDirectorySettings(GatewaySmbActiveDirectorySettingsArgs.builder()\n .domainName(\"corp.example.com\")\n .password(\"avoid-plaintext-passwords\")\n .username(\"Admin\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: FILE_FSX_SMB\n smbActiveDirectorySettings:\n domainName: corp.example.com\n password: avoid-plaintext-passwords\n username: Admin\n```\n{{% /example %}}\n{{% example %}}\n### S3 File Gateway\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"FILE_S3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"FILE_S3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"FILE_S3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"FILE_S3\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder() \n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"FILE_S3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: FILE_S3\n```\n\n{{% /example %}}\n{{% example %}}\n### Tape Gateway\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"VTL\",\n mediumChangerType: \"AWS-Gateway-VTL\",\n tapeDriveType: \"IBM-ULT3580-TD5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"VTL\",\n medium_changer_type=\"AWS-Gateway-VTL\",\n tape_drive_type=\"IBM-ULT3580-TD5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"VTL\",\n MediumChangerType = \"AWS-Gateway-VTL\",\n TapeDriveType = \"IBM-ULT3580-TD5\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"VTL\"),\n\t\t\tMediumChangerType: pulumi.String(\"AWS-Gateway-VTL\"),\n\t\t\tTapeDriveType: pulumi.String(\"IBM-ULT3580-TD5\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder() \n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"VTL\")\n .mediumChangerType(\"AWS-Gateway-VTL\")\n .tapeDriveType(\"IBM-ULT3580-TD5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: VTL\n mediumChangerType: AWS-Gateway-VTL\n tapeDriveType: IBM-ULT3580-TD5\n```\n{{% /example %}}\n{{% example %}}\n### Volume Gateway (Cached)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"CACHED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"CACHED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"CACHED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"CACHED\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder() \n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"CACHED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: CACHED\n```\n{{% /example %}}\n{{% example %}}\n### Volume Gateway (Stored)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"STORED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"STORED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"STORED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"STORED\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder() \n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"STORED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: STORED\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n`aws_storagegateway_gateway` can be imported by using the gateway Amazon Resource Name (ARN), e.g.,\n\n```sh\n $ pulumi import aws:storagegateway/gateway:Gateway example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678\n```\n\n Certain resource arguments, like `gateway_ip_address` do not have a Storage Gateway API method for reading the information after creation, either omit the argument from the provider configuration or use `ignoreChanges` to hide the difference. ", + "description": "Manages an AWS Storage Gateway file, tape, or volume gateway in the provider region.\n\n\u003e **NOTE:** The Storage Gateway API requires the gateway to be connected to properly return information after activation. If you are receiving `The specified gateway is not connected` errors during resource creation (gateway activation), ensure your gateway instance meets the [Storage Gateway requirements](https://docs.aws.amazon.com/storagegateway/latest/userguide/Requirements.html).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Local Cache\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testVolumeAttachment = new aws.ec2.VolumeAttachment(\"testVolumeAttachment\", {\n deviceName: \"/dev/xvdb\",\n volumeId: aws_ebs_volume.test.id,\n instanceId: aws_instance.test.id,\n});\nconst testLocalDisk = testVolumeAttachment.deviceName.apply(deviceName =\u003e aws.storagegateway.getLocalDiskOutput({\n diskNode: deviceName,\n gatewayArn: aws_storagegateway_gateway.test.arn,\n}));\nconst testCache = new aws.storagegateway.Cache(\"testCache\", {\n diskId: testLocalDisk.apply(testLocalDisk =\u003e testLocalDisk.diskId),\n gatewayArn: aws_storagegateway_gateway.test.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_volume_attachment = aws.ec2.VolumeAttachment(\"testVolumeAttachment\",\n device_name=\"/dev/xvdb\",\n volume_id=aws_ebs_volume[\"test\"][\"id\"],\n instance_id=aws_instance[\"test\"][\"id\"])\ntest_local_disk = test_volume_attachment.device_name.apply(lambda device_name: aws.storagegateway.get_local_disk_output(disk_node=device_name,\n gateway_arn=aws_storagegateway_gateway[\"test\"][\"arn\"]))\ntest_cache = aws.storagegateway.Cache(\"testCache\",\n disk_id=test_local_disk.disk_id,\n gateway_arn=aws_storagegateway_gateway[\"test\"][\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testVolumeAttachment = new Aws.Ec2.VolumeAttachment(\"testVolumeAttachment\", new()\n {\n DeviceName = \"/dev/xvdb\",\n VolumeId = aws_ebs_volume.Test.Id,\n InstanceId = aws_instance.Test.Id,\n });\n\n var testLocalDisk = Aws.StorageGateway.GetLocalDisk.Invoke(new()\n {\n DiskNode = testVolumeAttachment.DeviceName,\n GatewayArn = aws_storagegateway_gateway.Test.Arn,\n });\n\n var testCache = new Aws.StorageGateway.Cache(\"testCache\", new()\n {\n DiskId = testLocalDisk.Apply(getLocalDiskResult =\u003e getLocalDiskResult.DiskId),\n GatewayArn = aws_storagegateway_gateway.Test.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/storagegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestVolumeAttachment, err := ec2.NewVolumeAttachment(ctx, \"testVolumeAttachment\", \u0026ec2.VolumeAttachmentArgs{\n\t\t\tDeviceName: pulumi.String(\"/dev/xvdb\"),\n\t\t\tVolumeId: pulumi.Any(aws_ebs_volume.Test.Id),\n\t\t\tInstanceId: pulumi.Any(aws_instance.Test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storagegateway.NewCache(ctx, \"testCache\", \u0026storagegateway.CacheArgs{\n\t\t\tDiskId: testLocalDisk.ApplyT(func(testLocalDisk storagegateway.GetLocalDiskResult) (string, error) {\n\t\t\t\treturn testLocalDisk.DiskId, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tGatewayArn: pulumi.Any(aws_storagegateway_gateway.Test.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VolumeAttachment;\nimport com.pulumi.aws.ec2.VolumeAttachmentArgs;\nimport com.pulumi.aws.storagegateway.StoragegatewayFunctions;\nimport com.pulumi.aws.storagegateway.inputs.GetLocalDiskArgs;\nimport com.pulumi.aws.storagegateway.Cache;\nimport com.pulumi.aws.storagegateway.CacheArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var testVolumeAttachment = new VolumeAttachment(\"testVolumeAttachment\", VolumeAttachmentArgs.builder() \n .deviceName(\"/dev/xvdb\")\n .volumeId(aws_ebs_volume.test().id())\n .instanceId(aws_instance.test().id())\n .build());\n\n final var testLocalDisk = StoragegatewayFunctions.getLocalDisk(GetLocalDiskArgs.builder()\n .diskNode(testVolumeAttachment.deviceName())\n .gatewayArn(aws_storagegateway_gateway.test().arn())\n .build());\n\n var testCache = new Cache(\"testCache\", CacheArgs.builder() \n .diskId(testLocalDisk.applyValue(getLocalDiskResult -\u003e getLocalDiskResult).applyValue(testLocalDisk -\u003e testLocalDisk.applyValue(getLocalDiskResult -\u003e getLocalDiskResult.diskId())))\n .gatewayArn(aws_storagegateway_gateway.test().arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testVolumeAttachment:\n type: aws:ec2:VolumeAttachment\n properties:\n deviceName: /dev/xvdb\n volumeId: ${aws_ebs_volume.test.id}\n instanceId: ${aws_instance.test.id}\n testCache:\n type: aws:storagegateway:Cache\n properties:\n diskId: ${testLocalDisk.diskId}\n gatewayArn: ${aws_storagegateway_gateway.test.arn}\nvariables:\n testLocalDisk:\n Fn::Invoke:\n Function: aws:storagegateway:getLocalDisk\n Arguments:\n diskNode: ${testVolumeAttachment.deviceName}\n gatewayArn: ${aws_storagegateway_gateway.test.arn}\n```\n{{% /example %}}\n{{% example %}}\n### FSx File Gateway\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"FILE_FSX_SMB\",\n smbActiveDirectorySettings: {\n domainName: \"corp.example.com\",\n password: \"avoid-plaintext-passwords\",\n username: \"Admin\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"FILE_FSX_SMB\",\n smb_active_directory_settings=aws.storagegateway.GatewaySmbActiveDirectorySettingsArgs(\n domain_name=\"corp.example.com\",\n password=\"avoid-plaintext-passwords\",\n username=\"Admin\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"FILE_FSX_SMB\",\n SmbActiveDirectorySettings = new Aws.StorageGateway.Inputs.GatewaySmbActiveDirectorySettingsArgs\n {\n DomainName = \"corp.example.com\",\n Password = \"avoid-plaintext-passwords\",\n Username = \"Admin\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"FILE_FSX_SMB\"),\n\t\t\tSmbActiveDirectorySettings: \u0026storagegateway.GatewaySmbActiveDirectorySettingsArgs{\n\t\t\t\tDomainName: pulumi.String(\"corp.example.com\"),\n\t\t\t\tPassword: pulumi.String(\"avoid-plaintext-passwords\"),\n\t\t\t\tUsername: pulumi.String(\"Admin\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport com.pulumi.aws.storagegateway.inputs.GatewaySmbActiveDirectorySettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder() \n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"FILE_FSX_SMB\")\n .smbActiveDirectorySettings(GatewaySmbActiveDirectorySettingsArgs.builder()\n .domainName(\"corp.example.com\")\n .password(\"avoid-plaintext-passwords\")\n .username(\"Admin\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: FILE_FSX_SMB\n smbActiveDirectorySettings:\n domainName: corp.example.com\n password: avoid-plaintext-passwords\n username: Admin\n```\n{{% /example %}}\n{{% example %}}\n### S3 File Gateway\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"FILE_S3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"FILE_S3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"FILE_S3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"FILE_S3\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder() \n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"FILE_S3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: FILE_S3\n```\n{{% /example %}}\n{{% example %}}\n### Tape Gateway\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"VTL\",\n mediumChangerType: \"AWS-Gateway-VTL\",\n tapeDriveType: \"IBM-ULT3580-TD5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"VTL\",\n medium_changer_type=\"AWS-Gateway-VTL\",\n tape_drive_type=\"IBM-ULT3580-TD5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"VTL\",\n MediumChangerType = \"AWS-Gateway-VTL\",\n TapeDriveType = \"IBM-ULT3580-TD5\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"VTL\"),\n\t\t\tMediumChangerType: pulumi.String(\"AWS-Gateway-VTL\"),\n\t\t\tTapeDriveType: pulumi.String(\"IBM-ULT3580-TD5\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder() \n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"VTL\")\n .mediumChangerType(\"AWS-Gateway-VTL\")\n .tapeDriveType(\"IBM-ULT3580-TD5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: VTL\n mediumChangerType: AWS-Gateway-VTL\n tapeDriveType: IBM-ULT3580-TD5\n```\n{{% /example %}}\n{{% example %}}\n### Volume Gateway (Cached)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"CACHED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"CACHED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"CACHED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"CACHED\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder() \n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"CACHED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: CACHED\n```\n{{% /example %}}\n{{% example %}}\n### Volume Gateway (Stored)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.storagegateway.Gateway(\"example\", {\n gatewayIpAddress: \"1.2.3.4\",\n gatewayName: \"example\",\n gatewayTimezone: \"GMT\",\n gatewayType: \"STORED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.storagegateway.Gateway(\"example\",\n gateway_ip_address=\"1.2.3.4\",\n gateway_name=\"example\",\n gateway_timezone=\"GMT\",\n gateway_type=\"STORED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.StorageGateway.Gateway(\"example\", new()\n {\n GatewayIpAddress = \"1.2.3.4\",\n GatewayName = \"example\",\n GatewayTimezone = \"GMT\",\n GatewayType = \"STORED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/storagegateway\"\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 := storagegateway.NewGateway(ctx, \"example\", \u0026storagegateway.GatewayArgs{\n\t\t\tGatewayIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tGatewayName: pulumi.String(\"example\"),\n\t\t\tGatewayTimezone: pulumi.String(\"GMT\"),\n\t\t\tGatewayType: pulumi.String(\"STORED\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.storagegateway.Gateway;\nimport com.pulumi.aws.storagegateway.GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Gateway(\"example\", GatewayArgs.builder() \n .gatewayIpAddress(\"1.2.3.4\")\n .gatewayName(\"example\")\n .gatewayTimezone(\"GMT\")\n .gatewayType(\"STORED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:storagegateway:Gateway\n properties:\n gatewayIpAddress: 1.2.3.4\n gatewayName: example\n gatewayTimezone: GMT\n gatewayType: STORED\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n`aws_storagegateway_gateway` can be imported by using the gateway Amazon Resource Name (ARN), e.g.,\n\n```sh\n $ pulumi import aws:storagegateway/gateway:Gateway example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678\n```\n\n Certain resource arguments, like `gateway_ip_address` do not have a Storage Gateway API method for reading the information after creation, either omit the argument from the provider configuration or use `ignoreChanges` to hide the difference. ", "properties": { "activationKey": { "type": "string", @@ -532537,7 +536717,7 @@ } }, "aws:transfer/server:Server": { - "description": "Provides a AWS Transfer Server resource.\n\n\u003e **NOTE on AWS IAM permissions:** If the `endpoint_type` is set to `VPC`, the `ec2:DescribeVpcEndpoints` and `ec2:ModifyVpcEndpoint` [actions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) are used.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n tags: {\n Name: \"Example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\", tags={\n \"Name\": \"Example\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n Tags = \n {\n { \"Name\", \"Example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder() \n .tags(Map.of(\"Name\", \"Example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n tags:\n Name: Example\n```\n{{% /example %}}\n{{% example %}}\n### Security Policy Name\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n securityPolicyName: \"TransferSecurityPolicy-2020-06\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\", security_policy_name=\"TransferSecurityPolicy-2020-06\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n SecurityPolicyName = \"TransferSecurityPolicy-2020-06\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tSecurityPolicyName: pulumi.String(\"TransferSecurityPolicy-2020-06\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder() \n .securityPolicyName(\"TransferSecurityPolicy-2020-06\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n securityPolicyName: TransferSecurityPolicy-2020-06\n```\n{{% /example %}}\n{{% example %}}\n### VPC Endpoint\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n endpointType: \"VPC\",\n endpointDetails: {\n addressAllocationIds: [aws_eip.example.id],\n subnetIds: [aws_subnet.example.id],\n vpcId: aws_vpc.example.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n endpoint_type=\"VPC\",\n endpoint_details=aws.transfer.ServerEndpointDetailsArgs(\n address_allocation_ids=[aws_eip[\"example\"][\"id\"]],\n subnet_ids=[aws_subnet[\"example\"][\"id\"]],\n vpc_id=aws_vpc[\"example\"][\"id\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n EndpointType = \"VPC\",\n EndpointDetails = new Aws.Transfer.Inputs.ServerEndpointDetailsArgs\n {\n AddressAllocationIds = new[]\n {\n aws_eip.Example.Id,\n },\n SubnetIds = new[]\n {\n aws_subnet.Example.Id,\n },\n VpcId = aws_vpc.Example.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tEndpointType: pulumi.String(\"VPC\"),\n\t\t\tEndpointDetails: \u0026transfer.ServerEndpointDetailsArgs{\n\t\t\t\tAddressAllocationIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.Any(aws_eip.Example.Id),\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.Any(aws_subnet.Example.Id),\n\t\t\t\t},\n\t\t\t\tVpcId: pulumi.Any(aws_vpc.Example.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.transfer.inputs.ServerEndpointDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder() \n .endpointType(\"VPC\")\n .endpointDetails(ServerEndpointDetailsArgs.builder()\n .addressAllocationIds(aws_eip.example().id())\n .subnetIds(aws_subnet.example().id())\n .vpcId(aws_vpc.example().id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n endpointType: VPC\n endpointDetails:\n addressAllocationIds:\n - ${aws_eip.example.id}\n subnetIds:\n - ${aws_subnet.example.id}\n vpcId: ${aws_vpc.example.id}\n```\n{{% /example %}}\n{{% example %}}\n### AWS Directory authentication\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n identityProviderType: \"AWS_DIRECTORY_SERVICE\",\n directoryId: aws_directory_service_directory.example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n identity_provider_type=\"AWS_DIRECTORY_SERVICE\",\n directory_id=aws_directory_service_directory[\"example\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"AWS_DIRECTORY_SERVICE\",\n DirectoryId = aws_directory_service_directory.Example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"AWS_DIRECTORY_SERVICE\"),\n\t\t\tDirectoryId: pulumi.Any(aws_directory_service_directory.Example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder() \n .identityProviderType(\"AWS_DIRECTORY_SERVICE\")\n .directoryId(aws_directory_service_directory.example().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n identityProviderType: AWS_DIRECTORY_SERVICE\n directoryId: ${aws_directory_service_directory.example.id}\n```\n{{% /example %}}\n{{% example %}}\n### AWS Lambda authentication\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n identityProviderType: \"AWS_LAMBDA\",\n \"function\": aws_lambda_identity_provider.example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n identity_provider_type=\"AWS_LAMBDA\",\n function=aws_lambda_identity_provider[\"example\"][\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"AWS_LAMBDA\",\n Function = aws_lambda_identity_provider.Example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"AWS_LAMBDA\"),\n\t\t\tFunction: pulumi.Any(aws_lambda_identity_provider.Example.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder() \n .identityProviderType(\"AWS_LAMBDA\")\n .function(aws_lambda_identity_provider.example().arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n identityProviderType: AWS_LAMBDA\n function: ${aws_lambda_identity_provider.example.arn}\n```\n{{% /example %}}\n{{% example %}}\n### Protocols\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n endpointType: \"VPC\",\n endpointDetails: {\n subnetIds: [aws_subnet.example.id],\n vpcId: aws_vpc.example.id,\n },\n protocols: [\n \"FTP\",\n \"FTPS\",\n ],\n certificate: aws_acm_certificate.example.arn,\n identityProviderType: \"API_GATEWAY\",\n url: `${aws_api_gateway_deployment.example.invoke_url}${aws_api_gateway_resource.example.path}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n endpoint_type=\"VPC\",\n endpoint_details=aws.transfer.ServerEndpointDetailsArgs(\n subnet_ids=[aws_subnet[\"example\"][\"id\"]],\n vpc_id=aws_vpc[\"example\"][\"id\"],\n ),\n protocols=[\n \"FTP\",\n \"FTPS\",\n ],\n certificate=aws_acm_certificate[\"example\"][\"arn\"],\n identity_provider_type=\"API_GATEWAY\",\n url=f\"{aws_api_gateway_deployment['example']['invoke_url']}{aws_api_gateway_resource['example']['path']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n EndpointType = \"VPC\",\n EndpointDetails = new Aws.Transfer.Inputs.ServerEndpointDetailsArgs\n {\n SubnetIds = new[]\n {\n aws_subnet.Example.Id,\n },\n VpcId = aws_vpc.Example.Id,\n },\n Protocols = new[]\n {\n \"FTP\",\n \"FTPS\",\n },\n Certificate = aws_acm_certificate.Example.Arn,\n IdentityProviderType = \"API_GATEWAY\",\n Url = $\"{aws_api_gateway_deployment.Example.Invoke_url}{aws_api_gateway_resource.Example.Path}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tEndpointType: pulumi.String(\"VPC\"),\n\t\t\tEndpointDetails: \u0026transfer.ServerEndpointDetailsArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.Any(aws_subnet.Example.Id),\n\t\t\t\t},\n\t\t\t\tVpcId: pulumi.Any(aws_vpc.Example.Id),\n\t\t\t},\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FTP\"),\n\t\t\t\tpulumi.String(\"FTPS\"),\n\t\t\t},\n\t\t\tCertificate: pulumi.Any(aws_acm_certificate.Example.Arn),\n\t\t\tIdentityProviderType: pulumi.String(\"API_GATEWAY\"),\n\t\t\tUrl: pulumi.String(fmt.Sprintf(\"%v%v\", aws_api_gateway_deployment.Example.Invoke_url, aws_api_gateway_resource.Example.Path)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.transfer.inputs.ServerEndpointDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder() \n .endpointType(\"VPC\")\n .endpointDetails(ServerEndpointDetailsArgs.builder()\n .subnetIds(aws_subnet.example().id())\n .vpcId(aws_vpc.example().id())\n .build())\n .protocols( \n \"FTP\",\n \"FTPS\")\n .certificate(aws_acm_certificate.example().arn())\n .identityProviderType(\"API_GATEWAY\")\n .url(String.format(\"%s%s\", aws_api_gateway_deployment.example().invoke_url(),aws_api_gateway_resource.example().path()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n endpointType: VPC\n endpointDetails:\n subnetIds:\n - ${aws_subnet.example.id}\n vpcId: ${aws_vpc.example.id}\n protocols:\n - FTP\n - FTPS\n certificate: ${aws_acm_certificate.example.arn}\n identityProviderType: API_GATEWAY\n url: ${aws_api_gateway_deployment.example.invoke_url}${aws_api_gateway_resource.example.path}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nTransfer Servers can be imported using the `server id`, e.g.,\n\n```sh\n $ pulumi import aws:transfer/server:Server example s-12345678\n```\n\n Certain resource arguments, such as `host_key`, cannot be read via the API and imported into the provider. This provider will display a difference for these arguments the first run after import if declared in the provider configuration for an imported resource. ", + "description": "Provides a AWS Transfer Server resource.\n\n\u003e **NOTE on AWS IAM permissions:** If the `endpoint_type` is set to `VPC`, the `ec2:DescribeVpcEndpoints` and `ec2:ModifyVpcEndpoint` [actions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) are used.\n\n\u003e **NOTE:** Use the `aws.transfer.Tag` resource to manage the system tags used for [custom hostnames](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-dns.html#tag-custom-hostname-cdk).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n tags: {\n Name: \"Example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\", tags={\n \"Name\": \"Example\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n Tags = \n {\n { \"Name\", \"Example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"Example\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder() \n .tags(Map.of(\"Name\", \"Example\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n tags:\n Name: Example\n```\n{{% /example %}}\n{{% example %}}\n### Security Policy Name\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n securityPolicyName: \"TransferSecurityPolicy-2020-06\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\", security_policy_name=\"TransferSecurityPolicy-2020-06\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n SecurityPolicyName = \"TransferSecurityPolicy-2020-06\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tSecurityPolicyName: pulumi.String(\"TransferSecurityPolicy-2020-06\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder() \n .securityPolicyName(\"TransferSecurityPolicy-2020-06\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n securityPolicyName: TransferSecurityPolicy-2020-06\n```\n{{% /example %}}\n{{% example %}}\n### VPC Endpoint\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n endpointType: \"VPC\",\n endpointDetails: {\n addressAllocationIds: [aws_eip.example.id],\n subnetIds: [aws_subnet.example.id],\n vpcId: aws_vpc.example.id,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n endpoint_type=\"VPC\",\n endpoint_details=aws.transfer.ServerEndpointDetailsArgs(\n address_allocation_ids=[aws_eip[\"example\"][\"id\"]],\n subnet_ids=[aws_subnet[\"example\"][\"id\"]],\n vpc_id=aws_vpc[\"example\"][\"id\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n EndpointType = \"VPC\",\n EndpointDetails = new Aws.Transfer.Inputs.ServerEndpointDetailsArgs\n {\n AddressAllocationIds = new[]\n {\n aws_eip.Example.Id,\n },\n SubnetIds = new[]\n {\n aws_subnet.Example.Id,\n },\n VpcId = aws_vpc.Example.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tEndpointType: pulumi.String(\"VPC\"),\n\t\t\tEndpointDetails: \u0026transfer.ServerEndpointDetailsArgs{\n\t\t\t\tAddressAllocationIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.Any(aws_eip.Example.Id),\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.Any(aws_subnet.Example.Id),\n\t\t\t\t},\n\t\t\t\tVpcId: pulumi.Any(aws_vpc.Example.Id),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.transfer.inputs.ServerEndpointDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder() \n .endpointType(\"VPC\")\n .endpointDetails(ServerEndpointDetailsArgs.builder()\n .addressAllocationIds(aws_eip.example().id())\n .subnetIds(aws_subnet.example().id())\n .vpcId(aws_vpc.example().id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n endpointType: VPC\n endpointDetails:\n addressAllocationIds:\n - ${aws_eip.example.id}\n subnetIds:\n - ${aws_subnet.example.id}\n vpcId: ${aws_vpc.example.id}\n```\n{{% /example %}}\n{{% example %}}\n### AWS Directory authentication\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n identityProviderType: \"AWS_DIRECTORY_SERVICE\",\n directoryId: aws_directory_service_directory.example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n identity_provider_type=\"AWS_DIRECTORY_SERVICE\",\n directory_id=aws_directory_service_directory[\"example\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"AWS_DIRECTORY_SERVICE\",\n DirectoryId = aws_directory_service_directory.Example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"AWS_DIRECTORY_SERVICE\"),\n\t\t\tDirectoryId: pulumi.Any(aws_directory_service_directory.Example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder() \n .identityProviderType(\"AWS_DIRECTORY_SERVICE\")\n .directoryId(aws_directory_service_directory.example().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n identityProviderType: AWS_DIRECTORY_SERVICE\n directoryId: ${aws_directory_service_directory.example.id}\n```\n{{% /example %}}\n{{% example %}}\n### AWS Lambda authentication\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n identityProviderType: \"AWS_LAMBDA\",\n \"function\": aws_lambda_identity_provider.example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n identity_provider_type=\"AWS_LAMBDA\",\n function=aws_lambda_identity_provider[\"example\"][\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"AWS_LAMBDA\",\n Function = aws_lambda_identity_provider.Example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"AWS_LAMBDA\"),\n\t\t\tFunction: pulumi.Any(aws_lambda_identity_provider.Example.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder() \n .identityProviderType(\"AWS_LAMBDA\")\n .function(aws_lambda_identity_provider.example().arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n identityProviderType: AWS_LAMBDA\n function: ${aws_lambda_identity_provider.example.arn}\n```\n{{% /example %}}\n{{% example %}}\n### Protocols\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {\n endpointType: \"VPC\",\n endpointDetails: {\n subnetIds: [aws_subnet.example.id],\n vpcId: aws_vpc.example.id,\n },\n protocols: [\n \"FTP\",\n \"FTPS\",\n ],\n certificate: aws_acm_certificate.example.arn,\n identityProviderType: \"API_GATEWAY\",\n url: `${aws_api_gateway_deployment.example.invoke_url}${aws_api_gateway_resource.example.path}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\",\n endpoint_type=\"VPC\",\n endpoint_details=aws.transfer.ServerEndpointDetailsArgs(\n subnet_ids=[aws_subnet[\"example\"][\"id\"]],\n vpc_id=aws_vpc[\"example\"][\"id\"],\n ),\n protocols=[\n \"FTP\",\n \"FTPS\",\n ],\n certificate=aws_acm_certificate[\"example\"][\"arn\"],\n identity_provider_type=\"API_GATEWAY\",\n url=f\"{aws_api_gateway_deployment['example']['invoke_url']}{aws_api_gateway_resource['example']['path']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n EndpointType = \"VPC\",\n EndpointDetails = new Aws.Transfer.Inputs.ServerEndpointDetailsArgs\n {\n SubnetIds = new[]\n {\n aws_subnet.Example.Id,\n },\n VpcId = aws_vpc.Example.Id,\n },\n Protocols = new[]\n {\n \"FTP\",\n \"FTPS\",\n },\n Certificate = aws_acm_certificate.Example.Arn,\n IdentityProviderType = \"API_GATEWAY\",\n Url = $\"{aws_api_gateway_deployment.Example.Invoke_url}{aws_api_gateway_resource.Example.Path}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/transfer\"\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 := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tEndpointType: pulumi.String(\"VPC\"),\n\t\t\tEndpointDetails: \u0026transfer.ServerEndpointDetailsArgs{\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.Any(aws_subnet.Example.Id),\n\t\t\t\t},\n\t\t\t\tVpcId: pulumi.Any(aws_vpc.Example.Id),\n\t\t\t},\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FTP\"),\n\t\t\t\tpulumi.String(\"FTPS\"),\n\t\t\t},\n\t\t\tCertificate: pulumi.Any(aws_acm_certificate.Example.Arn),\n\t\t\tIdentityProviderType: pulumi.String(\"API_GATEWAY\"),\n\t\t\tUrl: pulumi.String(fmt.Sprintf(\"%v%v\", aws_api_gateway_deployment.Example.Invoke_url, aws_api_gateway_resource.Example.Path)),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.transfer.inputs.ServerEndpointDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder() \n .endpointType(\"VPC\")\n .endpointDetails(ServerEndpointDetailsArgs.builder()\n .subnetIds(aws_subnet.example().id())\n .vpcId(aws_vpc.example().id())\n .build())\n .protocols( \n \"FTP\",\n \"FTPS\")\n .certificate(aws_acm_certificate.example().arn())\n .identityProviderType(\"API_GATEWAY\")\n .url(String.format(\"%s%s\", aws_api_gateway_deployment.example().invoke_url(),aws_api_gateway_resource.example().path()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n endpointType: VPC\n endpointDetails:\n subnetIds:\n - ${aws_subnet.example.id}\n vpcId: ${aws_vpc.example.id}\n protocols:\n - FTP\n - FTPS\n certificate: ${aws_acm_certificate.example.arn}\n identityProviderType: API_GATEWAY\n url: ${aws_api_gateway_deployment.example.invoke_url}${aws_api_gateway_resource.example.path}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nTransfer Servers can be imported using the `server id`, e.g.,\n\n```sh\n $ pulumi import aws:transfer/server:Server example s-12345678\n```\n\n Certain resource arguments, such as `host_key`, cannot be read via the API and imported into the provider. This provider will display a difference for these arguments the first run after import if declared in the provider configuration for an imported resource. ", "properties": { "arn": { "type": "string", @@ -532897,6 +537077,69 @@ "type": "object" } }, + "aws:transfer/tag:Tag": { + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.transfer.Server(\"example\", {identityProviderType: \"SERVICE_MANAGED\"});\nconst zoneId = new aws.transfer.Tag(\"zoneId\", {\n resourceArn: example.arn,\n key: \"aws:transfer:route53HostedZoneId\",\n value: \"/hostedzone/MyHostedZoneId\",\n});\nconst hostname = new aws.transfer.Tag(\"hostname\", {\n resourceArn: example.arn,\n key: \"aws:transfer:customHostname\",\n value: \"example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.transfer.Server(\"example\", identity_provider_type=\"SERVICE_MANAGED\")\nzone_id = aws.transfer.Tag(\"zoneId\",\n resource_arn=example.arn,\n key=\"aws:transfer:route53HostedZoneId\",\n value=\"/hostedzone/MyHostedZoneId\")\nhostname = aws.transfer.Tag(\"hostname\",\n resource_arn=example.arn,\n key=\"aws:transfer:customHostname\",\n value=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Transfer.Server(\"example\", new()\n {\n IdentityProviderType = \"SERVICE_MANAGED\",\n });\n\n var zoneId = new Aws.Transfer.Tag(\"zoneId\", new()\n {\n ResourceArn = example.Arn,\n Key = \"aws:transfer:route53HostedZoneId\",\n Value = \"/hostedzone/MyHostedZoneId\",\n });\n\n var hostname = new Aws.Transfer.Tag(\"hostname\", new()\n {\n ResourceArn = example.Arn,\n Key = \"aws:transfer:customHostname\",\n Value = \"example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := transfer.NewServer(ctx, \"example\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewTag(ctx, \"zoneId\", \u0026transfer.TagArgs{\n\t\t\tResourceArn: example.Arn,\n\t\t\tKey: pulumi.String(\"aws:transfer:route53HostedZoneId\"),\n\t\t\tValue: pulumi.String(\"/hostedzone/MyHostedZoneId\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewTag(ctx, \"hostname\", \u0026transfer.TagArgs{\n\t\t\tResourceArn: example.Arn,\n\t\t\tKey: pulumi.String(\"aws:transfer:customHostname\"),\n\t\t\tValue: pulumi.String(\"example.com\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.transfer.Tag;\nimport com.pulumi.aws.transfer.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Server(\"example\", ServerArgs.builder() \n .identityProviderType(\"SERVICE_MANAGED\")\n .build());\n\n var zoneId = new Tag(\"zoneId\", TagArgs.builder() \n .resourceArn(example.arn())\n .key(\"aws:transfer:route53HostedZoneId\")\n .value(\"/hostedzone/MyHostedZoneId\")\n .build());\n\n var hostname = new Tag(\"hostname\", TagArgs.builder() \n .resourceArn(example.arn())\n .key(\"aws:transfer:customHostname\")\n .value(\"example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:transfer:Server\n properties:\n identityProviderType: SERVICE_MANAGED\n zoneId:\n type: aws:transfer:Tag\n properties:\n resourceArn: ${example.arn}\n key: aws:transfer:route53HostedZoneId\n value: /hostedzone/MyHostedZoneId\n hostname:\n type: aws:transfer:Tag\n properties:\n resourceArn: ${example.arn}\n key: aws:transfer:customHostname\n value: example.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n`aws_transfer_tag` can be imported by using the Transfer Family resource identifier and key, separated by a comma (`,`), e.g.,\n\n```sh\n $ pulumi import aws:transfer/tag:Tag example arn:aws:transfer:us-east-1:123456789012:server/s-1234567890abcdef0,Name\n```\n\n ", + "properties": { + "key": { + "type": "string", + "description": "Tag name.\n" + }, + "resourceArn": { + "type": "string", + "description": "Amazon Resource Name (ARN) of the Transfer Family resource to tag.\n" + }, + "value": { + "type": "string", + "description": "Tag value.\n" + } + }, + "required": [ + "key", + "resourceArn", + "value" + ], + "inputProperties": { + "key": { + "type": "string", + "description": "Tag name.\n", + "willReplaceOnChanges": true + }, + "resourceArn": { + "type": "string", + "description": "Amazon Resource Name (ARN) of the Transfer Family resource to tag.\n", + "willReplaceOnChanges": true + }, + "value": { + "type": "string", + "description": "Tag value.\n" + } + }, + "requiredInputs": [ + "key", + "resourceArn", + "value" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Tag resources.\n", + "properties": { + "key": { + "type": "string", + "description": "Tag name.\n", + "willReplaceOnChanges": true + }, + "resourceArn": { + "type": "string", + "description": "Amazon Resource Name (ARN) of the Transfer Family resource to tag.\n", + "willReplaceOnChanges": true + }, + "value": { + "type": "string", + "description": "Tag value.\n" + } + }, + "type": "object" + } + }, "aws:transfer/user:User": { "description": "Provides a AWS Transfer User resource. Managing SSH keys can be accomplished with the `aws.transfer.SshKey` resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst fooServer = new aws.transfer.Server(\"fooServer\", {\n identityProviderType: \"SERVICE_MANAGED\",\n tags: {\n NAME: \"tf-acc-test-transfer-server\",\n },\n});\nconst fooRole = new aws.iam.Role(\"fooRole\", {assumeRolePolicy: `{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\"Effect\": \"Allow\",\n\t\t\"Principal\": {\n\t\t\t\"Service\": \"transfer.amazonaws.com\"\n\t\t},\n\t\t\"Action\": \"sts:AssumeRole\"\n\t\t}\n\t]\n}\n`});\nconst fooRolePolicy = new aws.iam.RolePolicy(\"fooRolePolicy\", {\n role: fooRole.id,\n policy: `{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\t\"Sid\": \"AllowFullAccesstoS3\",\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Action\": [\n\t\t\t\t\"s3:*\"\n\t\t\t],\n\t\t\t\"Resource\": \"*\"\n\t\t}\n\t]\n}\n`,\n});\nconst fooUser = new aws.transfer.User(\"fooUser\", {\n serverId: fooServer.id,\n userName: \"tftestuser\",\n role: fooRole.arn,\n homeDirectoryType: \"LOGICAL\",\n homeDirectoryMappings: [{\n entry: \"/test.pdf\",\n target: \"/bucket3/test-path/tftestuser.pdf\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo_server = aws.transfer.Server(\"fooServer\",\n identity_provider_type=\"SERVICE_MANAGED\",\n tags={\n \"NAME\": \"tf-acc-test-transfer-server\",\n })\nfoo_role = aws.iam.Role(\"fooRole\", assume_role_policy=\"\"\"{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\"Effect\": \"Allow\",\n\t\t\"Principal\": {\n\t\t\t\"Service\": \"transfer.amazonaws.com\"\n\t\t},\n\t\t\"Action\": \"sts:AssumeRole\"\n\t\t}\n\t]\n}\n\"\"\")\nfoo_role_policy = aws.iam.RolePolicy(\"fooRolePolicy\",\n role=foo_role.id,\n policy=\"\"\"{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\t\"Sid\": \"AllowFullAccesstoS3\",\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Action\": [\n\t\t\t\t\"s3:*\"\n\t\t\t],\n\t\t\t\"Resource\": \"*\"\n\t\t}\n\t]\n}\n\"\"\")\nfoo_user = aws.transfer.User(\"fooUser\",\n server_id=foo_server.id,\n user_name=\"tftestuser\",\n role=foo_role.arn,\n home_directory_type=\"LOGICAL\",\n home_directory_mappings=[aws.transfer.UserHomeDirectoryMappingArgs(\n entry=\"/test.pdf\",\n target=\"/bucket3/test-path/tftestuser.pdf\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooServer = new Aws.Transfer.Server(\"fooServer\", new()\n {\n IdentityProviderType = \"SERVICE_MANAGED\",\n Tags = \n {\n { \"NAME\", \"tf-acc-test-transfer-server\" },\n },\n });\n\n var fooRole = new Aws.Iam.Role(\"fooRole\", new()\n {\n AssumeRolePolicy = @\"{\n\t\"\"Version\"\": \"\"2012-10-17\"\",\n\t\"\"Statement\"\": [\n\t\t{\n\t\t\"\"Effect\"\": \"\"Allow\"\",\n\t\t\"\"Principal\"\": {\n\t\t\t\"\"Service\"\": \"\"transfer.amazonaws.com\"\"\n\t\t},\n\t\t\"\"Action\"\": \"\"sts:AssumeRole\"\"\n\t\t}\n\t]\n}\n\",\n });\n\n var fooRolePolicy = new Aws.Iam.RolePolicy(\"fooRolePolicy\", new()\n {\n Role = fooRole.Id,\n Policy = @\"{\n\t\"\"Version\"\": \"\"2012-10-17\"\",\n\t\"\"Statement\"\": [\n\t\t{\n\t\t\t\"\"Sid\"\": \"\"AllowFullAccesstoS3\"\",\n\t\t\t\"\"Effect\"\": \"\"Allow\"\",\n\t\t\t\"\"Action\"\": [\n\t\t\t\t\"\"s3:*\"\"\n\t\t\t],\n\t\t\t\"\"Resource\"\": \"\"*\"\"\n\t\t}\n\t]\n}\n\",\n });\n\n var fooUser = new Aws.Transfer.User(\"fooUser\", new()\n {\n ServerId = fooServer.Id,\n UserName = \"tftestuser\",\n Role = fooRole.Arn,\n HomeDirectoryType = \"LOGICAL\",\n HomeDirectoryMappings = new[]\n {\n new Aws.Transfer.Inputs.UserHomeDirectoryMappingArgs\n {\n Entry = \"/test.pdf\",\n Target = \"/bucket3/test-path/tftestuser.pdf\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooServer, err := transfer.NewServer(ctx, \"fooServer\", \u0026transfer.ServerArgs{\n\t\t\tIdentityProviderType: pulumi.String(\"SERVICE_MANAGED\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"NAME\": pulumi.String(\"tf-acc-test-transfer-server\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooRole, err := iam.NewRole(ctx, \"fooRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.Any(fmt.Sprintf(`{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\"Effect\": \"Allow\",\n\t\t\"Principal\": {\n\t\t\t\"Service\": \"transfer.amazonaws.com\"\n\t\t},\n\t\t\"Action\": \"sts:AssumeRole\"\n\t\t}\n\t]\n}\n`)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"fooRolePolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: fooRole.ID(),\n\t\t\tPolicy: pulumi.Any(fmt.Sprintf(`{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\t\"Sid\": \"AllowFullAccesstoS3\",\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Action\": [\n\t\t\t\t\"s3:*\"\n\t\t\t],\n\t\t\t\"Resource\": \"*\"\n\t\t}\n\t]\n}\n`)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewUser(ctx, \"fooUser\", \u0026transfer.UserArgs{\n\t\t\tServerId: fooServer.ID(),\n\t\t\tUserName: pulumi.String(\"tftestuser\"),\n\t\t\tRole: fooRole.Arn,\n\t\t\tHomeDirectoryType: pulumi.String(\"LOGICAL\"),\n\t\t\tHomeDirectoryMappings: transfer.UserHomeDirectoryMappingArray{\n\t\t\t\t\u0026transfer.UserHomeDirectoryMappingArgs{\n\t\t\t\t\tEntry: pulumi.String(\"/test.pdf\"),\n\t\t\t\t\tTarget: pulumi.String(\"/bucket3/test-path/tftestuser.pdf\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.transfer.Server;\nimport com.pulumi.aws.transfer.ServerArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.transfer.User;\nimport com.pulumi.aws.transfer.UserArgs;\nimport com.pulumi.aws.transfer.inputs.UserHomeDirectoryMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fooServer = new Server(\"fooServer\", ServerArgs.builder() \n .identityProviderType(\"SERVICE_MANAGED\")\n .tags(Map.of(\"NAME\", \"tf-acc-test-transfer-server\"))\n .build());\n\n var fooRole = new Role(\"fooRole\", RoleArgs.builder() \n .assumeRolePolicy(\"\"\"\n{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\"Effect\": \"Allow\",\n\t\t\"Principal\": {\n\t\t\t\"Service\": \"transfer.amazonaws.com\"\n\t\t},\n\t\t\"Action\": \"sts:AssumeRole\"\n\t\t}\n\t]\n}\n \"\"\")\n .build());\n\n var fooRolePolicy = new RolePolicy(\"fooRolePolicy\", RolePolicyArgs.builder() \n .role(fooRole.id())\n .policy(\"\"\"\n{\n\t\"Version\": \"2012-10-17\",\n\t\"Statement\": [\n\t\t{\n\t\t\t\"Sid\": \"AllowFullAccesstoS3\",\n\t\t\t\"Effect\": \"Allow\",\n\t\t\t\"Action\": [\n\t\t\t\t\"s3:*\"\n\t\t\t],\n\t\t\t\"Resource\": \"*\"\n\t\t}\n\t]\n}\n \"\"\")\n .build());\n\n var fooUser = new User(\"fooUser\", UserArgs.builder() \n .serverId(fooServer.id())\n .userName(\"tftestuser\")\n .role(fooRole.arn())\n .homeDirectoryType(\"LOGICAL\")\n .homeDirectoryMappings(UserHomeDirectoryMappingArgs.builder()\n .entry(\"/test.pdf\")\n .target(\"/bucket3/test-path/tftestuser.pdf\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooServer:\n type: aws:transfer:Server\n properties:\n identityProviderType: SERVICE_MANAGED\n tags:\n NAME: tf-acc-test-transfer-server\n fooRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: |\n {\n \t\"Version\": \"2012-10-17\",\n \t\"Statement\": [\n \t\t{\n \t\t\"Effect\": \"Allow\",\n \t\t\"Principal\": {\n \t\t\t\"Service\": \"transfer.amazonaws.com\"\n \t\t},\n \t\t\"Action\": \"sts:AssumeRole\"\n \t\t}\n \t]\n }\n fooRolePolicy:\n type: aws:iam:RolePolicy\n properties:\n role: ${fooRole.id}\n policy: |\n {\n \t\"Version\": \"2012-10-17\",\n \t\"Statement\": [\n \t\t{\n \t\t\t\"Sid\": \"AllowFullAccesstoS3\",\n \t\t\t\"Effect\": \"Allow\",\n \t\t\t\"Action\": [\n \t\t\t\t\"s3:*\"\n \t\t\t],\n \t\t\t\"Resource\": \"*\"\n \t\t}\n \t]\n }\n fooUser:\n type: aws:transfer:User\n properties:\n serverId: ${fooServer.id}\n userName: tftestuser\n role: ${fooRole.arn}\n homeDirectoryType: LOGICAL\n homeDirectoryMappings:\n - entry: /test.pdf\n target: /bucket3/test-path/tftestuser.pdf\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nTransfer Users can be imported using the `server_id` and `user_name` separated by `/`.\n\n```sh\n $ pulumi import aws:transfer/user:User bar s-12345678/test-username\n```\n\n ", "properties": { @@ -535620,7 +539863,7 @@ } }, "aws:wafv2/webAcl:WebAcl": { - "description": "Creates a WAFv2 Web ACL resource.\n\n{{% examples %}}\n## Example Usage\n\nThis resource is based on `aws.wafv2.RuleGroup`, check the documentation of the `aws.wafv2.RuleGroup` resource to see examples of the various available statements.\n\n{{% example %}}\n### Managed Rule\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafv2.WebAcl(\"example\", {\n defaultAction: {\n allow: {},\n },\n description: \"Example of a managed rule.\",\n rules: [{\n name: \"rule-1\",\n overrideAction: {\n count: {},\n },\n priority: 1,\n statement: {\n managedRuleGroupStatement: {\n excludedRules: [\n {\n name: \"SizeRestrictions_QUERYSTRING\",\n },\n {\n name: \"NoUserAgent_HEADER\",\n },\n ],\n name: \"AWSManagedRulesCommonRuleSet\",\n scopeDownStatement: {\n geoMatchStatement: {\n countryCodes: [\n \"US\",\n \"NL\",\n ],\n },\n },\n vendorName: \"AWS\",\n },\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-rule-metric-name\",\n sampledRequestsEnabled: false,\n },\n }],\n scope: \"REGIONAL\",\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-metric-name\",\n sampledRequestsEnabled: false,\n },\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafv2.WebAcl;\nimport com.pulumi.aws.wafv2.WebAclArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclDefaultActionAllowArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleOverrideActionArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleOverrideActionCountArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementGeoMatchStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleVisibilityConfigArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclVisibilityConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new WebAcl(\"example\", WebAclArgs.builder() \n .defaultAction(WebAclDefaultActionArgs.builder()\n .allow()\n .build())\n .description(\"Example of a managed rule.\")\n .rules(WebAclRuleArgs.builder()\n .name(\"rule-1\")\n .overrideAction(WebAclRuleOverrideActionArgs.builder()\n .count()\n .build())\n .priority(1)\n .statement(WebAclRuleStatementArgs.builder()\n .managedRuleGroupStatement(WebAclRuleStatementManagedRuleGroupStatementArgs.builder()\n .excludedRule( \n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .name(\"AWSManagedRulesCommonRuleSet\")\n .scopeDownStatement(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementArgs.builder()\n .geoMatchStatement(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementGeoMatchStatementArgs.builder()\n .countryCodes( \n \"US\",\n \"NL\")\n .build())\n .build())\n .vendorName(\"AWS\")\n .build())\n .build())\n .visibilityConfig(WebAclRuleVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-rule-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build())\n .scope(\"REGIONAL\")\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .visibilityConfig(WebAclVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafv2:WebAcl\n properties:\n defaultAction:\n allow: {}\n description: Example of a managed rule.\n rules:\n - name: rule-1\n overrideAction:\n count: {}\n priority: 1\n statement:\n managedRuleGroupStatement:\n excludedRule:\n - name: SizeRestrictions_QUERYSTRING\n - name: NoUserAgent_HEADER\n name: AWSManagedRulesCommonRuleSet\n scopeDownStatement:\n geoMatchStatement:\n countryCodes:\n - US\n - NL\n vendorName: AWS\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-rule-metric-name\n sampledRequestsEnabled: false\n scope: REGIONAL\n tags:\n Tag1: Value1\n Tag2: Value2\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-metric-name\n sampledRequestsEnabled: false\n```\n{{% /example %}}\n{{% example %}}\n### Rate Based\nRate-limit US and NL-based clients to 10,000 requests for every 5 minutes.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafv2.WebAcl(\"example\", {\n defaultAction: {\n allow: {},\n },\n description: \"Example of a Cloudfront rate based statement.\",\n rules: [{\n action: {\n block: {},\n },\n name: \"rule-1\",\n priority: 1,\n statement: {\n rateBasedStatement: {\n aggregateKeyType: \"IP\",\n limit: 10000,\n scopeDownStatement: {\n geoMatchStatement: {\n countryCodes: [\n \"US\",\n \"NL\",\n ],\n },\n },\n },\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-rule-metric-name\",\n sampledRequestsEnabled: false,\n },\n }],\n scope: \"CLOUDFRONT\",\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-metric-name\",\n sampledRequestsEnabled: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.WebAcl(\"example\",\n default_action=aws.wafv2.WebAclDefaultActionArgs(\n allow=aws.wafv2.WebAclDefaultActionAllowArgs(),\n ),\n description=\"Example of a Cloudfront rate based statement.\",\n rules=[aws.wafv2.WebAclRuleArgs(\n action=aws.wafv2.WebAclRuleActionArgs(\n block=aws.wafv2.WebAclRuleActionBlockArgs(),\n ),\n name=\"rule-1\",\n priority=1,\n statement=aws.wafv2.WebAclRuleStatementArgs(\n rate_based_statement=aws.wafv2.WebAclRuleStatementRateBasedStatementArgs(\n aggregate_key_type=\"IP\",\n limit=10000,\n scope_down_statement=aws.wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementArgs(\n geo_match_statement=aws.wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementGeoMatchStatementArgs(\n country_codes=[\n \"US\",\n \"NL\",\n ],\n ),\n ),\n ),\n ),\n visibility_config=aws.wafv2.WebAclRuleVisibilityConfigArgs(\n cloudwatch_metrics_enabled=False,\n metric_name=\"friendly-rule-metric-name\",\n sampled_requests_enabled=False,\n ),\n )],\n scope=\"CLOUDFRONT\",\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n },\n visibility_config=aws.wafv2.WebAclVisibilityConfigArgs(\n cloudwatch_metrics_enabled=False,\n metric_name=\"friendly-metric-name\",\n sampled_requests_enabled=False,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafV2.WebAcl(\"example\", new()\n {\n DefaultAction = new Aws.WafV2.Inputs.WebAclDefaultActionArgs\n {\n Allow = ,\n },\n Description = \"Example of a Cloudfront rate based statement.\",\n Rules = new[]\n {\n new Aws.WafV2.Inputs.WebAclRuleArgs\n {\n Action = new Aws.WafV2.Inputs.WebAclRuleActionArgs\n {\n Block = ,\n },\n Name = \"rule-1\",\n Priority = 1,\n Statement = new Aws.WafV2.Inputs.WebAclRuleStatementArgs\n {\n RateBasedStatement = new Aws.WafV2.Inputs.WebAclRuleStatementRateBasedStatementArgs\n {\n AggregateKeyType = \"IP\",\n Limit = 10000,\n ScopeDownStatement = new Aws.WafV2.Inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementArgs\n {\n GeoMatchStatement = new Aws.WafV2.Inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementGeoMatchStatementArgs\n {\n CountryCodes = new[]\n {\n \"US\",\n \"NL\",\n },\n },\n },\n },\n },\n VisibilityConfig = new Aws.WafV2.Inputs.WebAclRuleVisibilityConfigArgs\n {\n CloudwatchMetricsEnabled = false,\n MetricName = \"friendly-rule-metric-name\",\n SampledRequestsEnabled = false,\n },\n },\n },\n Scope = \"CLOUDFRONT\",\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n VisibilityConfig = new Aws.WafV2.Inputs.WebAclVisibilityConfigArgs\n {\n CloudwatchMetricsEnabled = false,\n MetricName = \"friendly-metric-name\",\n SampledRequestsEnabled = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/wafv2\"\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 := wafv2.NewWebAcl(ctx, \"example\", \u0026wafv2.WebAclArgs{\n\t\t\tDefaultAction: \u0026wafv2.WebAclDefaultActionArgs{\n\t\t\t\tAllow: nil,\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Example of a Cloudfront rate based statement.\"),\n\t\t\tRules: wafv2.WebAclRuleArray{\n\t\t\t\t\u0026wafv2.WebAclRuleArgs{\n\t\t\t\t\tAction: \u0026wafv2.WebAclRuleActionArgs{\n\t\t\t\t\t\tBlock: nil,\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"rule-1\"),\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tStatement: \u0026wafv2.WebAclRuleStatementArgs{\n\t\t\t\t\t\tRateBasedStatement: \u0026wafv2.WebAclRuleStatementRateBasedStatementArgs{\n\t\t\t\t\t\t\tAggregateKeyType: pulumi.String(\"IP\"),\n\t\t\t\t\t\t\tLimit: pulumi.Int(10000),\n\t\t\t\t\t\t\tScopeDownStatement: \u0026wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementArgs{\n\t\t\t\t\t\t\t\tGeoMatchStatement: \u0026wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementGeoMatchStatementArgs{\n\t\t\t\t\t\t\t\t\tCountryCodes: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"NL\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tVisibilityConfig: \u0026wafv2.WebAclRuleVisibilityConfigArgs{\n\t\t\t\t\t\tCloudwatchMetricsEnabled: pulumi.Bool(false),\n\t\t\t\t\t\tMetricName: pulumi.String(\"friendly-rule-metric-name\"),\n\t\t\t\t\t\tSampledRequestsEnabled: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tScope: pulumi.String(\"CLOUDFRONT\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\n\t\t\t},\n\t\t\tVisibilityConfig: \u0026wafv2.WebAclVisibilityConfigArgs{\n\t\t\t\tCloudwatchMetricsEnabled: pulumi.Bool(false),\n\t\t\t\tMetricName: pulumi.String(\"friendly-metric-name\"),\n\t\t\t\tSampledRequestsEnabled: pulumi.Bool(false),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafv2.WebAcl;\nimport com.pulumi.aws.wafv2.WebAclArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclDefaultActionAllowArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleActionArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleActionBlockArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementGeoMatchStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleVisibilityConfigArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclVisibilityConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new WebAcl(\"example\", WebAclArgs.builder() \n .defaultAction(WebAclDefaultActionArgs.builder()\n .allow()\n .build())\n .description(\"Example of a Cloudfront rate based statement.\")\n .rules(WebAclRuleArgs.builder()\n .action(WebAclRuleActionArgs.builder()\n .block()\n .build())\n .name(\"rule-1\")\n .priority(1)\n .statement(WebAclRuleStatementArgs.builder()\n .rateBasedStatement(WebAclRuleStatementRateBasedStatementArgs.builder()\n .aggregateKeyType(\"IP\")\n .limit(10000)\n .scopeDownStatement(WebAclRuleStatementRateBasedStatementScopeDownStatementArgs.builder()\n .geoMatchStatement(WebAclRuleStatementRateBasedStatementScopeDownStatementGeoMatchStatementArgs.builder()\n .countryCodes( \n \"US\",\n \"NL\")\n .build())\n .build())\n .build())\n .build())\n .visibilityConfig(WebAclRuleVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-rule-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build())\n .scope(\"CLOUDFRONT\")\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .visibilityConfig(WebAclVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafv2:WebAcl\n properties:\n defaultAction:\n allow: {}\n description: Example of a Cloudfront rate based statement.\n rules:\n - action:\n block: {}\n name: rule-1\n priority: 1\n statement:\n rateBasedStatement:\n aggregateKeyType: IP\n limit: 10000\n scopeDownStatement:\n geoMatchStatement:\n countryCodes:\n - US\n - NL\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-rule-metric-name\n sampledRequestsEnabled: false\n scope: CLOUDFRONT\n tags:\n Tag1: Value1\n Tag2: Value2\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-metric-name\n sampledRequestsEnabled: false\n```\n{{% /example %}}\n{{% example %}}\n### Rule Group Reference\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafv2.RuleGroup(\"example\", {\n capacity: 10,\n scope: \"REGIONAL\",\n rules: [\n {\n name: \"rule-1\",\n priority: 1,\n action: {\n count: {},\n },\n statement: {\n geoMatchStatement: {\n countryCodes: [\"NL\"],\n },\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-rule-metric-name\",\n sampledRequestsEnabled: false,\n },\n },\n {\n name: \"rule-to-exclude-a\",\n priority: 10,\n action: {\n allow: {},\n },\n statement: {\n geoMatchStatement: {\n countryCodes: [\"US\"],\n },\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-rule-metric-name\",\n sampledRequestsEnabled: false,\n },\n },\n {\n name: \"rule-to-exclude-b\",\n priority: 15,\n action: {\n allow: {},\n },\n statement: {\n geoMatchStatement: {\n countryCodes: [\"GB\"],\n },\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-rule-metric-name\",\n sampledRequestsEnabled: false,\n },\n },\n ],\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-metric-name\",\n sampledRequestsEnabled: false,\n },\n});\nconst test = new aws.wafv2.WebAcl(\"test\", {\n scope: \"REGIONAL\",\n defaultAction: {\n block: {},\n },\n rules: [{\n name: \"rule-1\",\n priority: 1,\n overrideAction: {\n count: {},\n },\n statement: {\n ruleGroupReferenceStatement: {\n arn: example.arn,\n excludedRules: [\n {\n name: \"rule-to-exclude-b\",\n },\n {\n name: \"rule-to-exclude-a\",\n },\n ],\n },\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-rule-metric-name\",\n sampledRequestsEnabled: false,\n },\n }],\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-metric-name\",\n sampledRequestsEnabled: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.RuleGroup(\"example\",\n capacity=10,\n scope=\"REGIONAL\",\n rules=[\n aws.wafv2.RuleGroupRuleArgs(\n name=\"rule-1\",\n priority=1,\n action=aws.wafv2.RuleGroupRuleActionArgs(\n count=aws.wafv2.RuleGroupRuleActionCountArgs(),\n ),\n statement=aws.wafv2.RuleGroupRuleStatementArgs(\n geo_match_statement=aws.wafv2.RuleGroupRuleStatementGeoMatchStatementArgs(\n country_codes=[\"NL\"],\n ),\n ),\n visibility_config=aws.wafv2.RuleGroupRuleVisibilityConfigArgs(\n cloudwatch_metrics_enabled=False,\n metric_name=\"friendly-rule-metric-name\",\n sampled_requests_enabled=False,\n ),\n ),\n aws.wafv2.RuleGroupRuleArgs(\n name=\"rule-to-exclude-a\",\n priority=10,\n action=aws.wafv2.RuleGroupRuleActionArgs(\n allow=aws.wafv2.RuleGroupRuleActionAllowArgs(),\n ),\n statement=aws.wafv2.RuleGroupRuleStatementArgs(\n geo_match_statement=aws.wafv2.RuleGroupRuleStatementGeoMatchStatementArgs(\n country_codes=[\"US\"],\n ),\n ),\n visibility_config=aws.wafv2.RuleGroupRuleVisibilityConfigArgs(\n cloudwatch_metrics_enabled=False,\n metric_name=\"friendly-rule-metric-name\",\n sampled_requests_enabled=False,\n ),\n ),\n aws.wafv2.RuleGroupRuleArgs(\n name=\"rule-to-exclude-b\",\n priority=15,\n action=aws.wafv2.RuleGroupRuleActionArgs(\n allow=aws.wafv2.RuleGroupRuleActionAllowArgs(),\n ),\n statement=aws.wafv2.RuleGroupRuleStatementArgs(\n geo_match_statement=aws.wafv2.RuleGroupRuleStatementGeoMatchStatementArgs(\n country_codes=[\"GB\"],\n ),\n ),\n visibility_config=aws.wafv2.RuleGroupRuleVisibilityConfigArgs(\n cloudwatch_metrics_enabled=False,\n metric_name=\"friendly-rule-metric-name\",\n sampled_requests_enabled=False,\n ),\n ),\n ],\n visibility_config=aws.wafv2.RuleGroupVisibilityConfigArgs(\n cloudwatch_metrics_enabled=False,\n metric_name=\"friendly-metric-name\",\n sampled_requests_enabled=False,\n ))\ntest = aws.wafv2.WebAcl(\"test\",\n scope=\"REGIONAL\",\n default_action=aws.wafv2.WebAclDefaultActionArgs(\n block=aws.wafv2.WebAclDefaultActionBlockArgs(),\n ),\n rules=[aws.wafv2.WebAclRuleArgs(\n name=\"rule-1\",\n priority=1,\n override_action=aws.wafv2.WebAclRuleOverrideActionArgs(\n count=aws.wafv2.WebAclRuleOverrideActionCountArgs(),\n ),\n statement=aws.wafv2.WebAclRuleStatementArgs(\n rule_group_reference_statement=aws.wafv2.WebAclRuleStatementRuleGroupReferenceStatementArgs(\n arn=example.arn,\n excluded_rules=[\n aws.wafv2.WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArgs(\n name=\"rule-to-exclude-b\",\n ),\n aws.wafv2.WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArgs(\n name=\"rule-to-exclude-a\",\n ),\n ],\n ),\n ),\n visibility_config=aws.wafv2.WebAclRuleVisibilityConfigArgs(\n cloudwatch_metrics_enabled=False,\n metric_name=\"friendly-rule-metric-name\",\n sampled_requests_enabled=False,\n ),\n )],\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n },\n visibility_config=aws.wafv2.WebAclVisibilityConfigArgs(\n cloudwatch_metrics_enabled=False,\n metric_name=\"friendly-metric-name\",\n sampled_requests_enabled=False,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafV2.RuleGroup(\"example\", new()\n {\n Capacity = 10,\n Scope = \"REGIONAL\",\n Rules = new[]\n {\n new Aws.WafV2.Inputs.RuleGroupRuleArgs\n {\n Name = \"rule-1\",\n Priority = 1,\n Action = new Aws.WafV2.Inputs.RuleGroupRuleActionArgs\n {\n Count = ,\n },\n Statement = new Aws.WafV2.Inputs.RuleGroupRuleStatementArgs\n {\n GeoMatchStatement = new Aws.WafV2.Inputs.RuleGroupRuleStatementGeoMatchStatementArgs\n {\n CountryCodes = new[]\n {\n \"NL\",\n },\n },\n },\n VisibilityConfig = new Aws.WafV2.Inputs.RuleGroupRuleVisibilityConfigArgs\n {\n CloudwatchMetricsEnabled = false,\n MetricName = \"friendly-rule-metric-name\",\n SampledRequestsEnabled = false,\n },\n },\n new Aws.WafV2.Inputs.RuleGroupRuleArgs\n {\n Name = \"rule-to-exclude-a\",\n Priority = 10,\n Action = new Aws.WafV2.Inputs.RuleGroupRuleActionArgs\n {\n Allow = ,\n },\n Statement = new Aws.WafV2.Inputs.RuleGroupRuleStatementArgs\n {\n GeoMatchStatement = new Aws.WafV2.Inputs.RuleGroupRuleStatementGeoMatchStatementArgs\n {\n CountryCodes = new[]\n {\n \"US\",\n },\n },\n },\n VisibilityConfig = new Aws.WafV2.Inputs.RuleGroupRuleVisibilityConfigArgs\n {\n CloudwatchMetricsEnabled = false,\n MetricName = \"friendly-rule-metric-name\",\n SampledRequestsEnabled = false,\n },\n },\n new Aws.WafV2.Inputs.RuleGroupRuleArgs\n {\n Name = \"rule-to-exclude-b\",\n Priority = 15,\n Action = new Aws.WafV2.Inputs.RuleGroupRuleActionArgs\n {\n Allow = ,\n },\n Statement = new Aws.WafV2.Inputs.RuleGroupRuleStatementArgs\n {\n GeoMatchStatement = new Aws.WafV2.Inputs.RuleGroupRuleStatementGeoMatchStatementArgs\n {\n CountryCodes = new[]\n {\n \"GB\",\n },\n },\n },\n VisibilityConfig = new Aws.WafV2.Inputs.RuleGroupRuleVisibilityConfigArgs\n {\n CloudwatchMetricsEnabled = false,\n MetricName = \"friendly-rule-metric-name\",\n SampledRequestsEnabled = false,\n },\n },\n },\n VisibilityConfig = new Aws.WafV2.Inputs.RuleGroupVisibilityConfigArgs\n {\n CloudwatchMetricsEnabled = false,\n MetricName = \"friendly-metric-name\",\n SampledRequestsEnabled = false,\n },\n });\n\n var test = new Aws.WafV2.WebAcl(\"test\", new()\n {\n Scope = \"REGIONAL\",\n DefaultAction = new Aws.WafV2.Inputs.WebAclDefaultActionArgs\n {\n Block = ,\n },\n Rules = new[]\n {\n new Aws.WafV2.Inputs.WebAclRuleArgs\n {\n Name = \"rule-1\",\n Priority = 1,\n OverrideAction = new Aws.WafV2.Inputs.WebAclRuleOverrideActionArgs\n {\n Count = ,\n },\n Statement = new Aws.WafV2.Inputs.WebAclRuleStatementArgs\n {\n RuleGroupReferenceStatement = new Aws.WafV2.Inputs.WebAclRuleStatementRuleGroupReferenceStatementArgs\n {\n Arn = example.Arn,\n ExcludedRules = new[]\n {\n new Aws.WafV2.Inputs.WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArgs\n {\n Name = \"rule-to-exclude-b\",\n },\n new Aws.WafV2.Inputs.WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArgs\n {\n Name = \"rule-to-exclude-a\",\n },\n },\n },\n },\n VisibilityConfig = new Aws.WafV2.Inputs.WebAclRuleVisibilityConfigArgs\n {\n CloudwatchMetricsEnabled = false,\n MetricName = \"friendly-rule-metric-name\",\n SampledRequestsEnabled = false,\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n VisibilityConfig = new Aws.WafV2.Inputs.WebAclVisibilityConfigArgs\n {\n CloudwatchMetricsEnabled = false,\n MetricName = \"friendly-metric-name\",\n SampledRequestsEnabled = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/wafv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := wafv2.NewRuleGroup(ctx, \"example\", \u0026wafv2.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(10),\n\t\t\tScope: pulumi.String(\"REGIONAL\"),\n\t\t\tRules: wafv2.RuleGroupRuleArray{\n\t\t\t\t\u0026wafv2.RuleGroupRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"rule-1\"),\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tAction: \u0026wafv2.RuleGroupRuleActionArgs{\n\t\t\t\t\t\tCount: nil,\n\t\t\t\t\t},\n\t\t\t\t\tStatement: \u0026wafv2.RuleGroupRuleStatementArgs{\n\t\t\t\t\t\tGeoMatchStatement: \u0026wafv2.RuleGroupRuleStatementGeoMatchStatementArgs{\n\t\t\t\t\t\t\tCountryCodes: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"NL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tVisibilityConfig: \u0026wafv2.RuleGroupRuleVisibilityConfigArgs{\n\t\t\t\t\t\tCloudwatchMetricsEnabled: pulumi.Bool(false),\n\t\t\t\t\t\tMetricName: pulumi.String(\"friendly-rule-metric-name\"),\n\t\t\t\t\t\tSampledRequestsEnabled: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026wafv2.RuleGroupRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"rule-to-exclude-a\"),\n\t\t\t\t\tPriority: pulumi.Int(10),\n\t\t\t\t\tAction: \u0026wafv2.RuleGroupRuleActionArgs{\n\t\t\t\t\t\tAllow: nil,\n\t\t\t\t\t},\n\t\t\t\t\tStatement: \u0026wafv2.RuleGroupRuleStatementArgs{\n\t\t\t\t\t\tGeoMatchStatement: \u0026wafv2.RuleGroupRuleStatementGeoMatchStatementArgs{\n\t\t\t\t\t\t\tCountryCodes: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tVisibilityConfig: \u0026wafv2.RuleGroupRuleVisibilityConfigArgs{\n\t\t\t\t\t\tCloudwatchMetricsEnabled: pulumi.Bool(false),\n\t\t\t\t\t\tMetricName: pulumi.String(\"friendly-rule-metric-name\"),\n\t\t\t\t\t\tSampledRequestsEnabled: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026wafv2.RuleGroupRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"rule-to-exclude-b\"),\n\t\t\t\t\tPriority: pulumi.Int(15),\n\t\t\t\t\tAction: \u0026wafv2.RuleGroupRuleActionArgs{\n\t\t\t\t\t\tAllow: nil,\n\t\t\t\t\t},\n\t\t\t\t\tStatement: \u0026wafv2.RuleGroupRuleStatementArgs{\n\t\t\t\t\t\tGeoMatchStatement: \u0026wafv2.RuleGroupRuleStatementGeoMatchStatementArgs{\n\t\t\t\t\t\t\tCountryCodes: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"GB\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tVisibilityConfig: \u0026wafv2.RuleGroupRuleVisibilityConfigArgs{\n\t\t\t\t\t\tCloudwatchMetricsEnabled: pulumi.Bool(false),\n\t\t\t\t\t\tMetricName: pulumi.String(\"friendly-rule-metric-name\"),\n\t\t\t\t\t\tSampledRequestsEnabled: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tVisibilityConfig: \u0026wafv2.RuleGroupVisibilityConfigArgs{\n\t\t\t\tCloudwatchMetricsEnabled: pulumi.Bool(false),\n\t\t\t\tMetricName: pulumi.String(\"friendly-metric-name\"),\n\t\t\t\tSampledRequestsEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafv2.NewWebAcl(ctx, \"test\", \u0026wafv2.WebAclArgs{\n\t\t\tScope: pulumi.String(\"REGIONAL\"),\n\t\t\tDefaultAction: \u0026wafv2.WebAclDefaultActionArgs{\n\t\t\t\tBlock: nil,\n\t\t\t},\n\t\t\tRules: wafv2.WebAclRuleArray{\n\t\t\t\t\u0026wafv2.WebAclRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"rule-1\"),\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tOverrideAction: \u0026wafv2.WebAclRuleOverrideActionArgs{\n\t\t\t\t\t\tCount: nil,\n\t\t\t\t\t},\n\t\t\t\t\tStatement: \u0026wafv2.WebAclRuleStatementArgs{\n\t\t\t\t\t\tRuleGroupReferenceStatement: \u0026wafv2.WebAclRuleStatementRuleGroupReferenceStatementArgs{\n\t\t\t\t\t\t\tArn: example.Arn,\n\t\t\t\t\t\t\tExcludedRules: wafv2.WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArray{\n\t\t\t\t\t\t\t\t\u0026wafv2.WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"rule-to-exclude-b\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026wafv2.WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"rule-to-exclude-a\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tVisibilityConfig: \u0026wafv2.WebAclRuleVisibilityConfigArgs{\n\t\t\t\t\t\tCloudwatchMetricsEnabled: pulumi.Bool(false),\n\t\t\t\t\t\tMetricName: pulumi.String(\"friendly-rule-metric-name\"),\n\t\t\t\t\t\tSampledRequestsEnabled: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\n\t\t\t},\n\t\t\tVisibilityConfig: \u0026wafv2.WebAclVisibilityConfigArgs{\n\t\t\t\tCloudwatchMetricsEnabled: pulumi.Bool(false),\n\t\t\t\tMetricName: pulumi.String(\"friendly-metric-name\"),\n\t\t\t\tSampledRequestsEnabled: pulumi.Bool(false),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafv2.RuleGroup;\nimport com.pulumi.aws.wafv2.RuleGroupArgs;\nimport com.pulumi.aws.wafv2.inputs.RuleGroupRuleArgs;\nimport com.pulumi.aws.wafv2.inputs.RuleGroupRuleActionArgs;\nimport com.pulumi.aws.wafv2.inputs.RuleGroupRuleActionCountArgs;\nimport com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementGeoMatchStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.RuleGroupRuleVisibilityConfigArgs;\nimport com.pulumi.aws.wafv2.inputs.RuleGroupRuleActionAllowArgs;\nimport com.pulumi.aws.wafv2.inputs.RuleGroupVisibilityConfigArgs;\nimport com.pulumi.aws.wafv2.WebAcl;\nimport com.pulumi.aws.wafv2.WebAclArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclDefaultActionBlockArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleOverrideActionArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleOverrideActionCountArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRuleGroupReferenceStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleVisibilityConfigArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclVisibilityConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuleGroup(\"example\", RuleGroupArgs.builder() \n .capacity(10)\n .scope(\"REGIONAL\")\n .rules( \n RuleGroupRuleArgs.builder()\n .name(\"rule-1\")\n .priority(1)\n .action(RuleGroupRuleActionArgs.builder()\n .count()\n .build())\n .statement(RuleGroupRuleStatementArgs.builder()\n .geoMatchStatement(RuleGroupRuleStatementGeoMatchStatementArgs.builder()\n .countryCodes(\"NL\")\n .build())\n .build())\n .visibilityConfig(RuleGroupRuleVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-rule-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build(),\n RuleGroupRuleArgs.builder()\n .name(\"rule-to-exclude-a\")\n .priority(10)\n .action(RuleGroupRuleActionArgs.builder()\n .allow()\n .build())\n .statement(RuleGroupRuleStatementArgs.builder()\n .geoMatchStatement(RuleGroupRuleStatementGeoMatchStatementArgs.builder()\n .countryCodes(\"US\")\n .build())\n .build())\n .visibilityConfig(RuleGroupRuleVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-rule-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build(),\n RuleGroupRuleArgs.builder()\n .name(\"rule-to-exclude-b\")\n .priority(15)\n .action(RuleGroupRuleActionArgs.builder()\n .allow()\n .build())\n .statement(RuleGroupRuleStatementArgs.builder()\n .geoMatchStatement(RuleGroupRuleStatementGeoMatchStatementArgs.builder()\n .countryCodes(\"GB\")\n .build())\n .build())\n .visibilityConfig(RuleGroupRuleVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-rule-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build())\n .visibilityConfig(RuleGroupVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build());\n\n var test = new WebAcl(\"test\", WebAclArgs.builder() \n .scope(\"REGIONAL\")\n .defaultAction(WebAclDefaultActionArgs.builder()\n .block()\n .build())\n .rules(WebAclRuleArgs.builder()\n .name(\"rule-1\")\n .priority(1)\n .overrideAction(WebAclRuleOverrideActionArgs.builder()\n .count()\n .build())\n .statement(WebAclRuleStatementArgs.builder()\n .ruleGroupReferenceStatement(WebAclRuleStatementRuleGroupReferenceStatementArgs.builder()\n .arn(example.arn())\n .excludedRules( \n WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArgs.builder()\n .name(\"rule-to-exclude-b\")\n .build(),\n WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArgs.builder()\n .name(\"rule-to-exclude-a\")\n .build())\n .build())\n .build())\n .visibilityConfig(WebAclRuleVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-rule-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .visibilityConfig(WebAclVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafv2:RuleGroup\n properties:\n capacity: 10\n scope: REGIONAL\n rules:\n - name: rule-1\n priority: 1\n action:\n count: {}\n statement:\n geoMatchStatement:\n countryCodes:\n - NL\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-rule-metric-name\n sampledRequestsEnabled: false\n - name: rule-to-exclude-a\n priority: 10\n action:\n allow: {}\n statement:\n geoMatchStatement:\n countryCodes:\n - US\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-rule-metric-name\n sampledRequestsEnabled: false\n - name: rule-to-exclude-b\n priority: 15\n action:\n allow: {}\n statement:\n geoMatchStatement:\n countryCodes:\n - GB\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-rule-metric-name\n sampledRequestsEnabled: false\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-metric-name\n sampledRequestsEnabled: false\n test:\n type: aws:wafv2:WebAcl\n properties:\n scope: REGIONAL\n defaultAction:\n block: {}\n rules:\n - name: rule-1\n priority: 1\n overrideAction:\n count: {}\n statement:\n ruleGroupReferenceStatement:\n arn: ${example.arn}\n excludedRules:\n - name: rule-to-exclude-b\n - name: rule-to-exclude-a\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-rule-metric-name\n sampledRequestsEnabled: false\n tags:\n Tag1: Value1\n Tag2: Value2\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-metric-name\n sampledRequestsEnabled: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nWAFv2 Web ACLs can be imported using `ID/Name/Scope` e.g.,\n\n```sh\n $ pulumi import aws:wafv2/webAcl:WebAcl example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc/example/REGIONAL\n```\n\n ", + "description": "Creates a WAFv2 Web ACL resource.\n\n{{% examples %}}\n## Example Usage\n\nThis resource is based on `aws.wafv2.RuleGroup`, check the documentation of the `aws.wafv2.RuleGroup` resource to see examples of the various available statements.\n{{% example %}}\n### Managed Rule\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafv2.WebAcl(\"example\", {\n defaultAction: {\n allow: {},\n },\n description: \"Example of a managed rule.\",\n rules: [{\n name: \"rule-1\",\n overrideAction: {\n count: {},\n },\n priority: 1,\n statement: {\n managedRuleGroupStatement: {\n excludedRules: [\n {\n name: \"SizeRestrictions_QUERYSTRING\",\n },\n {\n name: \"NoUserAgent_HEADER\",\n },\n ],\n name: \"AWSManagedRulesCommonRuleSet\",\n scopeDownStatement: {\n geoMatchStatement: {\n countryCodes: [\n \"US\",\n \"NL\",\n ],\n },\n },\n vendorName: \"AWS\",\n },\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-rule-metric-name\",\n sampledRequestsEnabled: false,\n },\n }],\n scope: \"REGIONAL\",\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-metric-name\",\n sampledRequestsEnabled: false,\n },\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafv2.WebAcl;\nimport com.pulumi.aws.wafv2.WebAclArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclDefaultActionAllowArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleOverrideActionArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleOverrideActionCountArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementGeoMatchStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleVisibilityConfigArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclVisibilityConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new WebAcl(\"example\", WebAclArgs.builder() \n .defaultAction(WebAclDefaultActionArgs.builder()\n .allow()\n .build())\n .description(\"Example of a managed rule.\")\n .rules(WebAclRuleArgs.builder()\n .name(\"rule-1\")\n .overrideAction(WebAclRuleOverrideActionArgs.builder()\n .count()\n .build())\n .priority(1)\n .statement(WebAclRuleStatementArgs.builder()\n .managedRuleGroupStatement(WebAclRuleStatementManagedRuleGroupStatementArgs.builder()\n .excludedRule( \n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .name(\"AWSManagedRulesCommonRuleSet\")\n .scopeDownStatement(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementArgs.builder()\n .geoMatchStatement(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementGeoMatchStatementArgs.builder()\n .countryCodes( \n \"US\",\n \"NL\")\n .build())\n .build())\n .vendorName(\"AWS\")\n .build())\n .build())\n .visibilityConfig(WebAclRuleVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-rule-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build())\n .scope(\"REGIONAL\")\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .visibilityConfig(WebAclVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafv2:WebAcl\n properties:\n defaultAction:\n allow: {}\n description: Example of a managed rule.\n rules:\n - name: rule-1\n overrideAction:\n count: {}\n priority: 1\n statement:\n managedRuleGroupStatement:\n excludedRule:\n - name: SizeRestrictions_QUERYSTRING\n - name: NoUserAgent_HEADER\n name: AWSManagedRulesCommonRuleSet\n scopeDownStatement:\n geoMatchStatement:\n countryCodes:\n - US\n - NL\n vendorName: AWS\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-rule-metric-name\n sampledRequestsEnabled: false\n scope: REGIONAL\n tags:\n Tag1: Value1\n Tag2: Value2\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-metric-name\n sampledRequestsEnabled: false\n```\n{{% /example %}}\n{{% example %}}\n### Rate Based\nRate-limit US and NL-based clients to 10,000 requests for every 5 minutes.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafv2.WebAcl(\"example\", {\n defaultAction: {\n allow: {},\n },\n description: \"Example of a Cloudfront rate based statement.\",\n rules: [{\n action: {\n block: {},\n },\n name: \"rule-1\",\n priority: 1,\n statement: {\n rateBasedStatement: {\n aggregateKeyType: \"IP\",\n limit: 10000,\n scopeDownStatement: {\n geoMatchStatement: {\n countryCodes: [\n \"US\",\n \"NL\",\n ],\n },\n },\n },\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-rule-metric-name\",\n sampledRequestsEnabled: false,\n },\n }],\n scope: \"CLOUDFRONT\",\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-metric-name\",\n sampledRequestsEnabled: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.WebAcl(\"example\",\n default_action=aws.wafv2.WebAclDefaultActionArgs(\n allow=aws.wafv2.WebAclDefaultActionAllowArgs(),\n ),\n description=\"Example of a Cloudfront rate based statement.\",\n rules=[aws.wafv2.WebAclRuleArgs(\n action=aws.wafv2.WebAclRuleActionArgs(\n block=aws.wafv2.WebAclRuleActionBlockArgs(),\n ),\n name=\"rule-1\",\n priority=1,\n statement=aws.wafv2.WebAclRuleStatementArgs(\n rate_based_statement=aws.wafv2.WebAclRuleStatementRateBasedStatementArgs(\n aggregate_key_type=\"IP\",\n limit=10000,\n scope_down_statement=aws.wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementArgs(\n geo_match_statement=aws.wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementGeoMatchStatementArgs(\n country_codes=[\n \"US\",\n \"NL\",\n ],\n ),\n ),\n ),\n ),\n visibility_config=aws.wafv2.WebAclRuleVisibilityConfigArgs(\n cloudwatch_metrics_enabled=False,\n metric_name=\"friendly-rule-metric-name\",\n sampled_requests_enabled=False,\n ),\n )],\n scope=\"CLOUDFRONT\",\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n },\n visibility_config=aws.wafv2.WebAclVisibilityConfigArgs(\n cloudwatch_metrics_enabled=False,\n metric_name=\"friendly-metric-name\",\n sampled_requests_enabled=False,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafV2.WebAcl(\"example\", new()\n {\n DefaultAction = new Aws.WafV2.Inputs.WebAclDefaultActionArgs\n {\n Allow = ,\n },\n Description = \"Example of a Cloudfront rate based statement.\",\n Rules = new[]\n {\n new Aws.WafV2.Inputs.WebAclRuleArgs\n {\n Action = new Aws.WafV2.Inputs.WebAclRuleActionArgs\n {\n Block = ,\n },\n Name = \"rule-1\",\n Priority = 1,\n Statement = new Aws.WafV2.Inputs.WebAclRuleStatementArgs\n {\n RateBasedStatement = new Aws.WafV2.Inputs.WebAclRuleStatementRateBasedStatementArgs\n {\n AggregateKeyType = \"IP\",\n Limit = 10000,\n ScopeDownStatement = new Aws.WafV2.Inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementArgs\n {\n GeoMatchStatement = new Aws.WafV2.Inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementGeoMatchStatementArgs\n {\n CountryCodes = new[]\n {\n \"US\",\n \"NL\",\n },\n },\n },\n },\n },\n VisibilityConfig = new Aws.WafV2.Inputs.WebAclRuleVisibilityConfigArgs\n {\n CloudwatchMetricsEnabled = false,\n MetricName = \"friendly-rule-metric-name\",\n SampledRequestsEnabled = false,\n },\n },\n },\n Scope = \"CLOUDFRONT\",\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n VisibilityConfig = new Aws.WafV2.Inputs.WebAclVisibilityConfigArgs\n {\n CloudwatchMetricsEnabled = false,\n MetricName = \"friendly-metric-name\",\n SampledRequestsEnabled = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/wafv2\"\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 := wafv2.NewWebAcl(ctx, \"example\", \u0026wafv2.WebAclArgs{\n\t\t\tDefaultAction: \u0026wafv2.WebAclDefaultActionArgs{\n\t\t\t\tAllow: nil,\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Example of a Cloudfront rate based statement.\"),\n\t\t\tRules: wafv2.WebAclRuleArray{\n\t\t\t\t\u0026wafv2.WebAclRuleArgs{\n\t\t\t\t\tAction: \u0026wafv2.WebAclRuleActionArgs{\n\t\t\t\t\t\tBlock: nil,\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"rule-1\"),\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tStatement: \u0026wafv2.WebAclRuleStatementArgs{\n\t\t\t\t\t\tRateBasedStatement: \u0026wafv2.WebAclRuleStatementRateBasedStatementArgs{\n\t\t\t\t\t\t\tAggregateKeyType: pulumi.String(\"IP\"),\n\t\t\t\t\t\t\tLimit: pulumi.Int(10000),\n\t\t\t\t\t\t\tScopeDownStatement: \u0026wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementArgs{\n\t\t\t\t\t\t\t\tGeoMatchStatement: \u0026wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementGeoMatchStatementArgs{\n\t\t\t\t\t\t\t\t\tCountryCodes: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"NL\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tVisibilityConfig: \u0026wafv2.WebAclRuleVisibilityConfigArgs{\n\t\t\t\t\t\tCloudwatchMetricsEnabled: pulumi.Bool(false),\n\t\t\t\t\t\tMetricName: pulumi.String(\"friendly-rule-metric-name\"),\n\t\t\t\t\t\tSampledRequestsEnabled: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tScope: pulumi.String(\"CLOUDFRONT\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\n\t\t\t},\n\t\t\tVisibilityConfig: \u0026wafv2.WebAclVisibilityConfigArgs{\n\t\t\t\tCloudwatchMetricsEnabled: pulumi.Bool(false),\n\t\t\t\tMetricName: pulumi.String(\"friendly-metric-name\"),\n\t\t\t\tSampledRequestsEnabled: pulumi.Bool(false),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafv2.WebAcl;\nimport com.pulumi.aws.wafv2.WebAclArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclDefaultActionAllowArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleActionArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleActionBlockArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementGeoMatchStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleVisibilityConfigArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclVisibilityConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new WebAcl(\"example\", WebAclArgs.builder() \n .defaultAction(WebAclDefaultActionArgs.builder()\n .allow()\n .build())\n .description(\"Example of a Cloudfront rate based statement.\")\n .rules(WebAclRuleArgs.builder()\n .action(WebAclRuleActionArgs.builder()\n .block()\n .build())\n .name(\"rule-1\")\n .priority(1)\n .statement(WebAclRuleStatementArgs.builder()\n .rateBasedStatement(WebAclRuleStatementRateBasedStatementArgs.builder()\n .aggregateKeyType(\"IP\")\n .limit(10000)\n .scopeDownStatement(WebAclRuleStatementRateBasedStatementScopeDownStatementArgs.builder()\n .geoMatchStatement(WebAclRuleStatementRateBasedStatementScopeDownStatementGeoMatchStatementArgs.builder()\n .countryCodes( \n \"US\",\n \"NL\")\n .build())\n .build())\n .build())\n .build())\n .visibilityConfig(WebAclRuleVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-rule-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build())\n .scope(\"CLOUDFRONT\")\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .visibilityConfig(WebAclVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafv2:WebAcl\n properties:\n defaultAction:\n allow: {}\n description: Example of a Cloudfront rate based statement.\n rules:\n - action:\n block: {}\n name: rule-1\n priority: 1\n statement:\n rateBasedStatement:\n aggregateKeyType: IP\n limit: 10000\n scopeDownStatement:\n geoMatchStatement:\n countryCodes:\n - US\n - NL\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-rule-metric-name\n sampledRequestsEnabled: false\n scope: CLOUDFRONT\n tags:\n Tag1: Value1\n Tag2: Value2\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-metric-name\n sampledRequestsEnabled: false\n```\n{{% /example %}}\n{{% example %}}\n### Rule Group Reference\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.wafv2.RuleGroup(\"example\", {\n capacity: 10,\n scope: \"REGIONAL\",\n rules: [\n {\n name: \"rule-1\",\n priority: 1,\n action: {\n count: {},\n },\n statement: {\n geoMatchStatement: {\n countryCodes: [\"NL\"],\n },\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-rule-metric-name\",\n sampledRequestsEnabled: false,\n },\n },\n {\n name: \"rule-to-exclude-a\",\n priority: 10,\n action: {\n allow: {},\n },\n statement: {\n geoMatchStatement: {\n countryCodes: [\"US\"],\n },\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-rule-metric-name\",\n sampledRequestsEnabled: false,\n },\n },\n {\n name: \"rule-to-exclude-b\",\n priority: 15,\n action: {\n allow: {},\n },\n statement: {\n geoMatchStatement: {\n countryCodes: [\"GB\"],\n },\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-rule-metric-name\",\n sampledRequestsEnabled: false,\n },\n },\n ],\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-metric-name\",\n sampledRequestsEnabled: false,\n },\n});\nconst test = new aws.wafv2.WebAcl(\"test\", {\n scope: \"REGIONAL\",\n defaultAction: {\n block: {},\n },\n rules: [{\n name: \"rule-1\",\n priority: 1,\n overrideAction: {\n count: {},\n },\n statement: {\n ruleGroupReferenceStatement: {\n arn: example.arn,\n excludedRules: [\n {\n name: \"rule-to-exclude-b\",\n },\n {\n name: \"rule-to-exclude-a\",\n },\n ],\n },\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-rule-metric-name\",\n sampledRequestsEnabled: false,\n },\n }],\n tags: {\n Tag1: \"Value1\",\n Tag2: \"Value2\",\n },\n visibilityConfig: {\n cloudwatchMetricsEnabled: false,\n metricName: \"friendly-metric-name\",\n sampledRequestsEnabled: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.wafv2.RuleGroup(\"example\",\n capacity=10,\n scope=\"REGIONAL\",\n rules=[\n aws.wafv2.RuleGroupRuleArgs(\n name=\"rule-1\",\n priority=1,\n action=aws.wafv2.RuleGroupRuleActionArgs(\n count=aws.wafv2.RuleGroupRuleActionCountArgs(),\n ),\n statement=aws.wafv2.RuleGroupRuleStatementArgs(\n geo_match_statement=aws.wafv2.RuleGroupRuleStatementGeoMatchStatementArgs(\n country_codes=[\"NL\"],\n ),\n ),\n visibility_config=aws.wafv2.RuleGroupRuleVisibilityConfigArgs(\n cloudwatch_metrics_enabled=False,\n metric_name=\"friendly-rule-metric-name\",\n sampled_requests_enabled=False,\n ),\n ),\n aws.wafv2.RuleGroupRuleArgs(\n name=\"rule-to-exclude-a\",\n priority=10,\n action=aws.wafv2.RuleGroupRuleActionArgs(\n allow=aws.wafv2.RuleGroupRuleActionAllowArgs(),\n ),\n statement=aws.wafv2.RuleGroupRuleStatementArgs(\n geo_match_statement=aws.wafv2.RuleGroupRuleStatementGeoMatchStatementArgs(\n country_codes=[\"US\"],\n ),\n ),\n visibility_config=aws.wafv2.RuleGroupRuleVisibilityConfigArgs(\n cloudwatch_metrics_enabled=False,\n metric_name=\"friendly-rule-metric-name\",\n sampled_requests_enabled=False,\n ),\n ),\n aws.wafv2.RuleGroupRuleArgs(\n name=\"rule-to-exclude-b\",\n priority=15,\n action=aws.wafv2.RuleGroupRuleActionArgs(\n allow=aws.wafv2.RuleGroupRuleActionAllowArgs(),\n ),\n statement=aws.wafv2.RuleGroupRuleStatementArgs(\n geo_match_statement=aws.wafv2.RuleGroupRuleStatementGeoMatchStatementArgs(\n country_codes=[\"GB\"],\n ),\n ),\n visibility_config=aws.wafv2.RuleGroupRuleVisibilityConfigArgs(\n cloudwatch_metrics_enabled=False,\n metric_name=\"friendly-rule-metric-name\",\n sampled_requests_enabled=False,\n ),\n ),\n ],\n visibility_config=aws.wafv2.RuleGroupVisibilityConfigArgs(\n cloudwatch_metrics_enabled=False,\n metric_name=\"friendly-metric-name\",\n sampled_requests_enabled=False,\n ))\ntest = aws.wafv2.WebAcl(\"test\",\n scope=\"REGIONAL\",\n default_action=aws.wafv2.WebAclDefaultActionArgs(\n block=aws.wafv2.WebAclDefaultActionBlockArgs(),\n ),\n rules=[aws.wafv2.WebAclRuleArgs(\n name=\"rule-1\",\n priority=1,\n override_action=aws.wafv2.WebAclRuleOverrideActionArgs(\n count=aws.wafv2.WebAclRuleOverrideActionCountArgs(),\n ),\n statement=aws.wafv2.WebAclRuleStatementArgs(\n rule_group_reference_statement=aws.wafv2.WebAclRuleStatementRuleGroupReferenceStatementArgs(\n arn=example.arn,\n excluded_rules=[\n aws.wafv2.WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArgs(\n name=\"rule-to-exclude-b\",\n ),\n aws.wafv2.WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArgs(\n name=\"rule-to-exclude-a\",\n ),\n ],\n ),\n ),\n visibility_config=aws.wafv2.WebAclRuleVisibilityConfigArgs(\n cloudwatch_metrics_enabled=False,\n metric_name=\"friendly-rule-metric-name\",\n sampled_requests_enabled=False,\n ),\n )],\n tags={\n \"Tag1\": \"Value1\",\n \"Tag2\": \"Value2\",\n },\n visibility_config=aws.wafv2.WebAclVisibilityConfigArgs(\n cloudwatch_metrics_enabled=False,\n metric_name=\"friendly-metric-name\",\n sampled_requests_enabled=False,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.WafV2.RuleGroup(\"example\", new()\n {\n Capacity = 10,\n Scope = \"REGIONAL\",\n Rules = new[]\n {\n new Aws.WafV2.Inputs.RuleGroupRuleArgs\n {\n Name = \"rule-1\",\n Priority = 1,\n Action = new Aws.WafV2.Inputs.RuleGroupRuleActionArgs\n {\n Count = ,\n },\n Statement = new Aws.WafV2.Inputs.RuleGroupRuleStatementArgs\n {\n GeoMatchStatement = new Aws.WafV2.Inputs.RuleGroupRuleStatementGeoMatchStatementArgs\n {\n CountryCodes = new[]\n {\n \"NL\",\n },\n },\n },\n VisibilityConfig = new Aws.WafV2.Inputs.RuleGroupRuleVisibilityConfigArgs\n {\n CloudwatchMetricsEnabled = false,\n MetricName = \"friendly-rule-metric-name\",\n SampledRequestsEnabled = false,\n },\n },\n new Aws.WafV2.Inputs.RuleGroupRuleArgs\n {\n Name = \"rule-to-exclude-a\",\n Priority = 10,\n Action = new Aws.WafV2.Inputs.RuleGroupRuleActionArgs\n {\n Allow = ,\n },\n Statement = new Aws.WafV2.Inputs.RuleGroupRuleStatementArgs\n {\n GeoMatchStatement = new Aws.WafV2.Inputs.RuleGroupRuleStatementGeoMatchStatementArgs\n {\n CountryCodes = new[]\n {\n \"US\",\n },\n },\n },\n VisibilityConfig = new Aws.WafV2.Inputs.RuleGroupRuleVisibilityConfigArgs\n {\n CloudwatchMetricsEnabled = false,\n MetricName = \"friendly-rule-metric-name\",\n SampledRequestsEnabled = false,\n },\n },\n new Aws.WafV2.Inputs.RuleGroupRuleArgs\n {\n Name = \"rule-to-exclude-b\",\n Priority = 15,\n Action = new Aws.WafV2.Inputs.RuleGroupRuleActionArgs\n {\n Allow = ,\n },\n Statement = new Aws.WafV2.Inputs.RuleGroupRuleStatementArgs\n {\n GeoMatchStatement = new Aws.WafV2.Inputs.RuleGroupRuleStatementGeoMatchStatementArgs\n {\n CountryCodes = new[]\n {\n \"GB\",\n },\n },\n },\n VisibilityConfig = new Aws.WafV2.Inputs.RuleGroupRuleVisibilityConfigArgs\n {\n CloudwatchMetricsEnabled = false,\n MetricName = \"friendly-rule-metric-name\",\n SampledRequestsEnabled = false,\n },\n },\n },\n VisibilityConfig = new Aws.WafV2.Inputs.RuleGroupVisibilityConfigArgs\n {\n CloudwatchMetricsEnabled = false,\n MetricName = \"friendly-metric-name\",\n SampledRequestsEnabled = false,\n },\n });\n\n var test = new Aws.WafV2.WebAcl(\"test\", new()\n {\n Scope = \"REGIONAL\",\n DefaultAction = new Aws.WafV2.Inputs.WebAclDefaultActionArgs\n {\n Block = ,\n },\n Rules = new[]\n {\n new Aws.WafV2.Inputs.WebAclRuleArgs\n {\n Name = \"rule-1\",\n Priority = 1,\n OverrideAction = new Aws.WafV2.Inputs.WebAclRuleOverrideActionArgs\n {\n Count = ,\n },\n Statement = new Aws.WafV2.Inputs.WebAclRuleStatementArgs\n {\n RuleGroupReferenceStatement = new Aws.WafV2.Inputs.WebAclRuleStatementRuleGroupReferenceStatementArgs\n {\n Arn = example.Arn,\n ExcludedRules = new[]\n {\n new Aws.WafV2.Inputs.WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArgs\n {\n Name = \"rule-to-exclude-b\",\n },\n new Aws.WafV2.Inputs.WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArgs\n {\n Name = \"rule-to-exclude-a\",\n },\n },\n },\n },\n VisibilityConfig = new Aws.WafV2.Inputs.WebAclRuleVisibilityConfigArgs\n {\n CloudwatchMetricsEnabled = false,\n MetricName = \"friendly-rule-metric-name\",\n SampledRequestsEnabled = false,\n },\n },\n },\n Tags = \n {\n { \"Tag1\", \"Value1\" },\n { \"Tag2\", \"Value2\" },\n },\n VisibilityConfig = new Aws.WafV2.Inputs.WebAclVisibilityConfigArgs\n {\n CloudwatchMetricsEnabled = false,\n MetricName = \"friendly-metric-name\",\n SampledRequestsEnabled = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/wafv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := wafv2.NewRuleGroup(ctx, \"example\", \u0026wafv2.RuleGroupArgs{\n\t\t\tCapacity: pulumi.Int(10),\n\t\t\tScope: pulumi.String(\"REGIONAL\"),\n\t\t\tRules: wafv2.RuleGroupRuleArray{\n\t\t\t\t\u0026wafv2.RuleGroupRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"rule-1\"),\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tAction: \u0026wafv2.RuleGroupRuleActionArgs{\n\t\t\t\t\t\tCount: nil,\n\t\t\t\t\t},\n\t\t\t\t\tStatement: \u0026wafv2.RuleGroupRuleStatementArgs{\n\t\t\t\t\t\tGeoMatchStatement: \u0026wafv2.RuleGroupRuleStatementGeoMatchStatementArgs{\n\t\t\t\t\t\t\tCountryCodes: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"NL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tVisibilityConfig: \u0026wafv2.RuleGroupRuleVisibilityConfigArgs{\n\t\t\t\t\t\tCloudwatchMetricsEnabled: pulumi.Bool(false),\n\t\t\t\t\t\tMetricName: pulumi.String(\"friendly-rule-metric-name\"),\n\t\t\t\t\t\tSampledRequestsEnabled: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026wafv2.RuleGroupRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"rule-to-exclude-a\"),\n\t\t\t\t\tPriority: pulumi.Int(10),\n\t\t\t\t\tAction: \u0026wafv2.RuleGroupRuleActionArgs{\n\t\t\t\t\t\tAllow: nil,\n\t\t\t\t\t},\n\t\t\t\t\tStatement: \u0026wafv2.RuleGroupRuleStatementArgs{\n\t\t\t\t\t\tGeoMatchStatement: \u0026wafv2.RuleGroupRuleStatementGeoMatchStatementArgs{\n\t\t\t\t\t\t\tCountryCodes: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tVisibilityConfig: \u0026wafv2.RuleGroupRuleVisibilityConfigArgs{\n\t\t\t\t\t\tCloudwatchMetricsEnabled: pulumi.Bool(false),\n\t\t\t\t\t\tMetricName: pulumi.String(\"friendly-rule-metric-name\"),\n\t\t\t\t\t\tSampledRequestsEnabled: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026wafv2.RuleGroupRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"rule-to-exclude-b\"),\n\t\t\t\t\tPriority: pulumi.Int(15),\n\t\t\t\t\tAction: \u0026wafv2.RuleGroupRuleActionArgs{\n\t\t\t\t\t\tAllow: nil,\n\t\t\t\t\t},\n\t\t\t\t\tStatement: \u0026wafv2.RuleGroupRuleStatementArgs{\n\t\t\t\t\t\tGeoMatchStatement: \u0026wafv2.RuleGroupRuleStatementGeoMatchStatementArgs{\n\t\t\t\t\t\t\tCountryCodes: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"GB\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tVisibilityConfig: \u0026wafv2.RuleGroupRuleVisibilityConfigArgs{\n\t\t\t\t\t\tCloudwatchMetricsEnabled: pulumi.Bool(false),\n\t\t\t\t\t\tMetricName: pulumi.String(\"friendly-rule-metric-name\"),\n\t\t\t\t\t\tSampledRequestsEnabled: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tVisibilityConfig: \u0026wafv2.RuleGroupVisibilityConfigArgs{\n\t\t\t\tCloudwatchMetricsEnabled: pulumi.Bool(false),\n\t\t\t\tMetricName: pulumi.String(\"friendly-metric-name\"),\n\t\t\t\tSampledRequestsEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafv2.NewWebAcl(ctx, \"test\", \u0026wafv2.WebAclArgs{\n\t\t\tScope: pulumi.String(\"REGIONAL\"),\n\t\t\tDefaultAction: \u0026wafv2.WebAclDefaultActionArgs{\n\t\t\t\tBlock: nil,\n\t\t\t},\n\t\t\tRules: wafv2.WebAclRuleArray{\n\t\t\t\t\u0026wafv2.WebAclRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"rule-1\"),\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tOverrideAction: \u0026wafv2.WebAclRuleOverrideActionArgs{\n\t\t\t\t\t\tCount: nil,\n\t\t\t\t\t},\n\t\t\t\t\tStatement: \u0026wafv2.WebAclRuleStatementArgs{\n\t\t\t\t\t\tRuleGroupReferenceStatement: \u0026wafv2.WebAclRuleStatementRuleGroupReferenceStatementArgs{\n\t\t\t\t\t\t\tArn: example.Arn,\n\t\t\t\t\t\t\tExcludedRules: wafv2.WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArray{\n\t\t\t\t\t\t\t\t\u0026wafv2.WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"rule-to-exclude-b\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026wafv2.WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"rule-to-exclude-a\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tVisibilityConfig: \u0026wafv2.WebAclRuleVisibilityConfigArgs{\n\t\t\t\t\t\tCloudwatchMetricsEnabled: pulumi.Bool(false),\n\t\t\t\t\t\tMetricName: pulumi.String(\"friendly-rule-metric-name\"),\n\t\t\t\t\t\tSampledRequestsEnabled: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Tag1\": pulumi.String(\"Value1\"),\n\t\t\t\t\"Tag2\": pulumi.String(\"Value2\"),\n\t\t\t},\n\t\t\tVisibilityConfig: \u0026wafv2.WebAclVisibilityConfigArgs{\n\t\t\t\tCloudwatchMetricsEnabled: pulumi.Bool(false),\n\t\t\t\tMetricName: pulumi.String(\"friendly-metric-name\"),\n\t\t\t\tSampledRequestsEnabled: pulumi.Bool(false),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafv2.RuleGroup;\nimport com.pulumi.aws.wafv2.RuleGroupArgs;\nimport com.pulumi.aws.wafv2.inputs.RuleGroupRuleArgs;\nimport com.pulumi.aws.wafv2.inputs.RuleGroupRuleActionArgs;\nimport com.pulumi.aws.wafv2.inputs.RuleGroupRuleActionCountArgs;\nimport com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementGeoMatchStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.RuleGroupRuleVisibilityConfigArgs;\nimport com.pulumi.aws.wafv2.inputs.RuleGroupRuleActionAllowArgs;\nimport com.pulumi.aws.wafv2.inputs.RuleGroupVisibilityConfigArgs;\nimport com.pulumi.aws.wafv2.WebAcl;\nimport com.pulumi.aws.wafv2.WebAclArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclDefaultActionArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclDefaultActionBlockArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleOverrideActionArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleOverrideActionCountArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRuleGroupReferenceStatementArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclRuleVisibilityConfigArgs;\nimport com.pulumi.aws.wafv2.inputs.WebAclVisibilityConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuleGroup(\"example\", RuleGroupArgs.builder() \n .capacity(10)\n .scope(\"REGIONAL\")\n .rules( \n RuleGroupRuleArgs.builder()\n .name(\"rule-1\")\n .priority(1)\n .action(RuleGroupRuleActionArgs.builder()\n .count()\n .build())\n .statement(RuleGroupRuleStatementArgs.builder()\n .geoMatchStatement(RuleGroupRuleStatementGeoMatchStatementArgs.builder()\n .countryCodes(\"NL\")\n .build())\n .build())\n .visibilityConfig(RuleGroupRuleVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-rule-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build(),\n RuleGroupRuleArgs.builder()\n .name(\"rule-to-exclude-a\")\n .priority(10)\n .action(RuleGroupRuleActionArgs.builder()\n .allow()\n .build())\n .statement(RuleGroupRuleStatementArgs.builder()\n .geoMatchStatement(RuleGroupRuleStatementGeoMatchStatementArgs.builder()\n .countryCodes(\"US\")\n .build())\n .build())\n .visibilityConfig(RuleGroupRuleVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-rule-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build(),\n RuleGroupRuleArgs.builder()\n .name(\"rule-to-exclude-b\")\n .priority(15)\n .action(RuleGroupRuleActionArgs.builder()\n .allow()\n .build())\n .statement(RuleGroupRuleStatementArgs.builder()\n .geoMatchStatement(RuleGroupRuleStatementGeoMatchStatementArgs.builder()\n .countryCodes(\"GB\")\n .build())\n .build())\n .visibilityConfig(RuleGroupRuleVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-rule-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build())\n .visibilityConfig(RuleGroupVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build());\n\n var test = new WebAcl(\"test\", WebAclArgs.builder() \n .scope(\"REGIONAL\")\n .defaultAction(WebAclDefaultActionArgs.builder()\n .block()\n .build())\n .rules(WebAclRuleArgs.builder()\n .name(\"rule-1\")\n .priority(1)\n .overrideAction(WebAclRuleOverrideActionArgs.builder()\n .count()\n .build())\n .statement(WebAclRuleStatementArgs.builder()\n .ruleGroupReferenceStatement(WebAclRuleStatementRuleGroupReferenceStatementArgs.builder()\n .arn(example.arn())\n .excludedRules( \n WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArgs.builder()\n .name(\"rule-to-exclude-b\")\n .build(),\n WebAclRuleStatementRuleGroupReferenceStatementExcludedRuleArgs.builder()\n .name(\"rule-to-exclude-a\")\n .build())\n .build())\n .build())\n .visibilityConfig(WebAclRuleVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-rule-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Tag1\", \"Value1\"),\n Map.entry(\"Tag2\", \"Value2\")\n ))\n .visibilityConfig(WebAclVisibilityConfigArgs.builder()\n .cloudwatchMetricsEnabled(false)\n .metricName(\"friendly-metric-name\")\n .sampledRequestsEnabled(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:wafv2:RuleGroup\n properties:\n capacity: 10\n scope: REGIONAL\n rules:\n - name: rule-1\n priority: 1\n action:\n count: {}\n statement:\n geoMatchStatement:\n countryCodes:\n - NL\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-rule-metric-name\n sampledRequestsEnabled: false\n - name: rule-to-exclude-a\n priority: 10\n action:\n allow: {}\n statement:\n geoMatchStatement:\n countryCodes:\n - US\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-rule-metric-name\n sampledRequestsEnabled: false\n - name: rule-to-exclude-b\n priority: 15\n action:\n allow: {}\n statement:\n geoMatchStatement:\n countryCodes:\n - GB\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-rule-metric-name\n sampledRequestsEnabled: false\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-metric-name\n sampledRequestsEnabled: false\n test:\n type: aws:wafv2:WebAcl\n properties:\n scope: REGIONAL\n defaultAction:\n block: {}\n rules:\n - name: rule-1\n priority: 1\n overrideAction:\n count: {}\n statement:\n ruleGroupReferenceStatement:\n arn: ${example.arn}\n excludedRules:\n - name: rule-to-exclude-b\n - name: rule-to-exclude-a\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-rule-metric-name\n sampledRequestsEnabled: false\n tags:\n Tag1: Value1\n Tag2: Value2\n visibilityConfig:\n cloudwatchMetricsEnabled: false\n metricName: friendly-metric-name\n sampledRequestsEnabled: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nWAFv2 Web ACLs can be imported using `ID/Name/Scope` e.g.,\n\n```sh\n $ pulumi import aws:wafv2/webAcl:WebAcl example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc/example/REGIONAL\n```\n\n ", "properties": { "arn": { "type": "string", @@ -541217,7 +545460,7 @@ } }, "aws:cloudwatch/getEventConnection:getEventConnection": { - "description": "Use this data source to retrieve information about an EventBridge connection.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = pulumi.output(aws.cloudwatch.getEventConnection({\n name: \"test\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.get_event_connection(name=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.CloudWatch.GetEventConnection.Invoke(new()\n {\n Name = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\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 := cloudwatch.LookupEventConnection(ctx, \u0026cloudwatch.LookupEventConnectionArgs{\n\t\t\tName: \"test\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetEventConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = CloudwatchFunctions.getEventConnection(GetEventConnectionArgs.builder()\n .name(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n Fn::Invoke:\n Function: aws:cloudwatch:getEventConnection\n Arguments:\n name: test\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source to retrieve information about an EventBridge connection.\n\n\u003e **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = pulumi.output(aws.cloudwatch.getEventConnection({\n name: \"test\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cloudwatch.get_event_connection(name=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.CloudWatch.GetEventConnection.Invoke(new()\n {\n Name = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch\"\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 := cloudwatch.LookupEventConnection(ctx, \u0026cloudwatch.LookupEventConnectionArgs{\n\t\t\tName: \"test\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetEventConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = CloudwatchFunctions.getEventConnection(GetEventConnectionArgs.builder()\n .name(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n Fn::Invoke:\n Function: aws:cloudwatch:getEventConnection\n Arguments:\n name: test\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getEventConnection.\n", "properties": { @@ -543467,6 +547710,10 @@ "type": "string" }, "description": "Map of tags for the resource.\n" + }, + "vlanId": { + "type": "string", + "description": "The VLAN ID.\n" } }, "type": "object", @@ -543479,6 +547726,7 @@ "ownerAccountId", "providerName", "tags", + "vlanId", "id" ] } @@ -547490,7 +551738,7 @@ } }, "aws:ec2/getNatGateway:getNatGateway": { - "description": "Provides details about a specific Nat Gateway.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst config = new pulumi.Config();\nconst subnetId = config.requireObject(\"subnetId\");\nconst default = aws.ec2.getNatGateway({\n subnetId: aws_subnet[\"public\"].id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nconfig = pulumi.Config()\nsubnet_id = config.require_object(\"subnetId\")\ndefault = aws.ec2.get_nat_gateway(subnet_id=aws_subnet[\"public\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var subnetId = config.RequireObject\u003cdynamic\u003e(\"subnetId\");\n var @default = Aws.Ec2.GetNatGateway.Invoke(new()\n {\n SubnetId = aws_subnet.Public.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsubnetId := cfg.RequireObject(\"subnetId\")\n\t\t_, err := ec2.LookupNatGateway(ctx, \u0026ec2.LookupNatGatewayArgs{\n\t\t\tSubnetId: pulumi.StringRef(aws_subnet.Public.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var subnetId = config.get(\"subnetId\");\n final var default = Ec2Functions.getNatGateway(GetNatGatewayArgs.builder()\n .subnetId(aws_subnet.public().id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n subnetId:\n type: dynamic\nvariables:\n default:\n Fn::Invoke:\n Function: aws:ec2:getNatGateway\n Arguments:\n subnetId: ${aws_subnet.public.id}\n```\n\nUsage with tags:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst default = aws.ec2.getNatGateway({\n subnetId: aws_subnet[\"public\"].id,\n tags: {\n Name: \"gw NAT\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.get_nat_gateway(subnet_id=aws_subnet[\"public\"][\"id\"],\n tags={\n \"Name\": \"gw NAT\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Ec2.GetNatGateway.Invoke(new()\n {\n SubnetId = aws_subnet.Public.Id,\n Tags = \n {\n { \"Name\", \"gw NAT\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.LookupNatGateway(ctx, \u0026ec2.LookupNatGatewayArgs{\n\t\t\tSubnetId: pulumi.StringRef(aws_subnet.Public.Id),\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Name\": \"gw NAT\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = Ec2Functions.getNatGateway(GetNatGatewayArgs.builder()\n .subnetId(aws_subnet.public().id())\n .tags(Map.of(\"Name\", \"gw NAT\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n Fn::Invoke:\n Function: aws:ec2:getNatGateway\n Arguments:\n subnetId: ${aws_subnet.public.id}\n tags:\n Name: gw NAT\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Provides details about a specific Nat Gateway.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst default = aws.ec2.getNatGateway({\n subnetId: aws_subnet[\"public\"].id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.get_nat_gateway(subnet_id=aws_subnet[\"public\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Ec2.GetNatGateway.Invoke(new()\n {\n SubnetId = aws_subnet.Public.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.LookupNatGateway(ctx, \u0026ec2.LookupNatGatewayArgs{\n\t\t\tSubnetId: pulumi.StringRef(aws_subnet.Public.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = Ec2Functions.getNatGateway(GetNatGatewayArgs.builder()\n .subnetId(aws_subnet.public().id())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n Fn::Invoke:\n Function: aws:ec2:getNatGateway\n Arguments:\n subnetId: ${aws_subnet.public.id}\n```\n\nUsage with tags:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst default = aws.ec2.getNatGateway({\n subnetId: aws_subnet[\"public\"].id,\n tags: {\n Name: \"gw NAT\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.ec2.get_nat_gateway(subnet_id=aws_subnet[\"public\"][\"id\"],\n tags={\n \"Name\": \"gw NAT\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = Aws.Ec2.GetNatGateway.Invoke(new()\n {\n SubnetId = aws_subnet.Public.Id,\n Tags = \n {\n { \"Name\", \"gw NAT\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.LookupNatGateway(ctx, \u0026ec2.LookupNatGatewayArgs{\n\t\t\tSubnetId: pulumi.StringRef(aws_subnet.Public.Id),\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"Name\": \"gw NAT\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetNatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = Ec2Functions.getNatGateway(GetNatGatewayArgs.builder()\n .subnetId(aws_subnet.public().id())\n .tags(Map.of(\"Name\", \"gw NAT\"))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n default:\n Fn::Invoke:\n Function: aws:ec2:getNatGateway\n Arguments:\n subnetId: ${aws_subnet.public.id}\n tags:\n Name: gw NAT\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getNatGateway.\n", "properties": { @@ -549185,6 +553433,10 @@ "type": "boolean", "description": "Whether or not the VPC has DNS support\n" }, + "enableNetworkAddressUsageMetrics": { + "type": "boolean", + "description": "Whether Network Address Usage metrics are enabled for your VPC\n" + }, "filters": { "type": "array", "items": { @@ -549234,6 +553486,7 @@ "dhcpOptionsId", "enableDnsHostnames", "enableDnsSupport", + "enableNetworkAddressUsageMetrics", "id", "instanceTenancy", "ipv6AssociationId", @@ -549851,6 +554104,49 @@ ] } }, + "aws:ec2/getVpcIamPools:getVpcIamPools": { + "description": "`aws.ec2.getVpcIamPools` provides details about IPAM pools.\n\nThis resource can prove useful when IPAM pools are created in another root\nmodule and you need the pool ids as input variables. For example, pools\ncan be shared via RAM and used to create vpcs with CIDRs from that pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = pulumi.output(aws.ec2.getVpcIamPools({\n filters: [\n {\n name: \"description\",\n values: [\"*test*\"],\n },\n {\n name: \"address-family\",\n values: [\"ipv4\"],\n },\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.get_vpc_iam_pools(filters=[\n aws.ec2.GetVpcIamPoolsFilterArgs(\n name=\"description\",\n values=[\"*test*\"],\n ),\n aws.ec2.GetVpcIamPoolsFilterArgs(\n name=\"address-family\",\n values=[\"ipv4\"],\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Ec2.GetVpcIamPools.Invoke(new()\n {\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetVpcIamPoolsFilterInputArgs\n {\n Name = \"description\",\n Values = new[]\n {\n \"*test*\",\n },\n },\n new Aws.Ec2.Inputs.GetVpcIamPoolsFilterInputArgs\n {\n Name = \"address-family\",\n Values = new[]\n {\n \"ipv4\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.GetVpcIamPools(ctx, \u0026ec2.GetVpcIamPoolsArgs{\n\t\t\tFilters: []ec2.GetVpcIamPoolsFilter{\n\t\t\t\tec2.GetVpcIamPoolsFilter{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"*test*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tec2.GetVpcIamPoolsFilter{\n\t\t\t\t\tName: \"address-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ipv4\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcIamPoolsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = Ec2Functions.getVpcIamPools(GetVpcIamPoolsArgs.builder()\n .filters( \n GetVpcIamPoolsFilterArgs.builder()\n .name(\"description\")\n .values(\"*test*\")\n .build(),\n GetVpcIamPoolsFilterArgs.builder()\n .name(\"address-family\")\n .values(\"ipv4\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n Fn::Invoke:\n Function: aws:ec2:getVpcIamPools\n Arguments:\n filters:\n - name: description\n values:\n - '*test*'\n - name: address-family\n values:\n - ipv4\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getVpcIamPools.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/aws:ec2/getVpcIamPoolsFilter:getVpcIamPoolsFilter" + }, + "description": "Custom filter block as described below.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getVpcIamPools.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/aws:ec2/getVpcIamPoolsFilter:getVpcIamPoolsFilter" + } + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "ipamPools": { + "type": "array", + "items": { + "$ref": "#/types/aws:ec2/getVpcIamPoolsIpamPool:getVpcIamPoolsIpamPool" + }, + "description": "List of IPAM pools and their attributes. See below for details\n" + } + }, + "type": "object", + "required": [ + "ipamPools", + "id" + ] + } + }, "aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection": { "description": "The VPC Peering Connection data source provides details about\na specific VPC peering connection.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pc = aws.ec2.getVpcPeeringConnection({\n vpcId: aws_vpc.foo.id,\n peerCidrBlock: \"10.0.1.0/22\",\n});\n// Create a route table\nconst rt = new aws.ec2.RouteTable(\"rt\", {vpcId: aws_vpc.foo.id});\n// Create a route\nconst route = new aws.ec2.Route(\"route\", {\n routeTableId: rt.id,\n destinationCidrBlock: pc.then(pc =\u003e pc.peerCidrBlock),\n vpcPeeringConnectionId: pc.then(pc =\u003e pc.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npc = aws.ec2.get_vpc_peering_connection(vpc_id=aws_vpc[\"foo\"][\"id\"],\n peer_cidr_block=\"10.0.1.0/22\")\n# Create a route table\nrt = aws.ec2.RouteTable(\"rt\", vpc_id=aws_vpc[\"foo\"][\"id\"])\n# Create a route\nroute = aws.ec2.Route(\"route\",\n route_table_id=rt.id,\n destination_cidr_block=pc.peer_cidr_block,\n vpc_peering_connection_id=pc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pc = Aws.Ec2.GetVpcPeeringConnection.Invoke(new()\n {\n VpcId = aws_vpc.Foo.Id,\n PeerCidrBlock = \"10.0.1.0/22\",\n });\n\n // Create a route table\n var rt = new Aws.Ec2.RouteTable(\"rt\", new()\n {\n VpcId = aws_vpc.Foo.Id,\n });\n\n // Create a route\n var route = new Aws.Ec2.Route(\"route\", new()\n {\n RouteTableId = rt.Id,\n DestinationCidrBlock = pc.Apply(getVpcPeeringConnectionResult =\u003e getVpcPeeringConnectionResult.PeerCidrBlock),\n VpcPeeringConnectionId = pc.Apply(getVpcPeeringConnectionResult =\u003e getVpcPeeringConnectionResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpc, err := ec2.LookupVpcPeeringConnection(ctx, \u0026ec2.LookupVpcPeeringConnectionArgs{\n\t\t\tVpcId: pulumi.StringRef(aws_vpc.Foo.Id),\n\t\t\tPeerCidrBlock: pulumi.StringRef(\"10.0.1.0/22\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trt, err := ec2.NewRouteTable(ctx, \"rt\", \u0026ec2.RouteTableArgs{\n\t\t\tVpcId: pulumi.Any(aws_vpc.Foo.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewRoute(ctx, \"route\", \u0026ec2.RouteArgs{\n\t\t\tRouteTableId: rt.ID(),\n\t\t\tDestinationCidrBlock: pulumi.String(pc.PeerCidrBlock),\n\t\t\tVpcPeeringConnectionId: pulumi.String(pc.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetVpcPeeringConnectionArgs;\nimport com.pulumi.aws.ec2.RouteTable;\nimport com.pulumi.aws.ec2.RouteTableArgs;\nimport com.pulumi.aws.ec2.Route;\nimport com.pulumi.aws.ec2.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var pc = Ec2Functions.getVpcPeeringConnection(GetVpcPeeringConnectionArgs.builder()\n .vpcId(aws_vpc.foo().id())\n .peerCidrBlock(\"10.0.1.0/22\")\n .build());\n\n var rt = new RouteTable(\"rt\", RouteTableArgs.builder() \n .vpcId(aws_vpc.foo().id())\n .build());\n\n var route = new Route(\"route\", RouteArgs.builder() \n .routeTableId(rt.id())\n .destinationCidrBlock(pc.applyValue(getVpcPeeringConnectionResult -\u003e getVpcPeeringConnectionResult.peerCidrBlock()))\n .vpcPeeringConnectionId(pc.applyValue(getVpcPeeringConnectionResult -\u003e getVpcPeeringConnectionResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a route table\n rt:\n type: aws:ec2:RouteTable\n properties:\n vpcId: ${aws_vpc.foo.id}\n # Create a route\n route:\n type: aws:ec2:Route\n properties:\n routeTableId: ${rt.id}\n destinationCidrBlock: ${pc.peerCidrBlock}\n vpcPeeringConnectionId: ${pc.id}\nvariables:\n pc:\n Fn::Invoke:\n Function: aws:ec2:getVpcPeeringConnection\n Arguments:\n vpcId: ${aws_vpc.foo.id}\n peerCidrBlock: 10.0.1.0/22\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { @@ -551810,7 +556106,7 @@ } }, "aws:ecs/getTaskDefinition:getTaskDefinition": { - "description": "The ECS task definition data source allows access to details of\na specific AWS ECS task definition.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mongoTaskDefinition = aws.ecs.getTaskDefinition({\n taskDefinition: mongoEcs / taskDefinitionTaskDefinition.family,\n});\nconst foo = new aws.ecs.Cluster(\"foo\", {});\nconst mongoEcs_taskDefinitionTaskDefinition = new aws.ecs.TaskDefinition(\"mongoEcs/taskDefinitionTaskDefinition\", {\n family: \"mongodb\",\n containerDefinitions: `[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n`,\n});\nconst mongoService = new aws.ecs.Service(\"mongoService\", {\n cluster: foo.id,\n desiredCount: 2,\n taskDefinition: mongoTaskDefinition.then(mongoTaskDefinition =\u003e mongoTaskDefinition.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmongo_task_definition = aws.ecs.get_task_definition(task_definition=mongo_ecs / task_definition_task_definition[\"family\"])\nfoo = aws.ecs.Cluster(\"foo\")\nmongo_ecs_task_definition_task_definition = aws.ecs.TaskDefinition(\"mongoEcs/taskDefinitionTaskDefinition\",\n family=\"mongodb\",\n container_definitions=\"\"\"[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n\"\"\")\nmongo_service = aws.ecs.Service(\"mongoService\",\n cluster=foo.id,\n desired_count=2,\n task_definition=mongo_task_definition.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mongoTaskDefinition = Aws.Ecs.GetTaskDefinition.Invoke(new()\n {\n TaskDefinition = mongoEcs / taskDefinitionTaskDefinition.Family,\n });\n\n var foo = new Aws.Ecs.Cluster(\"foo\");\n\n var mongoEcs_taskDefinitionTaskDefinition = new Aws.Ecs.TaskDefinition(\"mongoEcs/taskDefinitionTaskDefinition\", new()\n {\n Family = \"mongodb\",\n ContainerDefinitions = @\"[\n {\n \"\"cpu\"\": 128,\n \"\"environment\"\": [{\n \"\"name\"\": \"\"SECRET\"\",\n \"\"value\"\": \"\"KEY\"\"\n }],\n \"\"essential\"\": true,\n \"\"image\"\": \"\"mongo:latest\"\",\n \"\"memory\"\": 128,\n \"\"memoryReservation\"\": 64,\n \"\"name\"\": \"\"mongodb\"\"\n }\n]\n\",\n });\n\n var mongoService = new Aws.Ecs.Service(\"mongoService\", new()\n {\n Cluster = foo.Id,\n DesiredCount = 2,\n TaskDefinition = mongoTaskDefinition.Apply(getTaskDefinitionResult =\u003e getTaskDefinitionResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmongoTaskDefinition, err := ecs.LookupTaskDefinition(ctx, \u0026ecs.LookupTaskDefinitionArgs{\n\t\t\tTaskDefinition: mongoEcs / taskDefinitionTaskDefinition.Family,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ecs.NewCluster(ctx, \"foo\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"mongoEcs/taskDefinitionTaskDefinition\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"mongodb\"),\n\t\t\tContainerDefinitions: pulumi.String(fmt.Sprintf(`[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n`)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewService(ctx, \"mongoService\", \u0026ecs.ServiceArgs{\n\t\t\tCluster: foo.ID(),\n\t\t\tDesiredCount: pulumi.Int(2),\n\t\t\tTaskDefinition: pulumi.String(mongoTaskDefinition.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.EcsFunctions;\nimport com.pulumi.aws.ecs.inputs.GetTaskDefinitionArgs;\nimport com.pulumi.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var mongoTaskDefinition = EcsFunctions.getTaskDefinition(GetTaskDefinitionArgs.builder()\n .taskDefinition(mongoEcs / taskDefinitionTaskDefinition.family())\n .build());\n\n var foo = new Cluster(\"foo\");\n\n var mongoEcs_taskDefinitionTaskDefinition = new TaskDefinition(\"mongoEcs/taskDefinitionTaskDefinition\", TaskDefinitionArgs.builder() \n .family(\"mongodb\")\n .containerDefinitions(\"\"\"\n[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n \"\"\")\n .build());\n\n var mongoService = new Service(\"mongoService\", ServiceArgs.builder() \n .cluster(foo.id())\n .desiredCount(2)\n .taskDefinition(mongoTaskDefinition.applyValue(getTaskDefinitionResult -\u003e getTaskDefinitionResult.arn()))\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "The ECS task definition data source allows access to details of\na specific AWS ECS task definition.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst mongoTaskDefinition = aws.ecs.getTaskDefinition({\n taskDefinition: mongoEcs / taskDefinitionTaskDefinition.family,\n});\nconst foo = new aws.ecs.Cluster(\"foo\", {});\nconst mongoEcs_taskDefinitionTaskDefinition = new aws.ecs.TaskDefinition(\"mongoEcs/taskDefinitionTaskDefinition\", {\n family: \"mongodb\",\n containerDefinitions: `[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n`,\n});\nconst mongoService = new aws.ecs.Service(\"mongoService\", {\n cluster: foo.id,\n desiredCount: 2,\n taskDefinition: mongoTaskDefinition.then(mongoTaskDefinition =\u003e mongoTaskDefinition.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmongo_task_definition = aws.ecs.get_task_definition(task_definition=mongo_ecs / task_definition_task_definition[\"family\"])\nfoo = aws.ecs.Cluster(\"foo\")\nmongo_ecs_task_definition_task_definition = aws.ecs.TaskDefinition(\"mongoEcs/taskDefinitionTaskDefinition\",\n family=\"mongodb\",\n container_definitions=\"\"\"[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n\"\"\")\nmongo_service = aws.ecs.Service(\"mongoService\",\n cluster=foo.id,\n desired_count=2,\n task_definition=mongo_task_definition.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mongoTaskDefinition = Aws.Ecs.GetTaskDefinition.Invoke(new()\n {\n TaskDefinition = mongoEcs / taskDefinitionTaskDefinition.Family,\n });\n\n var foo = new Aws.Ecs.Cluster(\"foo\");\n\n var mongoEcs_taskDefinitionTaskDefinition = new Aws.Ecs.TaskDefinition(\"mongoEcs/taskDefinitionTaskDefinition\", new()\n {\n Family = \"mongodb\",\n ContainerDefinitions = @\"[\n {\n \"\"cpu\"\": 128,\n \"\"environment\"\": [{\n \"\"name\"\": \"\"SECRET\"\",\n \"\"value\"\": \"\"KEY\"\"\n }],\n \"\"essential\"\": true,\n \"\"image\"\": \"\"mongo:latest\"\",\n \"\"memory\"\": 128,\n \"\"memoryReservation\"\": 64,\n \"\"name\"\": \"\"mongodb\"\"\n }\n]\n\",\n });\n\n var mongoService = new Aws.Ecs.Service(\"mongoService\", new()\n {\n Cluster = foo.Id,\n DesiredCount = 2,\n TaskDefinition = mongoTaskDefinition.Apply(getTaskDefinitionResult =\u003e getTaskDefinitionResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmongoTaskDefinition, err := ecs.LookupTaskDefinition(ctx, \u0026ecs.LookupTaskDefinitionArgs{\n\t\t\tTaskDefinition: mongoEcs / taskDefinitionTaskDefinition.Family,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ecs.NewCluster(ctx, \"foo\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewTaskDefinition(ctx, \"mongoEcs/taskDefinitionTaskDefinition\", \u0026ecs.TaskDefinitionArgs{\n\t\t\tFamily: pulumi.String(\"mongodb\"),\n\t\t\tContainerDefinitions: pulumi.String(fmt.Sprintf(`[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n`)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewService(ctx, \"mongoService\", \u0026ecs.ServiceArgs{\n\t\t\tCluster: foo.ID(),\n\t\t\tDesiredCount: pulumi.Int(2),\n\t\t\tTaskDefinition: pulumi.String(mongoTaskDefinition.Arn),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecs.EcsFunctions;\nimport com.pulumi.aws.ecs.inputs.GetTaskDefinitionArgs;\nimport com.pulumi.aws.ecs.Cluster;\nimport com.pulumi.aws.ecs.TaskDefinition;\nimport com.pulumi.aws.ecs.TaskDefinitionArgs;\nimport com.pulumi.aws.ecs.Service;\nimport com.pulumi.aws.ecs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var mongoTaskDefinition = EcsFunctions.getTaskDefinition(GetTaskDefinitionArgs.builder()\n .taskDefinition(mongoEcs / taskDefinitionTaskDefinition.family())\n .build());\n\n var foo = new Cluster(\"foo\");\n\n var mongoEcs_taskDefinitionTaskDefinition = new TaskDefinition(\"mongoEcs/taskDefinitionTaskDefinition\", TaskDefinitionArgs.builder() \n .family(\"mongodb\")\n .containerDefinitions(\"\"\"\n[\n {\n \"cpu\": 128,\n \"environment\": [{\n \"name\": \"SECRET\",\n \"value\": \"KEY\"\n }],\n \"essential\": true,\n \"image\": \"mongo:latest\",\n \"memory\": 128,\n \"memoryReservation\": 64,\n \"name\": \"mongodb\"\n }\n]\n \"\"\")\n .build());\n\n var mongoService = new Service(\"mongoService\", ServiceArgs.builder() \n .cluster(foo.id())\n .desiredCount(2)\n .taskDefinition(mongoTaskDefinition.applyValue(getTaskDefinitionResult -\u003e getTaskDefinitionResult.arn()))\n .build());\n\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getTaskDefinition.\n", "properties": { @@ -552726,7 +557022,7 @@ } }, "aws:elasticache/getCluster:getCluster": { - "description": "Use this data source to get information about an Elasticache Cluster\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myCluster = pulumi.output(aws.elasticache.getCluster({\n clusterId: \"my-cluster-id\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_cluster = aws.elasticache.get_cluster(cluster_id=\"my-cluster-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myCluster = Aws.ElastiCache.GetCluster.Invoke(new()\n {\n ClusterId = \"my-cluster-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache\"\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 := elasticache.LookupCluster(ctx, \u0026elasticache.LookupClusterArgs{\n\t\t\tClusterId: \"my-cluster-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.cloudhsmv2.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myCluster = ElasticacheFunctions.getCluster(GetClusterArgs.builder()\n .clusterId(\"my-cluster-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myCluster:\n Fn::Invoke:\n Function: aws:elasticache:getCluster\n Arguments:\n clusterId: my-cluster-id\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source to get information about an ElastiCache Cluster\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myCluster = pulumi.output(aws.elasticache.getCluster({\n clusterId: \"my-cluster-id\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_cluster = aws.elasticache.get_cluster(cluster_id=\"my-cluster-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myCluster = Aws.ElastiCache.GetCluster.Invoke(new()\n {\n ClusterId = \"my-cluster-id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache\"\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 := elasticache.LookupCluster(ctx, \u0026elasticache.LookupClusterArgs{\n\t\t\tClusterId: \"my-cluster-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.cloudhsmv2.inputs.GetClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myCluster = ElasticacheFunctions.getCluster(GetClusterArgs.builder()\n .clusterId(\"my-cluster-id\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myCluster:\n Fn::Invoke:\n Function: aws:elasticache:getCluster\n Arguments:\n clusterId: my-cluster-id\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getCluster.\n", "properties": { @@ -552885,7 +557181,7 @@ } }, "aws:elasticache/getReplicationGroup:getReplicationGroup": { - "description": "Use this data source to get information about an Elasticache Replication Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = pulumi.output(aws.elasticache.getReplicationGroup({\n replicationGroupId: \"example\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.elasticache.get_replication_group(replication_group_id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = Aws.ElastiCache.GetReplicationGroup.Invoke(new()\n {\n ReplicationGroupId = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache\"\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 := elasticache.LookupReplicationGroup(ctx, \u0026elasticache.LookupReplicationGroupArgs{\n\t\t\tReplicationGroupId: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetReplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var bar = ElasticacheFunctions.getReplicationGroup(GetReplicationGroupArgs.builder()\n .replicationGroupId(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n bar:\n Fn::Invoke:\n Function: aws:elasticache:getReplicationGroup\n Arguments:\n replicationGroupId: example\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source to get information about an ElastiCache Replication Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = pulumi.output(aws.elasticache.getReplicationGroup({\n replicationGroupId: \"example\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.elasticache.get_replication_group(replication_group_id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = Aws.ElastiCache.GetReplicationGroup.Invoke(new()\n {\n ReplicationGroupId = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache\"\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 := elasticache.LookupReplicationGroup(ctx, \u0026elasticache.LookupReplicationGroupArgs{\n\t\t\tReplicationGroupId: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetReplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var bar = ElasticacheFunctions.getReplicationGroup(GetReplicationGroupArgs.builder()\n .replicationGroupId(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n bar:\n Fn::Invoke:\n Function: aws:elasticache:getReplicationGroup\n Arguments:\n replicationGroupId: example\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getReplicationGroup.\n", "properties": { @@ -553021,7 +557317,7 @@ } }, "aws:elasticache/getUser:getUser": { - "description": "Use this data source to get information about an Elasticache User.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = pulumi.output(aws.elasticache.getUser({\n userId: \"example\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.elasticache.get_user(user_id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = Aws.ElastiCache.GetUser.Invoke(new()\n {\n UserId = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache\"\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 := elasticache.LookupUser(ctx, \u0026elasticache.LookupUserArgs{\n\t\t\tUserId: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var bar = ElasticacheFunctions.getUser(GetUserArgs.builder()\n .userId(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n bar:\n Fn::Invoke:\n Function: aws:elasticache:getUser\n Arguments:\n userId: example\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source to get information about an ElastiCache User.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = pulumi.output(aws.elasticache.getUser({\n userId: \"example\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.elasticache.get_user(user_id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bar = Aws.ElastiCache.GetUser.Invoke(new()\n {\n UserId = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache\"\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 := elasticache.LookupUser(ctx, \u0026elasticache.LookupUserArgs{\n\t\t\tUserId: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticache.ElasticacheFunctions;\nimport com.pulumi.aws.elasticache.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var bar = ElasticacheFunctions.getUser(GetUserArgs.builder()\n .userId(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n bar:\n Fn::Invoke:\n Function: aws:elasticache:getUser\n Arguments:\n userId: example\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getUser.\n", "properties": { @@ -566194,6 +570490,90 @@ ] } }, + "aws:rds/getReservedInstanceOffering:getReservedInstanceOffering": { + "description": "Information about a single RDS Reserved Instance Offering.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = pulumi.output(aws.rds.getReservedInstanceOffering({\n dbInstanceClass: \"db.t2.micro\",\n duration: 31536000,\n multiAz: false,\n offeringType: \"All Upfront\",\n productDescription: \"mysql\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.get_reserved_instance_offering(db_instance_class=\"db.t2.micro\",\n duration=31536000,\n multi_az=False,\n offering_type=\"All Upfront\",\n product_description=\"mysql\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.Rds.GetReservedInstanceOffering.Invoke(new()\n {\n DbInstanceClass = \"db.t2.micro\",\n Duration = 31536000,\n MultiAz = false,\n OfferingType = \"All Upfront\",\n ProductDescription = \"mysql\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\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 := rds.GetReservedInstanceOffering(ctx, \u0026rds.GetReservedInstanceOfferingArgs{\n\t\t\tDbInstanceClass: \"db.t2.micro\",\n\t\t\tDuration: 31536000,\n\t\t\tMultiAz: false,\n\t\t\tOfferingType: \"All Upfront\",\n\t\t\tProductDescription: \"mysql\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetReservedInstanceOfferingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = RdsFunctions.getReservedInstanceOffering(GetReservedInstanceOfferingArgs.builder()\n .dbInstanceClass(\"db.t2.micro\")\n .duration(31536000)\n .multiAz(false)\n .offeringType(\"All Upfront\")\n .productDescription(\"mysql\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n Fn::Invoke:\n Function: aws:rds:getReservedInstanceOffering\n Arguments:\n dbInstanceClass: db.t2.micro\n duration: 3.1536e+07\n multiAz: false\n offeringType: All Upfront\n productDescription: mysql\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getReservedInstanceOffering.\n", + "properties": { + "dbInstanceClass": { + "type": "string", + "description": "DB instance class for the reserved DB instance.\n" + }, + "duration": { + "type": "integer", + "description": "Duration of the reservation in seconds.\n" + }, + "multiAz": { + "type": "boolean", + "description": "Whether the reservation applies to Multi-AZ deployments.\n" + }, + "offeringType": { + "type": "string", + "description": "Offering type of this reserved DB instance.\n" + }, + "productDescription": { + "type": "string", + "description": "Description of the reserved DB instance.\n" + } + }, + "type": "object", + "required": [ + "dbInstanceClass", + "duration", + "multiAz", + "offeringType", + "productDescription" + ] + }, + "outputs": { + "description": "A collection of values returned by getReservedInstanceOffering.\n", + "properties": { + "currencyCode": { + "type": "string", + "description": "Currency code for the reserved DB instance.\n" + }, + "dbInstanceClass": { + "type": "string" + }, + "duration": { + "type": "integer" + }, + "fixedPrice": { + "type": "number", + "description": "Fixed price charged for this reserved DB instance.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "multiAz": { + "type": "boolean" + }, + "offeringId": { + "type": "string", + "description": "Unique identifier for the reservation.\n" + }, + "offeringType": { + "type": "string" + }, + "productDescription": { + "type": "string" + } + }, + "type": "object", + "required": [ + "currencyCode", + "dbInstanceClass", + "duration", + "fixedPrice", + "multiAz", + "offeringId", + "offeringType", + "productDescription", + "id" + ] + } + }, "aws:rds/getSnapshot:getSnapshot": { "description": "Use this data source to get information about a DB Snapshot for use when provisioning DB instances\n\n\u003e **NOTE:** This data source does not apply to snapshots created on Aurora DB clusters.\nSee the `aws.rds.ClusterSnapshot` data source for DB Cluster snapshots.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst prod = new aws.rds.Instance(\"prod\", {\n allocatedStorage: 10,\n engine: \"mysql\",\n engineVersion: \"5.6.17\",\n instanceClass: \"db.t2.micro\",\n name: \"mydb\",\n username: \"foo\",\n password: \"bar\",\n dbSubnetGroupName: \"my_database_subnet_group\",\n parameterGroupName: \"default.mysql5.6\",\n});\nconst latestProdSnapshot = aws.rds.getSnapshotOutput({\n dbInstanceIdentifier: prod.id,\n mostRecent: true,\n});\n// Use the latest production snapshot to create a dev instance.\nconst dev = new aws.rds.Instance(\"dev\", {\n instanceClass: \"db.t2.micro\",\n name: \"mydbdev\",\n snapshotIdentifier: latestProdSnapshot.apply(latestProdSnapshot =\u003e latestProdSnapshot.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nprod = aws.rds.Instance(\"prod\",\n allocated_storage=10,\n engine=\"mysql\",\n engine_version=\"5.6.17\",\n instance_class=\"db.t2.micro\",\n name=\"mydb\",\n username=\"foo\",\n password=\"bar\",\n db_subnet_group_name=\"my_database_subnet_group\",\n parameter_group_name=\"default.mysql5.6\")\nlatest_prod_snapshot = aws.rds.get_snapshot_output(db_instance_identifier=prod.id,\n most_recent=True)\n# Use the latest production snapshot to create a dev instance.\ndev = aws.rds.Instance(\"dev\",\n instance_class=\"db.t2.micro\",\n name=\"mydbdev\",\n snapshot_identifier=latest_prod_snapshot.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var prod = new Aws.Rds.Instance(\"prod\", new()\n {\n AllocatedStorage = 10,\n Engine = \"mysql\",\n EngineVersion = \"5.6.17\",\n InstanceClass = \"db.t2.micro\",\n Name = \"mydb\",\n Username = \"foo\",\n Password = \"bar\",\n DbSubnetGroupName = \"my_database_subnet_group\",\n ParameterGroupName = \"default.mysql5.6\",\n });\n\n var latestProdSnapshot = Aws.Rds.GetSnapshot.Invoke(new()\n {\n DbInstanceIdentifier = prod.Id,\n MostRecent = true,\n });\n\n // Use the latest production snapshot to create a dev instance.\n var dev = new Aws.Rds.Instance(\"dev\", new()\n {\n InstanceClass = \"db.t2.micro\",\n Name = \"mydbdev\",\n SnapshotIdentifier = latestProdSnapshot.Apply(getSnapshotResult =\u003e getSnapshotResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprod, err := rds.NewInstance(ctx, \"prod\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6.17\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t2.micro\"),\n\t\t\tName: pulumi.String(\"mydb\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"bar\"),\n\t\t\tDbSubnetGroupName: pulumi.String(\"my_database_subnet_group\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.6\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlatestProdSnapshot := rds.LookupSnapshotOutput(ctx, rds.GetSnapshotOutputArgs{\n\t\t\tDbInstanceIdentifier: prod.ID(),\n\t\t\tMostRecent: pulumi.Bool(true),\n\t\t}, nil)\n\t\t_, err = rds.NewInstance(ctx, \"dev\", \u0026rds.InstanceArgs{\n\t\t\tInstanceClass: pulumi.String(\"db.t2.micro\"),\n\t\t\tName: pulumi.String(\"mydbdev\"),\n\t\t\tSnapshotIdentifier: latestProdSnapshot.ApplyT(func(latestProdSnapshot rds.GetSnapshotResult) (string, error) {\n\t\t\t\treturn latestProdSnapshot.Id, nil\n\t\t\t}).(pulumi.StringOutput),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.ebs.inputs.GetSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var prod = new Instance(\"prod\", InstanceArgs.builder() \n .allocatedStorage(10)\n .engine(\"mysql\")\n .engineVersion(\"5.6.17\")\n .instanceClass(\"db.t2.micro\")\n .name(\"mydb\")\n .username(\"foo\")\n .password(\"bar\")\n .dbSubnetGroupName(\"my_database_subnet_group\")\n .parameterGroupName(\"default.mysql5.6\")\n .build());\n\n final var latestProdSnapshot = RdsFunctions.getSnapshot(GetSnapshotArgs.builder()\n .dbInstanceIdentifier(prod.id())\n .mostRecent(true)\n .build());\n\n var dev = new Instance(\"dev\", InstanceArgs.builder() \n .instanceClass(\"db.t2.micro\")\n .name(\"mydbdev\")\n .snapshotIdentifier(latestProdSnapshot.applyValue(getSnapshotResult -\u003e getSnapshotResult).applyValue(latestProdSnapshot -\u003e latestProdSnapshot.applyValue(getSnapshotResult -\u003e getSnapshotResult.id())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n prod:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n engine: mysql\n engineVersion: 5.6.17\n instanceClass: db.t2.micro\n name: mydb\n username: foo\n password: bar\n dbSubnetGroupName: my_database_subnet_group\n parameterGroupName: default.mysql5.6\n # Use the latest production snapshot to create a dev instance.\n dev:\n type: aws:rds:Instance\n properties:\n instanceClass: db.t2.micro\n name: mydbdev\n snapshotIdentifier: ${latestProdSnapshot.id}\nvariables:\n latestProdSnapshot:\n Fn::Invoke:\n Function: aws:rds:getSnapshot\n Arguments:\n dbInstanceIdentifier: ${prod.id}\n mostRecent: true\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { @@ -567264,7 +571644,7 @@ } }, "aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument": { - "description": "Generates an Route53 traffic policy document in JSON format for use with resources that expect policy documents such as [`aws.route53.TrafficPolicy`](https://www.terraform.io/docs/providers/aws/r/route53_traffic_policy.html).\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleTrafficPolicyDocument = Promise.all([current, current]).then(([current, current1]) =\u003e aws.route53.getTrafficPolicyDocument({\n recordType: \"A\",\n startRule: \"site_switch\",\n endpoints: [\n {\n id: \"my_elb\",\n type: \"elastic-load-balancer\",\n value: `elb-111111.${current.name}.elb.amazonaws.com`,\n },\n {\n id: \"site_down_banner\",\n type: \"s3-website\",\n region: current1.name,\n value: \"www.example.com\",\n },\n ],\n rules: [{\n id: \"site_switch\",\n type: \"failover\",\n primary: {\n endpointReference: \"my_elb\",\n },\n secondary: {\n endpointReference: \"site_down_banner\",\n },\n }],\n}));\nconst exampleTrafficPolicy = new aws.route53.TrafficPolicy(\"exampleTrafficPolicy\", {\n comment: \"example comment\",\n document: exampleTrafficPolicyDocument.then(exampleTrafficPolicyDocument =\u003e exampleTrafficPolicyDocument.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_traffic_policy_document = aws.route53.get_traffic_policy_document(record_type=\"A\",\n start_rule=\"site_switch\",\n endpoints=[\n aws.route53.GetTrafficPolicyDocumentEndpointArgs(\n id=\"my_elb\",\n type=\"elastic-load-balancer\",\n value=f\"elb-111111.{current.name}.elb.amazonaws.com\",\n ),\n aws.route53.GetTrafficPolicyDocumentEndpointArgs(\n id=\"site_down_banner\",\n type=\"s3-website\",\n region=current.name,\n value=\"www.example.com\",\n ),\n ],\n rules=[aws.route53.GetTrafficPolicyDocumentRuleArgs(\n id=\"site_switch\",\n type=\"failover\",\n primary=aws.route53.GetTrafficPolicyDocumentRulePrimaryArgs(\n endpoint_reference=\"my_elb\",\n ),\n secondary=aws.route53.GetTrafficPolicyDocumentRuleSecondaryArgs(\n endpoint_reference=\"site_down_banner\",\n ),\n )])\nexample_traffic_policy = aws.route53.TrafficPolicy(\"exampleTrafficPolicy\",\n comment=\"example comment\",\n document=example_traffic_policy_document.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleTrafficPolicyDocument = Aws.Route53.GetTrafficPolicyDocument.Invoke(new()\n {\n RecordType = \"A\",\n StartRule = \"site_switch\",\n Endpoints = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"my_elb\",\n Type = \"elastic-load-balancer\",\n Value = $\"elb-111111.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"site_down_banner\",\n Type = \"s3-website\",\n Region = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Value = \"www.example.com\",\n },\n },\n Rules = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleInputArgs\n {\n Id = \"site_switch\",\n Type = \"failover\",\n Primary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRulePrimaryInputArgs\n {\n EndpointReference = \"my_elb\",\n },\n Secondary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleSecondaryInputArgs\n {\n EndpointReference = \"site_down_banner\",\n },\n },\n },\n });\n\n var exampleTrafficPolicy = new Aws.Route53.TrafficPolicy(\"exampleTrafficPolicy\", new()\n {\n Comment = \"example comment\",\n Document = exampleTrafficPolicyDocument.Apply(getTrafficPolicyDocumentResult =\u003e getTrafficPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTrafficPolicyDocument, err := route53.GetTrafficPolicyDocument(ctx, \u0026route53.GetTrafficPolicyDocumentArgs{\n\t\t\tRecordType: pulumi.StringRef(\"A\"),\n\t\t\tStartRule: pulumi.StringRef(\"site_switch\"),\n\t\t\tEndpoints: []route53.GetTrafficPolicyDocumentEndpoint{\n\t\t\t\troute53.GetTrafficPolicyDocumentEndpoint{\n\t\t\t\t\tId: \"my_elb\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(fmt.Sprintf(\"elb-111111.%v.elb.amazonaws.com\", current.Name)),\n\t\t\t\t},\n\t\t\t\troute53.GetTrafficPolicyDocumentEndpoint{\n\t\t\t\t\tId: \"site_down_banner\",\n\t\t\t\t\tType: pulumi.StringRef(\"s3-website\"),\n\t\t\t\t\tRegion: pulumi.StringRef(current.Name),\n\t\t\t\t\tValue: pulumi.StringRef(\"www.example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRules: []route53.GetTrafficPolicyDocumentRule{\n\t\t\t\troute53.GetTrafficPolicyDocumentRule{\n\t\t\t\t\tId: \"site_switch\",\n\t\t\t\t\tType: pulumi.StringRef(\"failover\"),\n\t\t\t\t\tPrimary: route53.GetTrafficPolicyDocumentRulePrimary{\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"my_elb\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecondary: route53.GetTrafficPolicyDocumentRuleSecondary{\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"site_down_banner\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewTrafficPolicy(ctx, \"exampleTrafficPolicy\", \u0026route53.TrafficPolicyArgs{\n\t\t\tComment: pulumi.String(\"example comment\"),\n\t\t\tDocument: pulumi.String(exampleTrafficPolicyDocument.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetTrafficPolicyDocumentArgs;\nimport com.pulumi.aws.route53.TrafficPolicy;\nimport com.pulumi.aws.route53.TrafficPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var exampleTrafficPolicyDocument = Route53Functions.getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs.builder()\n .recordType(\"A\")\n .startRule(\"site_switch\")\n .endpoints( \n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"my_elb\")\n .type(\"elastic-load-balancer\")\n .value(String.format(\"elb-111111.%s.elb.amazonaws.com\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"site_down_banner\")\n .type(\"s3-website\")\n .region(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .value(\"www.example.com\")\n .build())\n .rules(GetTrafficPolicyDocumentRuleArgs.builder()\n .id(\"site_switch\")\n .type(\"failover\")\n .primary(GetTrafficPolicyDocumentRulePrimaryArgs.builder()\n .endpointReference(\"my_elb\")\n .build())\n .secondary(GetTrafficPolicyDocumentRuleSecondaryArgs.builder()\n .endpointReference(\"site_down_banner\")\n .build())\n .build())\n .build());\n\n var exampleTrafficPolicy = new TrafficPolicy(\"exampleTrafficPolicy\", TrafficPolicyArgs.builder() \n .comment(\"example comment\")\n .document(exampleTrafficPolicyDocument.applyValue(getTrafficPolicyDocumentResult -\u003e getTrafficPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrafficPolicy:\n type: aws:route53:TrafficPolicy\n properties:\n comment: example comment\n document: ${exampleTrafficPolicyDocument.json}\nvariables:\n current:\n Fn::Invoke:\n Function: aws:getRegion\n Arguments: {}\n exampleTrafficPolicyDocument:\n Fn::Invoke:\n Function: aws:route53:getTrafficPolicyDocument\n Arguments:\n recordType: A\n startRule: site_switch\n endpoints:\n - id: my_elb\n type: elastic-load-balancer\n value: elb-111111.${current.name}.elb.amazonaws.com\n - id: site_down_banner\n type: s3-website\n region: ${current.name}\n value: www.example.com\n rules:\n - id: site_switch\n type: failover\n primary:\n endpointReference: my_elb\n secondary:\n endpointReference: site_down_banner\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Generates an Route53 traffic policy document in JSON format for use with resources that expect policy documents such as [`aws.route53.TrafficPolicy`](https://www.terraform.io/docs/providers/aws/r/route53_traffic_policy.html).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleTrafficPolicyDocument = Promise.all([current, current]).then(([current, current1]) =\u003e aws.route53.getTrafficPolicyDocument({\n recordType: \"A\",\n startRule: \"site_switch\",\n endpoints: [\n {\n id: \"my_elb\",\n type: \"elastic-load-balancer\",\n value: `elb-111111.${current.name}.elb.amazonaws.com`,\n },\n {\n id: \"site_down_banner\",\n type: \"s3-website\",\n region: current1.name,\n value: \"www.example.com\",\n },\n ],\n rules: [{\n id: \"site_switch\",\n type: \"failover\",\n primary: {\n endpointReference: \"my_elb\",\n },\n secondary: {\n endpointReference: \"site_down_banner\",\n },\n }],\n}));\nconst exampleTrafficPolicy = new aws.route53.TrafficPolicy(\"exampleTrafficPolicy\", {\n comment: \"example comment\",\n document: exampleTrafficPolicyDocument.then(exampleTrafficPolicyDocument =\u003e exampleTrafficPolicyDocument.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_traffic_policy_document = aws.route53.get_traffic_policy_document(record_type=\"A\",\n start_rule=\"site_switch\",\n endpoints=[\n aws.route53.GetTrafficPolicyDocumentEndpointArgs(\n id=\"my_elb\",\n type=\"elastic-load-balancer\",\n value=f\"elb-111111.{current.name}.elb.amazonaws.com\",\n ),\n aws.route53.GetTrafficPolicyDocumentEndpointArgs(\n id=\"site_down_banner\",\n type=\"s3-website\",\n region=current.name,\n value=\"www.example.com\",\n ),\n ],\n rules=[aws.route53.GetTrafficPolicyDocumentRuleArgs(\n id=\"site_switch\",\n type=\"failover\",\n primary=aws.route53.GetTrafficPolicyDocumentRulePrimaryArgs(\n endpoint_reference=\"my_elb\",\n ),\n secondary=aws.route53.GetTrafficPolicyDocumentRuleSecondaryArgs(\n endpoint_reference=\"site_down_banner\",\n ),\n )])\nexample_traffic_policy = aws.route53.TrafficPolicy(\"exampleTrafficPolicy\",\n comment=\"example comment\",\n document=example_traffic_policy_document.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleTrafficPolicyDocument = Aws.Route53.GetTrafficPolicyDocument.Invoke(new()\n {\n RecordType = \"A\",\n StartRule = \"site_switch\",\n Endpoints = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"my_elb\",\n Type = \"elastic-load-balancer\",\n Value = $\"elb-111111.{current.Apply(getRegionResult =\u003e getRegionResult.Name)}.elb.amazonaws.com\",\n },\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentEndpointInputArgs\n {\n Id = \"site_down_banner\",\n Type = \"s3-website\",\n Region = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Value = \"www.example.com\",\n },\n },\n Rules = new[]\n {\n new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleInputArgs\n {\n Id = \"site_switch\",\n Type = \"failover\",\n Primary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRulePrimaryInputArgs\n {\n EndpointReference = \"my_elb\",\n },\n Secondary = new Aws.Route53.Inputs.GetTrafficPolicyDocumentRuleSecondaryInputArgs\n {\n EndpointReference = \"site_down_banner\",\n },\n },\n },\n });\n\n var exampleTrafficPolicy = new Aws.Route53.TrafficPolicy(\"exampleTrafficPolicy\", new()\n {\n Comment = \"example comment\",\n Document = exampleTrafficPolicyDocument.Apply(getTrafficPolicyDocumentResult =\u003e getTrafficPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTrafficPolicyDocument, err := route53.GetTrafficPolicyDocument(ctx, \u0026route53.GetTrafficPolicyDocumentArgs{\n\t\t\tRecordType: pulumi.StringRef(\"A\"),\n\t\t\tStartRule: pulumi.StringRef(\"site_switch\"),\n\t\t\tEndpoints: []route53.GetTrafficPolicyDocumentEndpoint{\n\t\t\t\troute53.GetTrafficPolicyDocumentEndpoint{\n\t\t\t\t\tId: \"my_elb\",\n\t\t\t\t\tType: pulumi.StringRef(\"elastic-load-balancer\"),\n\t\t\t\t\tValue: pulumi.StringRef(fmt.Sprintf(\"elb-111111.%v.elb.amazonaws.com\", current.Name)),\n\t\t\t\t},\n\t\t\t\troute53.GetTrafficPolicyDocumentEndpoint{\n\t\t\t\t\tId: \"site_down_banner\",\n\t\t\t\t\tType: pulumi.StringRef(\"s3-website\"),\n\t\t\t\t\tRegion: pulumi.StringRef(current.Name),\n\t\t\t\t\tValue: pulumi.StringRef(\"www.example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRules: []route53.GetTrafficPolicyDocumentRule{\n\t\t\t\troute53.GetTrafficPolicyDocumentRule{\n\t\t\t\t\tId: \"site_switch\",\n\t\t\t\t\tType: pulumi.StringRef(\"failover\"),\n\t\t\t\t\tPrimary: route53.GetTrafficPolicyDocumentRulePrimary{\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"my_elb\"),\n\t\t\t\t\t},\n\t\t\t\t\tSecondary: route53.GetTrafficPolicyDocumentRuleSecondary{\n\t\t\t\t\t\tEndpointReference: pulumi.StringRef(\"site_down_banner\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewTrafficPolicy(ctx, \"exampleTrafficPolicy\", \u0026route53.TrafficPolicyArgs{\n\t\t\tComment: pulumi.String(\"example comment\"),\n\t\t\tDocument: pulumi.String(exampleTrafficPolicyDocument.Json),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetTrafficPolicyDocumentArgs;\nimport com.pulumi.aws.route53.TrafficPolicy;\nimport com.pulumi.aws.route53.TrafficPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n final var exampleTrafficPolicyDocument = Route53Functions.getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs.builder()\n .recordType(\"A\")\n .startRule(\"site_switch\")\n .endpoints( \n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"my_elb\")\n .type(\"elastic-load-balancer\")\n .value(String.format(\"elb-111111.%s.elb.amazonaws.com\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(),\n GetTrafficPolicyDocumentEndpointArgs.builder()\n .id(\"site_down_banner\")\n .type(\"s3-website\")\n .region(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .value(\"www.example.com\")\n .build())\n .rules(GetTrafficPolicyDocumentRuleArgs.builder()\n .id(\"site_switch\")\n .type(\"failover\")\n .primary(GetTrafficPolicyDocumentRulePrimaryArgs.builder()\n .endpointReference(\"my_elb\")\n .build())\n .secondary(GetTrafficPolicyDocumentRuleSecondaryArgs.builder()\n .endpointReference(\"site_down_banner\")\n .build())\n .build())\n .build());\n\n var exampleTrafficPolicy = new TrafficPolicy(\"exampleTrafficPolicy\", TrafficPolicyArgs.builder() \n .comment(\"example comment\")\n .document(exampleTrafficPolicyDocument.applyValue(getTrafficPolicyDocumentResult -\u003e getTrafficPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTrafficPolicy:\n type: aws:route53:TrafficPolicy\n properties:\n comment: example comment\n document: ${exampleTrafficPolicyDocument.json}\nvariables:\n current:\n Fn::Invoke:\n Function: aws:getRegion\n Arguments: {}\n exampleTrafficPolicyDocument:\n Fn::Invoke:\n Function: aws:route53:getTrafficPolicyDocument\n Arguments:\n recordType: A\n startRule: site_switch\n endpoints:\n - id: my_elb\n type: elastic-load-balancer\n value: elb-111111.${current.name}.elb.amazonaws.com\n - id: site_down_banner\n type: s3-website\n region: ${current.name}\n value: www.example.com\n rules:\n - id: site_switch\n type: failover\n primary:\n endpointReference: my_elb\n secondary:\n endpointReference: site_down_banner\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getTrafficPolicyDocument.\n", "properties": { @@ -567345,7 +571725,7 @@ } }, "aws:route53/getZone:getZone": { - "description": "`aws.route53.Zone` provides details about a specific Route 53 Hosted Zone.\n\nThis data source allows to find a Hosted Zone ID given Hosted Zone name and certain search criteria.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThe following example shows how to get a Hosted Zone from its name and from this data how to create a Record Set.\n\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.route53.getZone({\n name: \"test.com.\",\n privateZone: true,\n});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: selected.then(selected =\u003e selected.zoneId),\n name: selected.then(selected =\u003e `www.${selected.name}`),\n type: \"A\",\n ttl: 300,\n records: [\"10.0.0.1\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.route53.get_zone(name=\"test.com.\",\n private_zone=True)\nwww = aws.route53.Record(\"www\",\n zone_id=selected.zone_id,\n name=f\"www.{selected.name}\",\n type=\"A\",\n ttl=300,\n records=[\"10.0.0.1\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"test.com.\",\n PrivateZone = true,\n });\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = selected.Apply(getZoneResult =\u003e getZoneResult.ZoneId),\n Name = $\"www.{selected.Apply(getZoneResult =\u003e getZoneResult.Name)}\",\n Type = \"A\",\n Ttl = 300,\n Records = new[]\n {\n \"10.0.0.1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n\t\t\tName: pulumi.StringRef(\"test.com.\"),\n\t\t\tPrivateZone: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.String(selected.ZoneId),\n\t\t\tName: pulumi.String(fmt.Sprintf(\"www.%v\", selected.Name)),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tTtl: pulumi.Int(300),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = Route53Functions.getZone(GetZoneArgs.builder()\n .name(\"test.com.\")\n .privateZone(true)\n .build());\n\n var www = new Record(\"www\", RecordArgs.builder() \n .zoneId(selected.applyValue(getZoneResult -\u003e getZoneResult.zoneId()))\n .name(String.format(\"www.%s\", selected.applyValue(getZoneResult -\u003e getZoneResult.name())))\n .type(\"A\")\n .ttl(\"300\")\n .records(\"10.0.0.1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${selected.zoneId}\n name: www.${selected.name}\n type: A\n ttl: 300\n records:\n - 10.0.0.1\nvariables:\n selected:\n Fn::Invoke:\n Function: aws:route53:getZone\n Arguments:\n name: test.com.\n privateZone: true\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`aws.route53.Zone` provides details about a specific Route 53 Hosted Zone.\n\nThis data source allows to find a Hosted Zone ID given Hosted Zone name and certain search criteria.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThe following example shows how to get a Hosted Zone from its name and from this data how to create a Record Set.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst selected = aws.route53.getZone({\n name: \"test.com.\",\n privateZone: true,\n});\nconst www = new aws.route53.Record(\"www\", {\n zoneId: selected.then(selected =\u003e selected.zoneId),\n name: selected.then(selected =\u003e `www.${selected.name}`),\n type: \"A\",\n ttl: 300,\n records: [\"10.0.0.1\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nselected = aws.route53.get_zone(name=\"test.com.\",\n private_zone=True)\nwww = aws.route53.Record(\"www\",\n zone_id=selected.zone_id,\n name=f\"www.{selected.name}\",\n type=\"A\",\n ttl=300,\n records=[\"10.0.0.1\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var selected = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"test.com.\",\n PrivateZone = true,\n });\n\n var www = new Aws.Route53.Record(\"www\", new()\n {\n ZoneId = selected.Apply(getZoneResult =\u003e getZoneResult.ZoneId),\n Name = $\"www.{selected.Apply(getZoneResult =\u003e getZoneResult.Name)}\",\n Type = \"A\",\n Ttl = 300,\n Records = new[]\n {\n \"10.0.0.1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tselected, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n\t\t\tName: pulumi.StringRef(\"test.com.\"),\n\t\t\tPrivateZone: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"www\", \u0026route53.RecordArgs{\n\t\t\tZoneId: pulumi.String(selected.ZoneId),\n\t\t\tName: pulumi.String(fmt.Sprintf(\"www.%v\", selected.Name)),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tTtl: pulumi.Int(300),\n\t\t\tRecords: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.1\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var selected = Route53Functions.getZone(GetZoneArgs.builder()\n .name(\"test.com.\")\n .privateZone(true)\n .build());\n\n var www = new Record(\"www\", RecordArgs.builder() \n .zoneId(selected.applyValue(getZoneResult -\u003e getZoneResult.zoneId()))\n .name(String.format(\"www.%s\", selected.applyValue(getZoneResult -\u003e getZoneResult.name())))\n .type(\"A\")\n .ttl(\"300\")\n .records(\"10.0.0.1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: aws:route53:Record\n properties:\n zoneId: ${selected.zoneId}\n name: www.${selected.name}\n type: A\n ttl: 300\n records:\n - 10.0.0.1\nvariables:\n selected:\n Fn::Invoke:\n Function: aws:route53:getZone\n Arguments:\n name: test.com.\n privateZone: true\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getZone.\n", "properties": { @@ -570640,7 +575020,7 @@ } }, "aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup": { - "description": "`aws.waf.getSubscribedRuleGroup` retrieves information about a Managed WAF Rule Group from AWS Marketplace (needs to be subscribed to first).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byName = pulumi.output(aws.waf.getSubscribedRuleGroup({\n name: \"F5 Bot Detection Signatures For AWS WAF\",\n}));\nconst byMetricName = pulumi.output(aws.waf.getSubscribedRuleGroup({\n metricName: \"F5BotDetectionSignatures\",\n}));\nconst acl = new aws.waf.WebAcl(\"acl\", {\n rules: [\n {\n priority: 1,\n ruleId: byName.id,\n type: \"GROUP\",\n },\n {\n priority: 2,\n ruleId: byMetricName.id,\n type: \"GROUP\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_name = aws.waf.get_subscribed_rule_group(name=\"F5 Bot Detection Signatures For AWS WAF\")\nby_metric_name = aws.waf.get_subscribed_rule_group(metric_name=\"F5BotDetectionSignatures\")\nacl = aws.waf.WebAcl(\"acl\", rules=[\n aws.waf.WebAclRuleArgs(\n priority=1,\n rule_id=by_name.id,\n type=\"GROUP\",\n ),\n aws.waf.WebAclRuleArgs(\n priority=2,\n rule_id=by_metric_name.id,\n type=\"GROUP\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byName = Aws.Waf.GetSubscribedRuleGroup.Invoke(new()\n {\n Name = \"F5 Bot Detection Signatures For AWS WAF\",\n });\n\n var byMetricName = Aws.Waf.GetSubscribedRuleGroup.Invoke(new()\n {\n MetricName = \"F5BotDetectionSignatures\",\n });\n\n var acl = new Aws.Waf.WebAcl(\"acl\", new()\n {\n Rules = new[]\n {\n new Aws.Waf.Inputs.WebAclRuleArgs\n {\n Priority = 1,\n RuleId = byName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n new Aws.Waf.Inputs.WebAclRuleArgs\n {\n Priority = 2,\n RuleId = byMetricName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbyName, err := waf.GetSubscribedRuleGroup(ctx, \u0026waf.GetSubscribedRuleGroupArgs{\n\t\t\tName: pulumi.StringRef(\"F5 Bot Detection Signatures For AWS WAF\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbyMetricName, err := waf.GetSubscribedRuleGroup(ctx, \u0026waf.GetSubscribedRuleGroupArgs{\n\t\t\tMetricName: pulumi.StringRef(\"F5BotDetectionSignatures\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = waf.NewWebAcl(ctx, \"acl\", \u0026waf.WebAclArgs{\n\t\t\tRules: waf.WebAclRuleArray{\n\t\t\t\t\u0026waf.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: pulumi.String(byName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t},\n\t\t\t\t\u0026waf.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tRuleId: pulumi.String(byMetricName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.WafFunctions;\nimport com.pulumi.aws.waf.inputs.GetSubscribedRuleGroupArgs;\nimport com.pulumi.aws.waf.WebAcl;\nimport com.pulumi.aws.waf.WebAclArgs;\nimport com.pulumi.aws.waf.inputs.WebAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byName = WafFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .name(\"F5 Bot Detection Signatures For AWS WAF\")\n .build());\n\n final var byMetricName = WafFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .metricName(\"F5BotDetectionSignatures\")\n .build());\n\n var acl = new WebAcl(\"acl\", WebAclArgs.builder() \n .rules( \n WebAclRuleArgs.builder()\n .priority(1)\n .ruleId(byName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build(),\n WebAclRuleArgs.builder()\n .priority(2)\n .ruleId(byMetricName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n acl:\n type: aws:waf:WebAcl\n properties:\n rules:\n - priority: 1\n ruleId: ${byName.id}\n type: GROUP\n - priority: 2\n ruleId: ${byMetricName.id}\n type: GROUP\nvariables:\n byName:\n Fn::Invoke:\n Function: aws:waf:getSubscribedRuleGroup\n Arguments:\n name: F5 Bot Detection Signatures For AWS WAF\n byMetricName:\n Fn::Invoke:\n Function: aws:waf:getSubscribedRuleGroup\n Arguments:\n metricName: F5BotDetectionSignatures\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`aws.waf.getSubscribedRuleGroup` retrieves information about a Managed WAF Rule Group from AWS Marketplace (needs to be subscribed to first).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byName = aws.waf.getSubscribedRuleGroup({\n name: \"F5 Bot Detection Signatures For AWS WAF\",\n});\nconst byMetricName = aws.waf.getSubscribedRuleGroup({\n metricName: \"F5BotDetectionSignatures\",\n});\n// ...\nconst acl = new aws.waf.WebAcl(\"acl\", {rules: [\n {\n priority: 1,\n ruleId: byName.then(byName =\u003e byName.id),\n type: \"GROUP\",\n },\n {\n priority: 2,\n ruleId: byMetricName.then(byMetricName =\u003e byMetricName.id),\n type: \"GROUP\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_name = aws.waf.get_subscribed_rule_group(name=\"F5 Bot Detection Signatures For AWS WAF\")\nby_metric_name = aws.waf.get_subscribed_rule_group(metric_name=\"F5BotDetectionSignatures\")\n# ...\nacl = aws.waf.WebAcl(\"acl\", rules=[\n aws.waf.WebAclRuleArgs(\n priority=1,\n rule_id=by_name.id,\n type=\"GROUP\",\n ),\n aws.waf.WebAclRuleArgs(\n priority=2,\n rule_id=by_metric_name.id,\n type=\"GROUP\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byName = Aws.Waf.GetSubscribedRuleGroup.Invoke(new()\n {\n Name = \"F5 Bot Detection Signatures For AWS WAF\",\n });\n\n var byMetricName = Aws.Waf.GetSubscribedRuleGroup.Invoke(new()\n {\n MetricName = \"F5BotDetectionSignatures\",\n });\n\n // ...\n var acl = new Aws.Waf.WebAcl(\"acl\", new()\n {\n Rules = new[]\n {\n new Aws.Waf.Inputs.WebAclRuleArgs\n {\n Priority = 1,\n RuleId = byName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n new Aws.Waf.Inputs.WebAclRuleArgs\n {\n Priority = 2,\n RuleId = byMetricName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbyName, err := waf.GetSubscribedRuleGroup(ctx, \u0026waf.GetSubscribedRuleGroupArgs{\n\t\t\tName: pulumi.StringRef(\"F5 Bot Detection Signatures For AWS WAF\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbyMetricName, err := waf.GetSubscribedRuleGroup(ctx, \u0026waf.GetSubscribedRuleGroupArgs{\n\t\t\tMetricName: pulumi.StringRef(\"F5BotDetectionSignatures\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = waf.NewWebAcl(ctx, \"acl\", \u0026waf.WebAclArgs{\n\t\t\tRules: waf.WebAclRuleArray{\n\t\t\t\t\u0026waf.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: pulumi.String(byName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t},\n\t\t\t\t\u0026waf.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tRuleId: pulumi.String(byMetricName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.waf.WafFunctions;\nimport com.pulumi.aws.waf.inputs.GetSubscribedRuleGroupArgs;\nimport com.pulumi.aws.waf.WebAcl;\nimport com.pulumi.aws.waf.WebAclArgs;\nimport com.pulumi.aws.waf.inputs.WebAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byName = WafFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .name(\"F5 Bot Detection Signatures For AWS WAF\")\n .build());\n\n final var byMetricName = WafFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .metricName(\"F5BotDetectionSignatures\")\n .build());\n\n var acl = new WebAcl(\"acl\", WebAclArgs.builder() \n .rules( \n WebAclRuleArgs.builder()\n .priority(1)\n .ruleId(byName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build(),\n WebAclRuleArgs.builder()\n .priority(2)\n .ruleId(byMetricName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n acl:\n type: aws:waf:WebAcl\n properties:\n rules:\n - priority: 1\n ruleId: ${byName.id}\n type: GROUP\n - priority: 2\n ruleId: ${byMetricName.id}\n type: GROUP\nvariables:\n byName:\n Fn::Invoke:\n Function: aws:waf:getSubscribedRuleGroup\n Arguments:\n name: F5 Bot Detection Signatures For AWS WAF\n byMetricName:\n Fn::Invoke:\n Function: aws:waf:getSubscribedRuleGroup\n Arguments:\n metricName: F5BotDetectionSignatures\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getSubscribedRuleGroup.\n", "properties": { @@ -570808,7 +575188,7 @@ } }, "aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup": { - "description": "`aws.wafregional.getSubscribedRuleGroup` retrieves information about a Managed WAF Rule Group from AWS Marketplace for use in WAF Regional (needs to be subscribed to first).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byName = pulumi.output(aws.wafregional.getSubscribedRuleGroup({\n name: \"F5 Bot Detection Signatures For AWS WAF\",\n}));\nconst byMetricName = pulumi.output(aws.wafregional.getSubscribedRuleGroup({\n metricName: \"F5BotDetectionSignatures\",\n}));\nconst acl = new aws.wafregional.WebAcl(\"acl\", {\n rules: [\n {\n priority: 1,\n ruleId: byName.id,\n type: \"GROUP\",\n },\n {\n priority: 2,\n ruleId: byMetricName.id,\n type: \"GROUP\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_name = aws.wafregional.get_subscribed_rule_group(name=\"F5 Bot Detection Signatures For AWS WAF\")\nby_metric_name = aws.wafregional.get_subscribed_rule_group(metric_name=\"F5BotDetectionSignatures\")\nacl = aws.wafregional.WebAcl(\"acl\", rules=[\n aws.wafregional.WebAclRuleArgs(\n priority=1,\n rule_id=by_name.id,\n type=\"GROUP\",\n ),\n aws.wafregional.WebAclRuleArgs(\n priority=2,\n rule_id=by_metric_name.id,\n type=\"GROUP\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byName = Aws.WafRegional.GetSubscribedRuleGroup.Invoke(new()\n {\n Name = \"F5 Bot Detection Signatures For AWS WAF\",\n });\n\n var byMetricName = Aws.WafRegional.GetSubscribedRuleGroup.Invoke(new()\n {\n MetricName = \"F5BotDetectionSignatures\",\n });\n\n var acl = new Aws.WafRegional.WebAcl(\"acl\", new()\n {\n Rules = new[]\n {\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Priority = 1,\n RuleId = byName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Priority = 2,\n RuleId = byMetricName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbyName, err := wafregional.GetSubscribedRuleGroup(ctx, \u0026wafregional.GetSubscribedRuleGroupArgs{\n\t\t\tName: pulumi.StringRef(\"F5 Bot Detection Signatures For AWS WAF\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbyMetricName, err := wafregional.GetSubscribedRuleGroup(ctx, \u0026wafregional.GetSubscribedRuleGroupArgs{\n\t\t\tMetricName: pulumi.StringRef(\"F5BotDetectionSignatures\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafregional.NewWebAcl(ctx, \"acl\", \u0026wafregional.WebAclArgs{\n\t\t\tRules: wafregional.WebAclRuleArray{\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: pulumi.String(byName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t},\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tRuleId: pulumi.String(byMetricName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafregional.WafregionalFunctions;\nimport com.pulumi.aws.waf.inputs.GetSubscribedRuleGroupArgs;\nimport com.pulumi.aws.wafregional.WebAcl;\nimport com.pulumi.aws.wafregional.WebAclArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byName = WafregionalFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .name(\"F5 Bot Detection Signatures For AWS WAF\")\n .build());\n\n final var byMetricName = WafregionalFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .metricName(\"F5BotDetectionSignatures\")\n .build());\n\n var acl = new WebAcl(\"acl\", WebAclArgs.builder() \n .rules( \n WebAclRuleArgs.builder()\n .priority(1)\n .ruleId(byName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build(),\n WebAclRuleArgs.builder()\n .priority(2)\n .ruleId(byMetricName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n acl:\n type: aws:wafregional:WebAcl\n properties:\n rules:\n - priority: 1\n ruleId: ${byName.id}\n type: GROUP\n - priority: 2\n ruleId: ${byMetricName.id}\n type: GROUP\nvariables:\n byName:\n Fn::Invoke:\n Function: aws:wafregional:getSubscribedRuleGroup\n Arguments:\n name: F5 Bot Detection Signatures For AWS WAF\n byMetricName:\n Fn::Invoke:\n Function: aws:wafregional:getSubscribedRuleGroup\n Arguments:\n metricName: F5BotDetectionSignatures\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "`aws.wafregional.getSubscribedRuleGroup` retrieves information about a Managed WAF Rule Group from AWS Marketplace for use in WAF Regional (needs to be subscribed to first).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst byName = aws.wafregional.getSubscribedRuleGroup({\n name: \"F5 Bot Detection Signatures For AWS WAF\",\n});\nconst byMetricName = aws.wafregional.getSubscribedRuleGroup({\n metricName: \"F5BotDetectionSignatures\",\n});\n// ...\nconst acl = new aws.wafregional.WebAcl(\"acl\", {rules: [\n {\n priority: 1,\n ruleId: byName.then(byName =\u003e byName.id),\n type: \"GROUP\",\n },\n {\n priority: 2,\n ruleId: byMetricName.then(byMetricName =\u003e byMetricName.id),\n type: \"GROUP\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nby_name = aws.wafregional.get_subscribed_rule_group(name=\"F5 Bot Detection Signatures For AWS WAF\")\nby_metric_name = aws.wafregional.get_subscribed_rule_group(metric_name=\"F5BotDetectionSignatures\")\n# ...\nacl = aws.wafregional.WebAcl(\"acl\", rules=[\n aws.wafregional.WebAclRuleArgs(\n priority=1,\n rule_id=by_name.id,\n type=\"GROUP\",\n ),\n aws.wafregional.WebAclRuleArgs(\n priority=2,\n rule_id=by_metric_name.id,\n type=\"GROUP\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var byName = Aws.WafRegional.GetSubscribedRuleGroup.Invoke(new()\n {\n Name = \"F5 Bot Detection Signatures For AWS WAF\",\n });\n\n var byMetricName = Aws.WafRegional.GetSubscribedRuleGroup.Invoke(new()\n {\n MetricName = \"F5BotDetectionSignatures\",\n });\n\n // ...\n var acl = new Aws.WafRegional.WebAcl(\"acl\", new()\n {\n Rules = new[]\n {\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Priority = 1,\n RuleId = byName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n new Aws.WafRegional.Inputs.WebAclRuleArgs\n {\n Priority = 2,\n RuleId = byMetricName.Apply(getSubscribedRuleGroupResult =\u003e getSubscribedRuleGroupResult.Id),\n Type = \"GROUP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/wafregional\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbyName, err := wafregional.GetSubscribedRuleGroup(ctx, \u0026wafregional.GetSubscribedRuleGroupArgs{\n\t\t\tName: pulumi.StringRef(\"F5 Bot Detection Signatures For AWS WAF\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbyMetricName, err := wafregional.GetSubscribedRuleGroup(ctx, \u0026wafregional.GetSubscribedRuleGroupArgs{\n\t\t\tMetricName: pulumi.StringRef(\"F5BotDetectionSignatures\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafregional.NewWebAcl(ctx, \"acl\", \u0026wafregional.WebAclArgs{\n\t\t\tRules: wafregional.WebAclRuleArray{\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tRuleId: pulumi.String(byName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t},\n\t\t\t\t\u0026wafregional.WebAclRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\tRuleId: pulumi.String(byMetricName.Id),\n\t\t\t\t\tType: pulumi.String(\"GROUP\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.wafregional.WafregionalFunctions;\nimport com.pulumi.aws.waf.inputs.GetSubscribedRuleGroupArgs;\nimport com.pulumi.aws.wafregional.WebAcl;\nimport com.pulumi.aws.wafregional.WebAclArgs;\nimport com.pulumi.aws.wafregional.inputs.WebAclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var byName = WafregionalFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .name(\"F5 Bot Detection Signatures For AWS WAF\")\n .build());\n\n final var byMetricName = WafregionalFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()\n .metricName(\"F5BotDetectionSignatures\")\n .build());\n\n var acl = new WebAcl(\"acl\", WebAclArgs.builder() \n .rules( \n WebAclRuleArgs.builder()\n .priority(1)\n .ruleId(byName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build(),\n WebAclRuleArgs.builder()\n .priority(2)\n .ruleId(byMetricName.applyValue(getSubscribedRuleGroupResult -\u003e getSubscribedRuleGroupResult.id()))\n .type(\"GROUP\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n acl:\n type: aws:wafregional:WebAcl\n properties:\n rules:\n - priority: 1\n ruleId: ${byName.id}\n type: GROUP\n - priority: 2\n ruleId: ${byMetricName.id}\n type: GROUP\nvariables:\n byName:\n Fn::Invoke:\n Function: aws:wafregional:getSubscribedRuleGroup\n Arguments:\n name: F5 Bot Detection Signatures For AWS WAF\n byMetricName:\n Fn::Invoke:\n Function: aws:wafregional:getSubscribedRuleGroup\n Arguments:\n metricName: F5BotDetectionSignatures\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getSubscribedRuleGroup.\n", "properties": { diff --git a/provider/go.mod b/provider/go.mod index cd01c978ba5..c25ca3ef7a5 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -14,7 +14,7 @@ require ( replace ( github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20220824175045-450992f2f5b9 - github.com/hashicorp/terraform-provider-aws => github.com/pulumi/terraform-provider-aws v1.38.1-0.20221012132008-10b16ea5e764 + github.com/hashicorp/terraform-provider-aws => github.com/pulumi/terraform-provider-aws v1.38.1-0.20221018102234-4da7991d3c2a github.com/hashicorp/terraform-provider-aws/shim => ./shim github.com/hashicorp/vault => github.com/hashicorp/vault v1.2.0 ) @@ -51,7 +51,7 @@ require ( github.com/apparentlymart/go-cidr v1.1.0 // indirect github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect github.com/armon/go-radix v1.0.0 // indirect - github.com/aws/aws-sdk-go v1.44.110 // indirect + github.com/aws/aws-sdk-go v1.44.114 // indirect github.com/aws/aws-sdk-go-v2 v1.16.16 // indirect github.com/aws/aws-sdk-go-v2/config v1.15.4 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.12.0 // indirect @@ -64,11 +64,13 @@ require ( github.com/aws/aws-sdk-go-v2/service/identitystore v1.15.5 // indirect github.com/aws/aws-sdk-go-v2/service/inspector2 v1.8.1 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.4 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.17 // indirect github.com/aws/aws-sdk-go-v2/service/kendra v1.35.0 // indirect github.com/aws/aws-sdk-go-v2/service/kms v1.5.0 // indirect github.com/aws/aws-sdk-go-v2/service/medialive v1.23.1 // indirect github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.0.10 // indirect github.com/aws/aws-sdk-go-v2/service/route53domains v1.12.17 // indirect + github.com/aws/aws-sdk-go-v2/service/s3control v1.24.0 // indirect github.com/aws/aws-sdk-go-v2/service/sesv2 v1.13.18 // indirect github.com/aws/aws-sdk-go-v2/service/sso v1.11.4 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.16.4 // indirect diff --git a/provider/go.sum b/provider/go.sum index a38354912a0..75412b6dfca 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -191,8 +191,8 @@ github.com/aws/aws-sdk-go v1.30.27/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZve github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.37.0/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go v1.40.34/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= -github.com/aws/aws-sdk-go v1.44.110 h1:unno3l2FYQo6p0wYCp9gUk8YNzhOxqSktM0Y1vukl9k= -github.com/aws/aws-sdk-go v1.44.110/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.114 h1:plIkWc/RsHr3DXBj4MEw9sEW4CcL/e2ryokc+CKyq1I= +github.com/aws/aws-sdk-go v1.44.114/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go-v2 v1.9.0/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= github.com/aws/aws-sdk-go-v2 v1.16.3/go.mod h1:ytwTPBG6fXTZLxxeeCCWj2/EMYp/xDUgX+OET6TLNNU= github.com/aws/aws-sdk-go-v2 v1.16.16 h1:M1fj4FE2lB4NzRb9Y0xdWsn2P0+2UHVxwKyOa4YJNjk= @@ -229,6 +229,8 @@ github.com/aws/aws-sdk-go-v2/service/inspector2 v1.8.1/go.mod h1:ijgzkrNZIbIzkWF github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.0/go.mod h1:R1KK+vY8AfalhG1AOu5e35pOD2SdoPKQCFLTvnxiohk= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.4 h1:b16QW0XWl0jWjLABFc1A+uh145Oqv+xDcObNk0iQgUk= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.4/go.mod h1:uKkN7qmSIsNJVyMtxNQoCEYMvFEXbOg9fwCJPdfp2u8= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.17 h1:HfVVR1vItaG6le+Bpw6P4midjBDMKnjMyZnw9MXYUcE= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.17/go.mod h1:YqMdV+gEKCQ59NrB7rzrJdALeBIsYiVi8Inj3+KcqHI= github.com/aws/aws-sdk-go-v2/service/kendra v1.35.0 h1:nOHdZFfH438FwUfAVQePSXlVD3Rux20n8KxJeGYlabY= github.com/aws/aws-sdk-go-v2/service/kendra v1.35.0/go.mod h1:vpAlARGh4pK3T2oNoW6osfGCEMGy3JDKJJfcnlzv+aM= github.com/aws/aws-sdk-go-v2/service/kms v1.5.0 h1:10e9mzaaYIIePEuxUzW5YJ8LKHNG/NX63evcvS3ux9U= @@ -239,6 +241,8 @@ github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.0.10 h1:FYBnb1z07t3qpAFddD github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.0.10/go.mod h1:61Oc8W4jS9kp9xNyrBkzir82bq5AV7moeXLkHR6nzLY= github.com/aws/aws-sdk-go-v2/service/route53domains v1.12.17 h1:Y/ay2+KWFoPBWP5p4VnWi7uCnZe+C6kdTlYUZC1w30U= github.com/aws/aws-sdk-go-v2/service/route53domains v1.12.17/go.mod h1:8kD6U3g33wPkjgM8boZrrVeXT6kmaWKf0nHquE2wWVU= +github.com/aws/aws-sdk-go-v2/service/s3control v1.24.0 h1:sUzmjWeHc74jxbxuqlCj21Np3pspePMPJGXgjanQujQ= +github.com/aws/aws-sdk-go-v2/service/s3control v1.24.0/go.mod h1:OGlbj8zUJ6BavucCjkjcvmBxFaYcuRW8easK//ktnx4= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.6.0/go.mod h1:B+7C5UKdVq1ylkI/A6O8wcurFtaux0R1njePNPtKwoA= github.com/aws/aws-sdk-go-v2/service/sesv2 v1.13.18 h1:Efm2CjXDoWK1NOu+w2+Ik0xne0BKDtq6T5ti/+9/NiQ= github.com/aws/aws-sdk-go-v2/service/sesv2 v1.13.18/go.mod h1:y+PVz3TeQYhlvP7NbmYDXuwflXBbK1s5I2O7SVTiWyw= @@ -855,8 +859,8 @@ github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e h1:Di github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20220824175045-450992f2f5b9 h1:JMw+t5I+6E8Lna7JF+ghAoOLOl23UIbshJyRNP+K1HU= github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20220824175045-450992f2f5b9/go.mod h1:mYPs/uchNcBq7AclQv9QUtSf9iNcfp1Ag21jqTlDf2M= -github.com/pulumi/terraform-provider-aws v1.38.1-0.20221012132008-10b16ea5e764 h1:CaVzNSr8SV0Y7H8mKIbqoCAnNdAATf4Y1vavXPHp4W4= -github.com/pulumi/terraform-provider-aws v1.38.1-0.20221012132008-10b16ea5e764/go.mod h1:o0laibPQ5cT/KFHqjeOph4Z5XozH2p1/dWDLlx8XMz0= +github.com/pulumi/terraform-provider-aws v1.38.1-0.20221018102234-4da7991d3c2a h1:2MSxdc57goNYCg12b4+iPefubP6T+p+2XosOQscw5N8= +github.com/pulumi/terraform-provider-aws v1.38.1-0.20221018102234-4da7991d3c2a/go.mod h1:U39fQ5hq0MzFc2nhkw1wvV6uOMaIYeJSe/RjUZM2IkI= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= diff --git a/provider/resources.go b/provider/resources.go index a91fa6b5ce0..5edca1c414e 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -185,6 +185,7 @@ const ( securityhubMod = "SecurityHub" // SecurityHub serverlessRepositoryMod = "ServerlessRepository" // ServerlessRepository sesMod = "Ses" // Simple Email Service (SES) + sesV2Mod = "SesV2" // Simple Email Service V2 (SES) signerMod = "Signer" // Signer s3Mod = "S3" // Simple Storage (S3) s3ControlMod = "S3Control" // S3 Control @@ -1056,8 +1057,9 @@ func Provider() tfbridge.ProviderInfo { Tok: awsResource(codecommitMod, "ApprovalRuleTemplateAssociation"), }, // CodePipeline - "aws_codepipeline": {Tok: awsResource(codepipelineMod, "Pipeline")}, - "aws_codepipeline_webhook": {Tok: awsResource(codepipelineMod, "Webhook")}, + "aws_codepipeline": {Tok: awsResource(codepipelineMod, "Pipeline")}, + "aws_codepipeline_custom_action_type": {Tok: awsResource(codepipelineMod, "CustomActionType")}, + "aws_codepipeline_webhook": {Tok: awsResource(codepipelineMod, "Webhook")}, // Cognito "aws_cognito_identity_pool": {Tok: awsResource(cognitoMod, "IdentityPool")}, @@ -1075,7 +1077,8 @@ func Provider() tfbridge.ProviderInfo { "aws_cognito_risk_configuration": {Tok: awsResource(cognitoMod, "RiskConfiguration")}, // Comprehend - "aws_comprehend_entity_recognizer": {Tok: awsResource(comprehendMod, "EntityRecognizer")}, + "aws_comprehend_document_classifier": {Tok: awsResource(comprehendMod, "DocumentClassifier")}, + "aws_comprehend_entity_recognizer": {Tok: awsResource(comprehendMod, "EntityRecognizer")}, // Connect "aws_connect_contact_flow": {Tok: awsResource(connectMod, "ContactFlow")}, @@ -2078,6 +2081,7 @@ func Provider() tfbridge.ProviderInfo { "aws_inspector_resource_group": {Tok: awsResource(inspectorMod, "ResourceGroup")}, // Inspector V2 + "aws_inspector2_delegated_admin_account": {Tok: awsResource(inspector2Mod, "DelegatedAdminAccount")}, "aws_inspector2_organization_configuration": {Tok: awsResource(inspector2Mod, "OrganizationConfiguration")}, // IOT @@ -2481,6 +2485,7 @@ func Provider() tfbridge.ProviderInfo { "aws_rds_global_cluster": {Tok: awsResource(rdsMod, "GlobalCluster")}, "aws_rds_cluster_role_association": {Tok: awsResource(rdsMod, "ClusterRoleAssociation")}, "aws_rds_cluster_activity_stream": {Tok: awsResource(rdsMod, "ClusterActivityStream")}, + "aws_rds_reserved_instance": {Tok: awsResource(rdsMod, "ReservedInstance")}, "aws_db_cluster_snapshot": {Tok: awsResource(rdsMod, "ClusterSnapshot")}, "aws_db_event_subscription": {Tok: awsResource(rdsMod, "EventSubscription")}, "aws_db_instance": { @@ -2760,6 +2765,8 @@ func Provider() tfbridge.ProviderInfo { "aws_ses_event_destination": {Tok: awsResource(sesMod, "EventDestination")}, "aws_ses_template": {Tok: awsResource(sesMod, "Template")}, + "aws_sesv2_configuration_set": {Tok: awsResource(sesV2Mod, "ConfigurationSet")}, + // Shield "aws_shield_protection": {Tok: awsResource(shieldMod, "Protection")}, "aws_shield_protection_group": {Tok: awsResource(shieldMod, "ProtectionGroup")}, @@ -3047,6 +3054,14 @@ func Provider() tfbridge.ProviderInfo { "aws_s3control_multi_region_access_point_policy": {Tok: awsResource(s3ControlMod, "MultiRegionAccessPointPolicy")}, "aws_s3control_object_lambda_access_point": {Tok: awsResource(s3ControlMod, "ObjectLambdaAccessPoint")}, "aws_s3control_object_lambda_access_point_policy": {Tok: awsResource(s3ControlMod, "ObjectLambdaAccessPointPolicy")}, + "aws_s3control_storage_lens_configuration": { + Tok: awsResource(s3ControlMod, "StorageLensConfiguration"), + Fields: map[string]*tfbridge.SchemaInfo{ + "storage_lens_configuration": { + CSharpName: "StorageLensConfigurationDetail", + }, + }, + }, // S3 Outposts "aws_s3outposts_endpoint": {Tok: awsResource(s3OutpostsMod, "Endpoint")}, // Systems Manager (SSM) @@ -3200,6 +3215,7 @@ func Provider() tfbridge.ProviderInfo { "aws_transfer_user": {Tok: awsResource(transferMod, "User")}, "aws_transfer_access": {Tok: awsResource(transferMod, "Access")}, "aws_transfer_workflow": {Tok: awsResource(transferMod, "Workflow")}, + "aws_transfer_tag": {Tok: awsResource(transferMod, "Tag")}, // TimestreamWrite "aws_timestreamwrite_database": {Tok: awsResource(timestreamWriteMod, "Database")}, "aws_timestreamwrite_table": {Tok: awsResource(timestreamWriteMod, "Table")}, @@ -4814,6 +4830,7 @@ func Provider() tfbridge.ProviderInfo { "aws_ec2_transit_gateway_route_tables": {Tok: awsDataSource(ec2Mod, "getTransitGatewayRouteTables")}, "aws_ec2_instance_types": {Tok: awsDataSource(ec2Mod, "getInstanceTypes")}, "aws_vpc_ipam_pool": {Tok: awsDataSource(ec2Mod, "getVpcIamPool")}, + "aws_vpc_ipam_pools": {Tok: awsDataSource(ec2Mod, "getVpcIamPools")}, "aws_vpc_ipam_pool_cidrs": {Tok: awsDataSource(ec2Mod, "getVpcIamPoolCidrs")}, "aws_vpc_ipam_preview_next_cidr": {Tok: awsDataSource(ec2Mod, "getIpamPreviewNextCidr")}, "aws_eips": {Tok: awsDataSource(ec2Mod, "getEips")}, @@ -5038,16 +5055,17 @@ func Provider() tfbridge.ProviderInfo { // Pricing "aws_pricing_product": {Tok: awsDataSource(pricingMod, "getProduct")}, // RDS - "aws_rds_cluster": {Tok: awsDataSource(rdsMod, "getCluster")}, - "aws_db_cluster_snapshot": {Tok: awsDataSource(rdsMod, "getClusterSnapshot")}, - "aws_db_event_categories": {Tok: awsDataSource(rdsMod, "getEventCategories")}, - "aws_db_instance": {Tok: awsDataSource(rdsMod, "getInstance")}, - "aws_db_snapshot": {Tok: awsDataSource(rdsMod, "getSnapshot")}, - "aws_db_subnet_group": {Tok: awsDataSource(rdsMod, "getSubnetGroup")}, - "aws_rds_orderable_db_instance": {Tok: awsDataSource(rdsMod, "getOrderableDbInstance")}, - "aws_rds_engine_version": {Tok: awsDataSource(rdsMod, "getEngineVersion")}, - "aws_rds_certificate": {Tok: awsDataSource(rdsMod, "getCertificate")}, - "aws_db_proxy": {Tok: awsDataSource(rdsMod, "getProxy")}, + "aws_rds_cluster": {Tok: awsDataSource(rdsMod, "getCluster")}, + "aws_db_cluster_snapshot": {Tok: awsDataSource(rdsMod, "getClusterSnapshot")}, + "aws_db_event_categories": {Tok: awsDataSource(rdsMod, "getEventCategories")}, + "aws_db_instance": {Tok: awsDataSource(rdsMod, "getInstance")}, + "aws_db_snapshot": {Tok: awsDataSource(rdsMod, "getSnapshot")}, + "aws_db_subnet_group": {Tok: awsDataSource(rdsMod, "getSubnetGroup")}, + "aws_rds_orderable_db_instance": {Tok: awsDataSource(rdsMod, "getOrderableDbInstance")}, + "aws_rds_engine_version": {Tok: awsDataSource(rdsMod, "getEngineVersion")}, + "aws_rds_certificate": {Tok: awsDataSource(rdsMod, "getCertificate")}, + "aws_rds_reserved_instance_offering": {Tok: awsDataSource(rdsMod, "getReservedInstanceOffering")}, + "aws_db_proxy": {Tok: awsDataSource(rdsMod, "getProxy")}, // Ram "aws_ram_resource_share": {Tok: awsDataSource(ramMod, "getResourceShare")}, // RedShift diff --git a/provider/shim/go.mod b/provider/shim/go.mod index b92039f203f..5cc85dc6b88 100644 --- a/provider/shim/go.mod +++ b/provider/shim/go.mod @@ -7,13 +7,13 @@ require ( github.com/hashicorp/terraform-provider-aws v1.60.1-0.20220923175450-ca71523cdc36 ) -replace github.com/hashicorp/terraform-provider-aws => github.com/pulumi/terraform-provider-aws v1.38.1-0.20221012132008-10b16ea5e764 +replace github.com/hashicorp/terraform-provider-aws => github.com/pulumi/terraform-provider-aws v1.38.1-0.20221018102234-4da7991d3c2a require ( github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 // indirect github.com/agext/levenshtein v1.2.2 // indirect github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect - github.com/aws/aws-sdk-go v1.44.110 // indirect + github.com/aws/aws-sdk-go v1.44.114 // indirect github.com/aws/aws-sdk-go-v2 v1.16.16 // indirect github.com/aws/aws-sdk-go-v2/config v1.15.4 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.12.0 // indirect @@ -27,10 +27,12 @@ require ( github.com/aws/aws-sdk-go-v2/service/identitystore v1.15.5 // indirect github.com/aws/aws-sdk-go-v2/service/inspector2 v1.8.1 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.4 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.17 // indirect github.com/aws/aws-sdk-go-v2/service/kendra v1.35.0 // indirect github.com/aws/aws-sdk-go-v2/service/medialive v1.23.1 // indirect github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.0.10 // indirect github.com/aws/aws-sdk-go-v2/service/route53domains v1.12.17 // indirect + github.com/aws/aws-sdk-go-v2/service/s3control v1.24.0 // indirect github.com/aws/aws-sdk-go-v2/service/sesv2 v1.13.18 // indirect github.com/aws/aws-sdk-go-v2/service/sso v1.11.4 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.16.4 // indirect diff --git a/provider/shim/go.sum b/provider/shim/go.sum index ece3852d159..ea5f868e368 100644 --- a/provider/shim/go.sum +++ b/provider/shim/go.sum @@ -20,8 +20,8 @@ github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6 github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.44.110 h1:unno3l2FYQo6p0wYCp9gUk8YNzhOxqSktM0Y1vukl9k= -github.com/aws/aws-sdk-go v1.44.110/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.114 h1:plIkWc/RsHr3DXBj4MEw9sEW4CcL/e2ryokc+CKyq1I= +github.com/aws/aws-sdk-go v1.44.114/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go-v2 v1.16.3/go.mod h1:ytwTPBG6fXTZLxxeeCCWj2/EMYp/xDUgX+OET6TLNNU= github.com/aws/aws-sdk-go-v2 v1.16.16 h1:M1fj4FE2lB4NzRb9Y0xdWsn2P0+2UHVxwKyOa4YJNjk= github.com/aws/aws-sdk-go-v2 v1.16.16/go.mod h1:SwiyXi/1zTUZ6KIAmLK5V5ll8SiURNUYOqTerZPaF9k= @@ -52,6 +52,8 @@ github.com/aws/aws-sdk-go-v2/service/inspector2 v1.8.1 h1:Q4OBuhQrSt1/T8hyy5nwux github.com/aws/aws-sdk-go-v2/service/inspector2 v1.8.1/go.mod h1:ijgzkrNZIbIzkWFET1RpQ1G46eFYmdoEx8yh6OUuXso= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.4 h1:b16QW0XWl0jWjLABFc1A+uh145Oqv+xDcObNk0iQgUk= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.4/go.mod h1:uKkN7qmSIsNJVyMtxNQoCEYMvFEXbOg9fwCJPdfp2u8= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.17 h1:HfVVR1vItaG6le+Bpw6P4midjBDMKnjMyZnw9MXYUcE= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.17/go.mod h1:YqMdV+gEKCQ59NrB7rzrJdALeBIsYiVi8Inj3+KcqHI= github.com/aws/aws-sdk-go-v2/service/kendra v1.35.0 h1:nOHdZFfH438FwUfAVQePSXlVD3Rux20n8KxJeGYlabY= github.com/aws/aws-sdk-go-v2/service/kendra v1.35.0/go.mod h1:vpAlARGh4pK3T2oNoW6osfGCEMGy3JDKJJfcnlzv+aM= github.com/aws/aws-sdk-go-v2/service/medialive v1.23.1 h1:CWizhnzbsBRLUB0p9t4FAL7B8ZTwsJD/4GSTHbrppUU= @@ -60,6 +62,8 @@ github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.0.10 h1:FYBnb1z07t3qpAFddD github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.0.10/go.mod h1:61Oc8W4jS9kp9xNyrBkzir82bq5AV7moeXLkHR6nzLY= github.com/aws/aws-sdk-go-v2/service/route53domains v1.12.17 h1:Y/ay2+KWFoPBWP5p4VnWi7uCnZe+C6kdTlYUZC1w30U= github.com/aws/aws-sdk-go-v2/service/route53domains v1.12.17/go.mod h1:8kD6U3g33wPkjgM8boZrrVeXT6kmaWKf0nHquE2wWVU= +github.com/aws/aws-sdk-go-v2/service/s3control v1.24.0 h1:sUzmjWeHc74jxbxuqlCj21Np3pspePMPJGXgjanQujQ= +github.com/aws/aws-sdk-go-v2/service/s3control v1.24.0/go.mod h1:OGlbj8zUJ6BavucCjkjcvmBxFaYcuRW8easK//ktnx4= github.com/aws/aws-sdk-go-v2/service/sesv2 v1.13.18 h1:Efm2CjXDoWK1NOu+w2+Ik0xne0BKDtq6T5ti/+9/NiQ= github.com/aws/aws-sdk-go-v2/service/sesv2 v1.13.18/go.mod h1:y+PVz3TeQYhlvP7NbmYDXuwflXBbK1s5I2O7SVTiWyw= github.com/aws/aws-sdk-go-v2/service/sso v1.11.4 h1:Uw5wBybFQ1UeA9ts0Y07gbv0ncZnIAyw858tDW0NP2o= @@ -261,8 +265,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pquerna/otp v1.3.0 h1:oJV/SkzR33anKXwQU3Of42rL4wbrffP4uvUf1SvS5Xs= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/pulumi/terraform-provider-aws v1.38.1-0.20221012132008-10b16ea5e764 h1:CaVzNSr8SV0Y7H8mKIbqoCAnNdAATf4Y1vavXPHp4W4= -github.com/pulumi/terraform-provider-aws v1.38.1-0.20221012132008-10b16ea5e764/go.mod h1:o0laibPQ5cT/KFHqjeOph4Z5XozH2p1/dWDLlx8XMz0= +github.com/pulumi/terraform-provider-aws v1.38.1-0.20221018102234-4da7991d3c2a h1:2MSxdc57goNYCg12b4+iPefubP6T+p+2XosOQscw5N8= +github.com/pulumi/terraform-provider-aws v1.38.1-0.20221018102234-4da7991d3c2a/go.mod h1:U39fQ5hq0MzFc2nhkw1wvV6uOMaIYeJSe/RjUZM2IkI= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/sebdah/goldie v1.0.0/go.mod h1:jXP4hmWywNEwZzhMuv2ccnqTSFpuq8iyQhtQdkkZBH4= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= diff --git a/sdk/dotnet/Amp/Inputs/WorkspaceLoggingConfigurationArgs.cs b/sdk/dotnet/Amp/Inputs/WorkspaceLoggingConfigurationArgs.cs new file mode 100644 index 00000000000..4d003dbd617 --- /dev/null +++ b/sdk/dotnet/Amp/Inputs/WorkspaceLoggingConfigurationArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Amp.Inputs +{ + + public sealed class WorkspaceLoggingConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. + /// + [Input("logGroupArn", required: true)] + public Input LogGroupArn { get; set; } = null!; + + public WorkspaceLoggingConfigurationArgs() + { + } + public static new WorkspaceLoggingConfigurationArgs Empty => new WorkspaceLoggingConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Amp/Inputs/WorkspaceLoggingConfigurationGetArgs.cs b/sdk/dotnet/Amp/Inputs/WorkspaceLoggingConfigurationGetArgs.cs new file mode 100644 index 00000000000..a5afb7fa4af --- /dev/null +++ b/sdk/dotnet/Amp/Inputs/WorkspaceLoggingConfigurationGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Amp.Inputs +{ + + public sealed class WorkspaceLoggingConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. + /// + [Input("logGroupArn", required: true)] + public Input LogGroupArn { get; set; } = null!; + + public WorkspaceLoggingConfigurationGetArgs() + { + } + public static new WorkspaceLoggingConfigurationGetArgs Empty => new WorkspaceLoggingConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Amp/Outputs/WorkspaceLoggingConfiguration.cs b/sdk/dotnet/Amp/Outputs/WorkspaceLoggingConfiguration.cs new file mode 100644 index 00000000000..5303bcdc4c7 --- /dev/null +++ b/sdk/dotnet/Amp/Outputs/WorkspaceLoggingConfiguration.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Amp.Outputs +{ + + [OutputType] + public sealed class WorkspaceLoggingConfiguration + { + /// + /// The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. + /// + public readonly string LogGroupArn; + + [OutputConstructor] + private WorkspaceLoggingConfiguration(string logGroupArn) + { + LogGroupArn = logGroupArn; + } + } +} diff --git a/sdk/dotnet/Amp/Workspace.cs b/sdk/dotnet/Amp/Workspace.cs index 3bfe4fa6aa6..b7e89099ca4 100644 --- a/sdk/dotnet/Amp/Workspace.cs +++ b/sdk/dotnet/Amp/Workspace.cs @@ -12,8 +12,6 @@ namespace Pulumi.Aws.Amp /// /// Manages an Amazon Managed Service for Prometheus (AMP) Workspace. /// - /// > **NOTE:** This AWS functionality is in Preview and may change before General Availability release. Backwards compatibility is not guaranteed between provider releases. - /// /// ## Example Usage /// /// ```csharp @@ -23,13 +21,33 @@ namespace Pulumi.Aws.Amp /// /// return await Deployment.RunAsync(() => /// { - /// var demo = new Aws.Amp.Workspace("demo", new() + /// var example = new Aws.Amp.Workspace("example", new() /// { - /// Alias = "prometheus-test", + /// Alias = "example", /// Tags = /// { /// { "Environment", "production" }, - /// { "Owner", "abhi" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// ### CloudWatch Logging + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleLogGroup = new Aws.CloudWatch.LogGroup("exampleLogGroup"); + /// + /// var exampleWorkspace = new Aws.Amp.Workspace("exampleWorkspace", new() + /// { + /// LoggingConfiguration = new Aws.Amp.Inputs.WorkspaceLoggingConfigurationArgs + /// { + /// LogGroupArn = exampleLogGroup.Arn.Apply(arn => $"{arn}:*"), /// }, /// }); /// @@ -59,6 +77,12 @@ public partial class Workspace : global::Pulumi.CustomResource [Output("arn")] public Output Arn { get; private set; } = null!; + /// + /// Logging configuration for the workspace. See Logging Configuration below for details. + /// + [Output("loggingConfiguration")] + public Output LoggingConfiguration { get; private set; } = null!; + /// /// Prometheus endpoint available for this workspace. /// @@ -129,6 +153,12 @@ public sealed class WorkspaceArgs : global::Pulumi.ResourceArgs [Input("alias")] public Input? Alias { get; set; } + /// + /// Logging configuration for the workspace. See Logging Configuration below for details. + /// + [Input("loggingConfiguration")] + public Input? LoggingConfiguration { get; set; } + [Input("tags")] private InputMap? _tags; @@ -161,6 +191,12 @@ public sealed class WorkspaceState : global::Pulumi.ResourceArgs [Input("arn")] public Input? Arn { get; set; } + /// + /// Logging configuration for the workspace. See Logging Configuration below for details. + /// + [Input("loggingConfiguration")] + public Input? LoggingConfiguration { get; set; } + /// /// Prometheus endpoint available for this workspace. /// diff --git a/sdk/dotnet/ApiGatewayV2/Inputs/IntegrationResponseParameterArgs.cs b/sdk/dotnet/ApiGatewayV2/Inputs/IntegrationResponseParameterArgs.cs index b91a3c2b684..aa5e398030d 100644 --- a/sdk/dotnet/ApiGatewayV2/Inputs/IntegrationResponseParameterArgs.cs +++ b/sdk/dotnet/ApiGatewayV2/Inputs/IntegrationResponseParameterArgs.cs @@ -16,7 +16,7 @@ public sealed class IntegrationResponseParameterArgs : global::Pulumi.ResourceAr private InputMap? _mappings; /// - /// Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. + /// Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. /// See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. /// public InputMap Mappings diff --git a/sdk/dotnet/ApiGatewayV2/Inputs/IntegrationResponseParameterGetArgs.cs b/sdk/dotnet/ApiGatewayV2/Inputs/IntegrationResponseParameterGetArgs.cs index efab541fc4d..e3ed73a613c 100644 --- a/sdk/dotnet/ApiGatewayV2/Inputs/IntegrationResponseParameterGetArgs.cs +++ b/sdk/dotnet/ApiGatewayV2/Inputs/IntegrationResponseParameterGetArgs.cs @@ -16,7 +16,7 @@ public sealed class IntegrationResponseParameterGetArgs : global::Pulumi.Resourc private InputMap? _mappings; /// - /// Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. + /// Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. /// See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. /// public InputMap Mappings diff --git a/sdk/dotnet/ApiGatewayV2/Outputs/IntegrationResponseParameter.cs b/sdk/dotnet/ApiGatewayV2/Outputs/IntegrationResponseParameter.cs index 33f49509029..c9be255f3ad 100644 --- a/sdk/dotnet/ApiGatewayV2/Outputs/IntegrationResponseParameter.cs +++ b/sdk/dotnet/ApiGatewayV2/Outputs/IntegrationResponseParameter.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.ApiGatewayV2.Outputs public sealed class IntegrationResponseParameter { /// - /// Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. + /// Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. /// See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. /// public readonly ImmutableDictionary Mappings; diff --git a/sdk/dotnet/CloudFront/Distribution.cs b/sdk/dotnet/CloudFront/Distribution.cs index 2498599daeb..8d8550c7b50 100644 --- a/sdk/dotnet/CloudFront/Distribution.cs +++ b/sdk/dotnet/CloudFront/Distribution.cs @@ -56,7 +56,7 @@ namespace Pulumi.Aws.CloudFront /// new Aws.CloudFront.Inputs.DistributionOriginArgs /// { /// DomainName = bucketV2.BucketRegionalDomainName, - /// OriginId = s3OriginId, + /// OriginId = locals.S3_origin_id, /// S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs /// { /// OriginAccessIdentity = "origin-access-identity/cloudfront/ABCDEFG1234567", diff --git a/sdk/dotnet/CloudWatch/GetEventConnection.cs b/sdk/dotnet/CloudWatch/GetEventConnection.cs index f39bfe3cf36..70cdd273ed5 100644 --- a/sdk/dotnet/CloudWatch/GetEventConnection.cs +++ b/sdk/dotnet/CloudWatch/GetEventConnection.cs @@ -16,7 +16,6 @@ public static class GetEventConnection /// /// > **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical. /// - /// /// {{% examples %}} /// ## Example Usage /// {{% example %}} @@ -46,7 +45,6 @@ public static Task InvokeAsync(GetEventConnectionArgs /// /// > **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical. /// - /// /// {{% examples %}} /// ## Example Usage /// {{% example %}} diff --git a/sdk/dotnet/CodePipeline/CustomActionType.cs b/sdk/dotnet/CodePipeline/CustomActionType.cs new file mode 100644 index 00000000000..42639536bc7 --- /dev/null +++ b/sdk/dotnet/CodePipeline/CustomActionType.cs @@ -0,0 +1,314 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.CodePipeline +{ + /// + /// Provides a CodeDeploy CustomActionType + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.CodePipeline.CustomActionType("example", new() + /// { + /// Category = "Build", + /// InputArtifactDetails = new Aws.CodePipeline.Inputs.CustomActionTypeInputArtifactDetailsArgs + /// { + /// MaximumCount = 1, + /// MinimumCount = 0, + /// }, + /// OutputArtifactDetails = new Aws.CodePipeline.Inputs.CustomActionTypeOutputArtifactDetailsArgs + /// { + /// MaximumCount = 1, + /// MinimumCount = 0, + /// }, + /// ProviderName = "example", + /// Version = "1", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// CodeDeploy CustomActionType can be imported using the `id`, e.g. + /// + /// ```sh + /// $ pulumi import aws:codepipeline/customActionType:CustomActionType example Build:terraform:1 + /// ``` + /// + [AwsResourceType("aws:codepipeline/customActionType:CustomActionType")] + public partial class CustomActionType : global::Pulumi.CustomResource + { + /// + /// The action ARN. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + /// + [Output("category")] + public Output Category { get; private set; } = null!; + + /// + /// The configuration properties for the custom action. Max 10 items. + /// + [Output("configurationProperties")] + public Output> ConfigurationProperties { get; private set; } = null!; + + /// + /// The details of the input artifact for the action. + /// + [Output("inputArtifactDetails")] + public Output InputArtifactDetails { get; private set; } = null!; + + /// + /// The details of the output artifact of the action. + /// + [Output("outputArtifactDetails")] + public Output OutputArtifactDetails { get; private set; } = null!; + + /// + /// The creator of the action being called. + /// + [Output("owner")] + public Output Owner { get; private set; } = null!; + + /// + /// The provider of the service used in the custom action + /// + [Output("providerName")] + public Output ProviderName { get; private set; } = null!; + + /// + /// The settings for an action type. + /// + [Output("settings")] + public Output Settings { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + /// + /// The version identifier of the custom action. + /// + [Output("version")] + public Output Version { get; private set; } = null!; + + + /// + /// Create a CustomActionType 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 CustomActionType(string name, CustomActionTypeArgs args, CustomResourceOptions? options = null) + : base("aws:codepipeline/customActionType:CustomActionType", name, args ?? new CustomActionTypeArgs(), MakeResourceOptions(options, "")) + { + } + + private CustomActionType(string name, Input id, CustomActionTypeState? state = null, CustomResourceOptions? options = null) + : base("aws:codepipeline/customActionType:CustomActionType", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing CustomActionType 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. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static CustomActionType Get(string name, Input id, CustomActionTypeState? state = null, CustomResourceOptions? options = null) + { + return new CustomActionType(name, id, state, options); + } + } + + public sealed class CustomActionTypeArgs : global::Pulumi.ResourceArgs + { + /// + /// The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + /// + [Input("category", required: true)] + public Input Category { get; set; } = null!; + + [Input("configurationProperties")] + private InputList? _configurationProperties; + + /// + /// The configuration properties for the custom action. Max 10 items. + /// + public InputList ConfigurationProperties + { + get => _configurationProperties ?? (_configurationProperties = new InputList()); + set => _configurationProperties = value; + } + + /// + /// The details of the input artifact for the action. + /// + [Input("inputArtifactDetails", required: true)] + public Input InputArtifactDetails { get; set; } = null!; + + /// + /// The details of the output artifact of the action. + /// + [Input("outputArtifactDetails", required: true)] + public Input OutputArtifactDetails { get; set; } = null!; + + /// + /// The provider of the service used in the custom action + /// + [Input("providerName", required: true)] + public Input ProviderName { get; set; } = null!; + + /// + /// The settings for an action type. + /// + [Input("settings")] + public Input? Settings { get; set; } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + /// + /// The version identifier of the custom action. + /// + [Input("version", required: true)] + public Input Version { get; set; } = null!; + + public CustomActionTypeArgs() + { + } + public static new CustomActionTypeArgs Empty => new CustomActionTypeArgs(); + } + + public sealed class CustomActionTypeState : global::Pulumi.ResourceArgs + { + /// + /// The action ARN. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + /// + [Input("category")] + public Input? Category { get; set; } + + [Input("configurationProperties")] + private InputList? _configurationProperties; + + /// + /// The configuration properties for the custom action. Max 10 items. + /// + public InputList ConfigurationProperties + { + get => _configurationProperties ?? (_configurationProperties = new InputList()); + set => _configurationProperties = value; + } + + /// + /// The details of the input artifact for the action. + /// + [Input("inputArtifactDetails")] + public Input? InputArtifactDetails { get; set; } + + /// + /// The details of the output artifact of the action. + /// + [Input("outputArtifactDetails")] + public Input? OutputArtifactDetails { get; set; } + + /// + /// The creator of the action being called. + /// + [Input("owner")] + public Input? Owner { get; set; } + + /// + /// The provider of the service used in the custom action + /// + [Input("providerName")] + public Input? ProviderName { get; set; } + + /// + /// The settings for an action type. + /// + [Input("settings")] + public Input? Settings { get; set; } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + /// + /// The version identifier of the custom action. + /// + [Input("version")] + public Input? Version { get; set; } + + public CustomActionTypeState() + { + } + public static new CustomActionTypeState Empty => new CustomActionTypeState(); + } +} diff --git a/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeConfigurationPropertyArgs.cs b/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeConfigurationPropertyArgs.cs new file mode 100644 index 00000000000..1b32e382d0a --- /dev/null +++ b/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeConfigurationPropertyArgs.cs @@ -0,0 +1,62 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.CodePipeline.Inputs +{ + + public sealed class CustomActionTypeConfigurationPropertyArgs : global::Pulumi.ResourceArgs + { + /// + /// The description of the action configuration property. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Whether the configuration property is a key. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// The name of the action configuration property. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Indicates that the property will be used in conjunction with PollForJobs. + /// + [Input("queryable")] + public Input? Queryable { get; set; } + + /// + /// Whether the configuration property is a required value. + /// + [Input("required", required: true)] + public Input Required { get; set; } = null!; + + /// + /// Whether the configuration property is secret. + /// + [Input("secret", required: true)] + public Input Secret { get; set; } = null!; + + /// + /// The type of the configuration property. Valid values: `String`, `Number`, `Boolean` + /// + [Input("type")] + public Input? Type { get; set; } + + public CustomActionTypeConfigurationPropertyArgs() + { + } + public static new CustomActionTypeConfigurationPropertyArgs Empty => new CustomActionTypeConfigurationPropertyArgs(); + } +} diff --git a/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeConfigurationPropertyGetArgs.cs b/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeConfigurationPropertyGetArgs.cs new file mode 100644 index 00000000000..4691d0bd0df --- /dev/null +++ b/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeConfigurationPropertyGetArgs.cs @@ -0,0 +1,62 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.CodePipeline.Inputs +{ + + public sealed class CustomActionTypeConfigurationPropertyGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The description of the action configuration property. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Whether the configuration property is a key. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// The name of the action configuration property. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Indicates that the property will be used in conjunction with PollForJobs. + /// + [Input("queryable")] + public Input? Queryable { get; set; } + + /// + /// Whether the configuration property is a required value. + /// + [Input("required", required: true)] + public Input Required { get; set; } = null!; + + /// + /// Whether the configuration property is secret. + /// + [Input("secret", required: true)] + public Input Secret { get; set; } = null!; + + /// + /// The type of the configuration property. Valid values: `String`, `Number`, `Boolean` + /// + [Input("type")] + public Input? Type { get; set; } + + public CustomActionTypeConfigurationPropertyGetArgs() + { + } + public static new CustomActionTypeConfigurationPropertyGetArgs Empty => new CustomActionTypeConfigurationPropertyGetArgs(); + } +} diff --git a/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeInputArtifactDetailsArgs.cs b/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeInputArtifactDetailsArgs.cs new file mode 100644 index 00000000000..e273181c7bc --- /dev/null +++ b/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeInputArtifactDetailsArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.CodePipeline.Inputs +{ + + public sealed class CustomActionTypeInputArtifactDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + /// + [Input("maximumCount", required: true)] + public Input MaximumCount { get; set; } = null!; + + /// + /// The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + /// + [Input("minimumCount", required: true)] + public Input MinimumCount { get; set; } = null!; + + public CustomActionTypeInputArtifactDetailsArgs() + { + } + public static new CustomActionTypeInputArtifactDetailsArgs Empty => new CustomActionTypeInputArtifactDetailsArgs(); + } +} diff --git a/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeInputArtifactDetailsGetArgs.cs b/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeInputArtifactDetailsGetArgs.cs new file mode 100644 index 00000000000..4d82dffb959 --- /dev/null +++ b/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeInputArtifactDetailsGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.CodePipeline.Inputs +{ + + public sealed class CustomActionTypeInputArtifactDetailsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + /// + [Input("maximumCount", required: true)] + public Input MaximumCount { get; set; } = null!; + + /// + /// The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + /// + [Input("minimumCount", required: true)] + public Input MinimumCount { get; set; } = null!; + + public CustomActionTypeInputArtifactDetailsGetArgs() + { + } + public static new CustomActionTypeInputArtifactDetailsGetArgs Empty => new CustomActionTypeInputArtifactDetailsGetArgs(); + } +} diff --git a/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeOutputArtifactDetailsArgs.cs b/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeOutputArtifactDetailsArgs.cs new file mode 100644 index 00000000000..601490df204 --- /dev/null +++ b/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeOutputArtifactDetailsArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.CodePipeline.Inputs +{ + + public sealed class CustomActionTypeOutputArtifactDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + /// + [Input("maximumCount", required: true)] + public Input MaximumCount { get; set; } = null!; + + /// + /// The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + /// + [Input("minimumCount", required: true)] + public Input MinimumCount { get; set; } = null!; + + public CustomActionTypeOutputArtifactDetailsArgs() + { + } + public static new CustomActionTypeOutputArtifactDetailsArgs Empty => new CustomActionTypeOutputArtifactDetailsArgs(); + } +} diff --git a/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeOutputArtifactDetailsGetArgs.cs b/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeOutputArtifactDetailsGetArgs.cs new file mode 100644 index 00000000000..c2b566f9b80 --- /dev/null +++ b/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeOutputArtifactDetailsGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.CodePipeline.Inputs +{ + + public sealed class CustomActionTypeOutputArtifactDetailsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + /// + [Input("maximumCount", required: true)] + public Input MaximumCount { get; set; } = null!; + + /// + /// The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + /// + [Input("minimumCount", required: true)] + public Input MinimumCount { get; set; } = null!; + + public CustomActionTypeOutputArtifactDetailsGetArgs() + { + } + public static new CustomActionTypeOutputArtifactDetailsGetArgs Empty => new CustomActionTypeOutputArtifactDetailsGetArgs(); + } +} diff --git a/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeSettingsArgs.cs b/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeSettingsArgs.cs new file mode 100644 index 00000000000..4cb5ba222f4 --- /dev/null +++ b/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeSettingsArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.CodePipeline.Inputs +{ + + public sealed class CustomActionTypeSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. + /// + [Input("entityUrlTemplate")] + public Input? EntityUrlTemplate { get; set; } + + /// + /// The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. + /// + [Input("executionUrlTemplate")] + public Input? ExecutionUrlTemplate { get; set; } + + /// + /// The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. + /// + [Input("revisionUrlTemplate")] + public Input? RevisionUrlTemplate { get; set; } + + /// + /// The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. + /// + [Input("thirdPartyConfigurationUrl")] + public Input? ThirdPartyConfigurationUrl { get; set; } + + public CustomActionTypeSettingsArgs() + { + } + public static new CustomActionTypeSettingsArgs Empty => new CustomActionTypeSettingsArgs(); + } +} diff --git a/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeSettingsGetArgs.cs b/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeSettingsGetArgs.cs new file mode 100644 index 00000000000..b222a2566c8 --- /dev/null +++ b/sdk/dotnet/CodePipeline/Inputs/CustomActionTypeSettingsGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.CodePipeline.Inputs +{ + + public sealed class CustomActionTypeSettingsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. + /// + [Input("entityUrlTemplate")] + public Input? EntityUrlTemplate { get; set; } + + /// + /// The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. + /// + [Input("executionUrlTemplate")] + public Input? ExecutionUrlTemplate { get; set; } + + /// + /// The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. + /// + [Input("revisionUrlTemplate")] + public Input? RevisionUrlTemplate { get; set; } + + /// + /// The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. + /// + [Input("thirdPartyConfigurationUrl")] + public Input? ThirdPartyConfigurationUrl { get; set; } + + public CustomActionTypeSettingsGetArgs() + { + } + public static new CustomActionTypeSettingsGetArgs Empty => new CustomActionTypeSettingsGetArgs(); + } +} diff --git a/sdk/dotnet/CodePipeline/Outputs/CustomActionTypeConfigurationProperty.cs b/sdk/dotnet/CodePipeline/Outputs/CustomActionTypeConfigurationProperty.cs new file mode 100644 index 00000000000..65e46b09f3c --- /dev/null +++ b/sdk/dotnet/CodePipeline/Outputs/CustomActionTypeConfigurationProperty.cs @@ -0,0 +1,70 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.CodePipeline.Outputs +{ + + [OutputType] + public sealed class CustomActionTypeConfigurationProperty + { + /// + /// The description of the action configuration property. + /// + public readonly string? Description; + /// + /// Whether the configuration property is a key. + /// + public readonly bool Key; + /// + /// The name of the action configuration property. + /// + public readonly string Name; + /// + /// Indicates that the property will be used in conjunction with PollForJobs. + /// + public readonly bool? Queryable; + /// + /// Whether the configuration property is a required value. + /// + public readonly bool Required; + /// + /// Whether the configuration property is secret. + /// + public readonly bool Secret; + /// + /// The type of the configuration property. Valid values: `String`, `Number`, `Boolean` + /// + public readonly string? Type; + + [OutputConstructor] + private CustomActionTypeConfigurationProperty( + string? description, + + bool key, + + string name, + + bool? queryable, + + bool required, + + bool secret, + + string? type) + { + Description = description; + Key = key; + Name = name; + Queryable = queryable; + Required = required; + Secret = secret; + Type = type; + } + } +} diff --git a/sdk/dotnet/CodePipeline/Outputs/CustomActionTypeInputArtifactDetails.cs b/sdk/dotnet/CodePipeline/Outputs/CustomActionTypeInputArtifactDetails.cs new file mode 100644 index 00000000000..78459b5acce --- /dev/null +++ b/sdk/dotnet/CodePipeline/Outputs/CustomActionTypeInputArtifactDetails.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.CodePipeline.Outputs +{ + + [OutputType] + public sealed class CustomActionTypeInputArtifactDetails + { + /// + /// The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + /// + public readonly int MaximumCount; + /// + /// The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + /// + public readonly int MinimumCount; + + [OutputConstructor] + private CustomActionTypeInputArtifactDetails( + int maximumCount, + + int minimumCount) + { + MaximumCount = maximumCount; + MinimumCount = minimumCount; + } + } +} diff --git a/sdk/dotnet/CodePipeline/Outputs/CustomActionTypeOutputArtifactDetails.cs b/sdk/dotnet/CodePipeline/Outputs/CustomActionTypeOutputArtifactDetails.cs new file mode 100644 index 00000000000..8d2d600979d --- /dev/null +++ b/sdk/dotnet/CodePipeline/Outputs/CustomActionTypeOutputArtifactDetails.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.CodePipeline.Outputs +{ + + [OutputType] + public sealed class CustomActionTypeOutputArtifactDetails + { + /// + /// The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + /// + public readonly int MaximumCount; + /// + /// The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + /// + public readonly int MinimumCount; + + [OutputConstructor] + private CustomActionTypeOutputArtifactDetails( + int maximumCount, + + int minimumCount) + { + MaximumCount = maximumCount; + MinimumCount = minimumCount; + } + } +} diff --git a/sdk/dotnet/CodePipeline/Outputs/CustomActionTypeSettings.cs b/sdk/dotnet/CodePipeline/Outputs/CustomActionTypeSettings.cs new file mode 100644 index 00000000000..5c9baa870e3 --- /dev/null +++ b/sdk/dotnet/CodePipeline/Outputs/CustomActionTypeSettings.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.CodePipeline.Outputs +{ + + [OutputType] + public sealed class CustomActionTypeSettings + { + /// + /// The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. + /// + public readonly string? EntityUrlTemplate; + /// + /// The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. + /// + public readonly string? ExecutionUrlTemplate; + /// + /// The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. + /// + public readonly string? RevisionUrlTemplate; + /// + /// The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. + /// + public readonly string? ThirdPartyConfigurationUrl; + + [OutputConstructor] + private CustomActionTypeSettings( + string? entityUrlTemplate, + + string? executionUrlTemplate, + + string? revisionUrlTemplate, + + string? thirdPartyConfigurationUrl) + { + EntityUrlTemplate = entityUrlTemplate; + ExecutionUrlTemplate = executionUrlTemplate; + RevisionUrlTemplate = revisionUrlTemplate; + ThirdPartyConfigurationUrl = thirdPartyConfigurationUrl; + } + } +} diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolUserAttributeUpdateSettingsArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolUserAttributeUpdateSettingsArgs.cs new file mode 100644 index 00000000000..7e92dae98b0 --- /dev/null +++ b/sdk/dotnet/Cognito/Inputs/UserPoolUserAttributeUpdateSettingsArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Cognito.Inputs +{ + + public sealed class UserPoolUserAttributeUpdateSettingsArgs : global::Pulumi.ResourceArgs + { + [Input("attributesRequireVerificationBeforeUpdates", required: true)] + private InputList? _attributesRequireVerificationBeforeUpdates; + + /// + /// A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `auto_verified_attributes`. Valid values: `email`, `phone_number`. + /// + public InputList AttributesRequireVerificationBeforeUpdates + { + get => _attributesRequireVerificationBeforeUpdates ?? (_attributesRequireVerificationBeforeUpdates = new InputList()); + set => _attributesRequireVerificationBeforeUpdates = value; + } + + public UserPoolUserAttributeUpdateSettingsArgs() + { + } + public static new UserPoolUserAttributeUpdateSettingsArgs Empty => new UserPoolUserAttributeUpdateSettingsArgs(); + } +} diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolUserAttributeUpdateSettingsGetArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolUserAttributeUpdateSettingsGetArgs.cs new file mode 100644 index 00000000000..3ee42762c27 --- /dev/null +++ b/sdk/dotnet/Cognito/Inputs/UserPoolUserAttributeUpdateSettingsGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Cognito.Inputs +{ + + public sealed class UserPoolUserAttributeUpdateSettingsGetArgs : global::Pulumi.ResourceArgs + { + [Input("attributesRequireVerificationBeforeUpdates", required: true)] + private InputList? _attributesRequireVerificationBeforeUpdates; + + /// + /// A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `auto_verified_attributes`. Valid values: `email`, `phone_number`. + /// + public InputList AttributesRequireVerificationBeforeUpdates + { + get => _attributesRequireVerificationBeforeUpdates ?? (_attributesRequireVerificationBeforeUpdates = new InputList()); + set => _attributesRequireVerificationBeforeUpdates = value; + } + + public UserPoolUserAttributeUpdateSettingsGetArgs() + { + } + public static new UserPoolUserAttributeUpdateSettingsGetArgs Empty => new UserPoolUserAttributeUpdateSettingsGetArgs(); + } +} diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolUserAttributeUpdateSettings.cs b/sdk/dotnet/Cognito/Outputs/UserPoolUserAttributeUpdateSettings.cs new file mode 100644 index 00000000000..1cb2435e34f --- /dev/null +++ b/sdk/dotnet/Cognito/Outputs/UserPoolUserAttributeUpdateSettings.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Cognito.Outputs +{ + + [OutputType] + public sealed class UserPoolUserAttributeUpdateSettings + { + /// + /// A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `auto_verified_attributes`. Valid values: `email`, `phone_number`. + /// + public readonly ImmutableArray AttributesRequireVerificationBeforeUpdates; + + [OutputConstructor] + private UserPoolUserAttributeUpdateSettings(ImmutableArray attributesRequireVerificationBeforeUpdates) + { + AttributesRequireVerificationBeforeUpdates = attributesRequireVerificationBeforeUpdates; + } + } +} diff --git a/sdk/dotnet/Cognito/UserPool.cs b/sdk/dotnet/Cognito/UserPool.cs index ee111fba367..0f763d7957a 100644 --- a/sdk/dotnet/Cognito/UserPool.cs +++ b/sdk/dotnet/Cognito/UserPool.cs @@ -252,6 +252,12 @@ public partial class UserPool : global::Pulumi.CustomResource [Output("tagsAll")] public Output> TagsAll { get; private set; } = null!; + /// + /// Configuration block for user attribute update settings. Detailed below. + /// + [Output("userAttributeUpdateSettings")] + public Output UserAttributeUpdateSettings { get; private set; } = null!; + /// /// Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. /// @@ -454,6 +460,12 @@ public InputMap Tags set => _tags = value; } + /// + /// Configuration block for user attribute update settings. Detailed below. + /// + [Input("userAttributeUpdateSettings")] + public Input? UserAttributeUpdateSettings { get; set; } + /// /// Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. /// @@ -678,6 +690,12 @@ public InputMap TagsAll set => _tagsAll = value; } + /// + /// Configuration block for user attribute update settings. Detailed below. + /// + [Input("userAttributeUpdateSettings")] + public Input? UserAttributeUpdateSettings { get; set; } + /// /// Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. /// diff --git a/sdk/dotnet/Comprehend/DocumentClassifier.cs b/sdk/dotnet/Comprehend/DocumentClassifier.cs new file mode 100644 index 00000000000..e131f90a26a --- /dev/null +++ b/sdk/dotnet/Comprehend/DocumentClassifier.cs @@ -0,0 +1,418 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Comprehend +{ + /// + /// ## Example Usage + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var documents = new Aws.S3.BucketObjectv2("documents"); + /// + /// // ... + /// var example = new Aws.Comprehend.DocumentClassifier("example", new() + /// { + /// DataAccessRoleArn = aws_iam_role.Example.Arn, + /// LanguageCode = "en", + /// InputDataConfig = new Aws.Comprehend.Inputs.DocumentClassifierInputDataConfigArgs + /// { + /// S3Uri = documents.Id.Apply(id => $"s3://{aws_s3_bucket.Test.Bucket}/{id}"), + /// }, + /// }, new CustomResourceOptions + /// { + /// DependsOn = new[] + /// { + /// aws_iam_role_policy.Example, + /// }, + /// }); + /// + /// var entities = new Aws.S3.BucketObjectv2("entities"); + /// + /// // ... + /// }); + /// ``` + /// + /// ## Import + /// + /// Comprehend Document Classifier can be imported using the ARN, e.g., + /// + /// ```sh + /// $ pulumi import aws:comprehend/documentClassifier:DocumentClassifier example arn:aws:comprehend:us-west-2:123456789012:document_classifier/example + /// ``` + /// + [AwsResourceType("aws:comprehend/documentClassifier:DocumentClassifier")] + public partial class DocumentClassifier : global::Pulumi.CustomResource + { + /// + /// ARN of the Document Classifier version. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The ARN for an IAM Role which allows Comprehend to read the training and testing data. + /// + [Output("dataAccessRoleArn")] + public Output DataAccessRoleArn { get; private set; } = null!; + + /// + /// Configuration for the training and testing data. + /// See the `input_data_config` Configuration Block section below. + /// + [Output("inputDataConfig")] + public Output InputDataConfig { get; private set; } = null!; + + /// + /// Two-letter language code for the language. + /// One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + /// + [Output("languageCode")] + public Output LanguageCode { get; private set; } = null!; + + /// + /// The document classification mode. + /// One of `MULTI_CLASS` or `MULTI_LABEL`. + /// `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + /// + [Output("mode")] + public Output Mode { get; private set; } = null!; + + /// + /// KMS Key used to encrypt trained Document Classifiers. + /// Can be a KMS Key ID or a KMS Key ARN. + /// + [Output("modelKmsKeyId")] + public Output ModelKmsKeyId { get; private set; } = null!; + + /// + /// Name for the Document Classifier. + /// Has a maximum length of 63 characters. + /// Can contain upper- and lower-case letters, numbers, and hypen (`-`). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Configuration for the output results of training. + /// See the `output_data_config` Configuration Block section below. + /// + [Output("outputDataConfig")] + public Output OutputDataConfig { get; private set; } = null!; + + /// + /// A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + /// + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + [Output("versionName")] + public Output VersionName { get; private set; } = null!; + + /// + /// Creates a unique version name beginning with the specified prefix. + /// Has a maximum length of 37 characters. + /// Can contain upper- and lower-case letters, numbers, and hypen (`-`). + /// Conflicts with `version_name`. + /// + [Output("versionNamePrefix")] + public Output VersionNamePrefix { get; private set; } = null!; + + /// + /// KMS Key used to encrypt storage volumes during job processing. + /// Can be a KMS Key ID or a KMS Key ARN. + /// + [Output("volumeKmsKeyId")] + public Output VolumeKmsKeyId { get; private set; } = null!; + + /// + /// Configuration parameters for VPC to contain Document Classifier resources. + /// See the `vpc_config` Configuration Block section below. + /// + [Output("vpcConfig")] + public Output VpcConfig { get; private set; } = null!; + + + /// + /// Create a DocumentClassifier 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 DocumentClassifier(string name, DocumentClassifierArgs args, CustomResourceOptions? options = null) + : base("aws:comprehend/documentClassifier:DocumentClassifier", name, args ?? new DocumentClassifierArgs(), MakeResourceOptions(options, "")) + { + } + + private DocumentClassifier(string name, Input id, DocumentClassifierState? state = null, CustomResourceOptions? options = null) + : base("aws:comprehend/documentClassifier:DocumentClassifier", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing DocumentClassifier 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. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static DocumentClassifier Get(string name, Input id, DocumentClassifierState? state = null, CustomResourceOptions? options = null) + { + return new DocumentClassifier(name, id, state, options); + } + } + + public sealed class DocumentClassifierArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN for an IAM Role which allows Comprehend to read the training and testing data. + /// + [Input("dataAccessRoleArn", required: true)] + public Input DataAccessRoleArn { get; set; } = null!; + + /// + /// Configuration for the training and testing data. + /// See the `input_data_config` Configuration Block section below. + /// + [Input("inputDataConfig", required: true)] + public Input InputDataConfig { get; set; } = null!; + + /// + /// Two-letter language code for the language. + /// One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + /// + [Input("languageCode", required: true)] + public Input LanguageCode { get; set; } = null!; + + /// + /// The document classification mode. + /// One of `MULTI_CLASS` or `MULTI_LABEL`. + /// `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + /// + [Input("mode")] + public Input? Mode { get; set; } + + /// + /// KMS Key used to encrypt trained Document Classifiers. + /// Can be a KMS Key ID or a KMS Key ARN. + /// + [Input("modelKmsKeyId")] + public Input? ModelKmsKeyId { get; set; } + + /// + /// Name for the Document Classifier. + /// Has a maximum length of 63 characters. + /// Can contain upper- and lower-case letters, numbers, and hypen (`-`). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Configuration for the output results of training. + /// See the `output_data_config` Configuration Block section below. + /// + [Input("outputDataConfig")] + public Input? OutputDataConfig { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + [Input("versionName")] + public Input? VersionName { get; set; } + + /// + /// Creates a unique version name beginning with the specified prefix. + /// Has a maximum length of 37 characters. + /// Can contain upper- and lower-case letters, numbers, and hypen (`-`). + /// Conflicts with `version_name`. + /// + [Input("versionNamePrefix")] + public Input? VersionNamePrefix { get; set; } + + /// + /// KMS Key used to encrypt storage volumes during job processing. + /// Can be a KMS Key ID or a KMS Key ARN. + /// + [Input("volumeKmsKeyId")] + public Input? VolumeKmsKeyId { get; set; } + + /// + /// Configuration parameters for VPC to contain Document Classifier resources. + /// See the `vpc_config` Configuration Block section below. + /// + [Input("vpcConfig")] + public Input? VpcConfig { get; set; } + + public DocumentClassifierArgs() + { + } + public static new DocumentClassifierArgs Empty => new DocumentClassifierArgs(); + } + + public sealed class DocumentClassifierState : global::Pulumi.ResourceArgs + { + /// + /// ARN of the Document Classifier version. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The ARN for an IAM Role which allows Comprehend to read the training and testing data. + /// + [Input("dataAccessRoleArn")] + public Input? DataAccessRoleArn { get; set; } + + /// + /// Configuration for the training and testing data. + /// See the `input_data_config` Configuration Block section below. + /// + [Input("inputDataConfig")] + public Input? InputDataConfig { get; set; } + + /// + /// Two-letter language code for the language. + /// One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + /// + [Input("languageCode")] + public Input? LanguageCode { get; set; } + + /// + /// The document classification mode. + /// One of `MULTI_CLASS` or `MULTI_LABEL`. + /// `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + /// + [Input("mode")] + public Input? Mode { get; set; } + + /// + /// KMS Key used to encrypt trained Document Classifiers. + /// Can be a KMS Key ID or a KMS Key ARN. + /// + [Input("modelKmsKeyId")] + public Input? ModelKmsKeyId { get; set; } + + /// + /// Name for the Document Classifier. + /// Has a maximum length of 63 characters. + /// Can contain upper- and lower-case letters, numbers, and hypen (`-`). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Configuration for the output results of training. + /// See the `output_data_config` Configuration Block section below. + /// + [Input("outputDataConfig")] + public Input? OutputDataConfig { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + [Input("versionName")] + public Input? VersionName { get; set; } + + /// + /// Creates a unique version name beginning with the specified prefix. + /// Has a maximum length of 37 characters. + /// Can contain upper- and lower-case letters, numbers, and hypen (`-`). + /// Conflicts with `version_name`. + /// + [Input("versionNamePrefix")] + public Input? VersionNamePrefix { get; set; } + + /// + /// KMS Key used to encrypt storage volumes during job processing. + /// Can be a KMS Key ID or a KMS Key ARN. + /// + [Input("volumeKmsKeyId")] + public Input? VolumeKmsKeyId { get; set; } + + /// + /// Configuration parameters for VPC to contain Document Classifier resources. + /// See the `vpc_config` Configuration Block section below. + /// + [Input("vpcConfig")] + public Input? VpcConfig { get; set; } + + public DocumentClassifierState() + { + } + public static new DocumentClassifierState Empty => new DocumentClassifierState(); + } +} diff --git a/sdk/dotnet/Comprehend/Inputs/DocumentClassifierInputDataConfigArgs.cs b/sdk/dotnet/Comprehend/Inputs/DocumentClassifierInputDataConfigArgs.cs new file mode 100644 index 00000000000..2fa372015b0 --- /dev/null +++ b/sdk/dotnet/Comprehend/Inputs/DocumentClassifierInputDataConfigArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Comprehend.Inputs +{ + + public sealed class DocumentClassifierInputDataConfigArgs : global::Pulumi.ResourceArgs + { + [Input("augmentedManifests")] + private InputList? _augmentedManifests; + + /// + /// List of training datasets produced by Amazon SageMaker Ground Truth. + /// Used if `data_format` is `AUGMENTED_MANIFEST`. + /// See the `augmented_manifests` Configuration Block section below. + /// + public InputList AugmentedManifests + { + get => _augmentedManifests ?? (_augmentedManifests = new InputList()); + set => _augmentedManifests = value; + } + + /// + /// The format for the training data. + /// One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. + /// + [Input("dataFormat")] + public Input? DataFormat { get; set; } + + /// + /// Delimiter between labels when training a multi-label classifier. + /// Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\`, `:`, `;`, `>`, `?`, `/`, `<space>`, and `<tab>`. + /// Default is `|`. + /// + [Input("labelDelimiter")] + public Input? LabelDelimiter { get; set; } + + /// + /// Destination path for the output documents. + /// The full path to the output file will be returned in `output_s3_uri`. + /// + [Input("s3Uri")] + public Input? S3Uri { get; set; } + + [Input("testS3Uri")] + public Input? TestS3Uri { get; set; } + + public DocumentClassifierInputDataConfigArgs() + { + } + public static new DocumentClassifierInputDataConfigArgs Empty => new DocumentClassifierInputDataConfigArgs(); + } +} diff --git a/sdk/dotnet/Comprehend/Inputs/DocumentClassifierInputDataConfigAugmentedManifestArgs.cs b/sdk/dotnet/Comprehend/Inputs/DocumentClassifierInputDataConfigAugmentedManifestArgs.cs new file mode 100644 index 00000000000..bc29e7a57a5 --- /dev/null +++ b/sdk/dotnet/Comprehend/Inputs/DocumentClassifierInputDataConfigAugmentedManifestArgs.cs @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Comprehend.Inputs +{ + + public sealed class DocumentClassifierInputDataConfigAugmentedManifestArgs : global::Pulumi.ResourceArgs + { + /// + /// Location of annotation files. + /// + [Input("annotationDataS3Uri")] + public Input? AnnotationDataS3Uri { get; set; } + + [Input("attributeNames", required: true)] + private InputList? _attributeNames; + + /// + /// The JSON attribute that contains the annotations for the training documents. + /// + public InputList AttributeNames + { + get => _attributeNames ?? (_attributeNames = new InputList()); + set => _attributeNames = value; + } + + /// + /// Type of augmented manifest. + /// One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. + /// + [Input("documentType")] + public Input? DocumentType { get; set; } + + /// + /// Destination path for the output documents. + /// The full path to the output file will be returned in `output_s3_uri`. + /// + [Input("s3Uri", required: true)] + public Input S3Uri { get; set; } = null!; + + /// + /// Location of source PDF files. + /// + [Input("sourceDocumentsS3Uri")] + public Input? SourceDocumentsS3Uri { get; set; } + + /// + /// Purpose of data in augmented manifest. + /// One of `TRAIN` or `TEST`. + /// + [Input("split")] + public Input? Split { get; set; } + + public DocumentClassifierInputDataConfigAugmentedManifestArgs() + { + } + public static new DocumentClassifierInputDataConfigAugmentedManifestArgs Empty => new DocumentClassifierInputDataConfigAugmentedManifestArgs(); + } +} diff --git a/sdk/dotnet/Comprehend/Inputs/DocumentClassifierInputDataConfigAugmentedManifestGetArgs.cs b/sdk/dotnet/Comprehend/Inputs/DocumentClassifierInputDataConfigAugmentedManifestGetArgs.cs new file mode 100644 index 00000000000..dd56f9c010c --- /dev/null +++ b/sdk/dotnet/Comprehend/Inputs/DocumentClassifierInputDataConfigAugmentedManifestGetArgs.cs @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Comprehend.Inputs +{ + + public sealed class DocumentClassifierInputDataConfigAugmentedManifestGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Location of annotation files. + /// + [Input("annotationDataS3Uri")] + public Input? AnnotationDataS3Uri { get; set; } + + [Input("attributeNames", required: true)] + private InputList? _attributeNames; + + /// + /// The JSON attribute that contains the annotations for the training documents. + /// + public InputList AttributeNames + { + get => _attributeNames ?? (_attributeNames = new InputList()); + set => _attributeNames = value; + } + + /// + /// Type of augmented manifest. + /// One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. + /// + [Input("documentType")] + public Input? DocumentType { get; set; } + + /// + /// Destination path for the output documents. + /// The full path to the output file will be returned in `output_s3_uri`. + /// + [Input("s3Uri", required: true)] + public Input S3Uri { get; set; } = null!; + + /// + /// Location of source PDF files. + /// + [Input("sourceDocumentsS3Uri")] + public Input? SourceDocumentsS3Uri { get; set; } + + /// + /// Purpose of data in augmented manifest. + /// One of `TRAIN` or `TEST`. + /// + [Input("split")] + public Input? Split { get; set; } + + public DocumentClassifierInputDataConfigAugmentedManifestGetArgs() + { + } + public static new DocumentClassifierInputDataConfigAugmentedManifestGetArgs Empty => new DocumentClassifierInputDataConfigAugmentedManifestGetArgs(); + } +} diff --git a/sdk/dotnet/Comprehend/Inputs/DocumentClassifierInputDataConfigGetArgs.cs b/sdk/dotnet/Comprehend/Inputs/DocumentClassifierInputDataConfigGetArgs.cs new file mode 100644 index 00000000000..bf90a987c13 --- /dev/null +++ b/sdk/dotnet/Comprehend/Inputs/DocumentClassifierInputDataConfigGetArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Comprehend.Inputs +{ + + public sealed class DocumentClassifierInputDataConfigGetArgs : global::Pulumi.ResourceArgs + { + [Input("augmentedManifests")] + private InputList? _augmentedManifests; + + /// + /// List of training datasets produced by Amazon SageMaker Ground Truth. + /// Used if `data_format` is `AUGMENTED_MANIFEST`. + /// See the `augmented_manifests` Configuration Block section below. + /// + public InputList AugmentedManifests + { + get => _augmentedManifests ?? (_augmentedManifests = new InputList()); + set => _augmentedManifests = value; + } + + /// + /// The format for the training data. + /// One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. + /// + [Input("dataFormat")] + public Input? DataFormat { get; set; } + + /// + /// Delimiter between labels when training a multi-label classifier. + /// Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\`, `:`, `;`, `>`, `?`, `/`, `<space>`, and `<tab>`. + /// Default is `|`. + /// + [Input("labelDelimiter")] + public Input? LabelDelimiter { get; set; } + + /// + /// Destination path for the output documents. + /// The full path to the output file will be returned in `output_s3_uri`. + /// + [Input("s3Uri")] + public Input? S3Uri { get; set; } + + [Input("testS3Uri")] + public Input? TestS3Uri { get; set; } + + public DocumentClassifierInputDataConfigGetArgs() + { + } + public static new DocumentClassifierInputDataConfigGetArgs Empty => new DocumentClassifierInputDataConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Comprehend/Inputs/DocumentClassifierOutputDataConfigArgs.cs b/sdk/dotnet/Comprehend/Inputs/DocumentClassifierOutputDataConfigArgs.cs new file mode 100644 index 00000000000..4c4525a8d89 --- /dev/null +++ b/sdk/dotnet/Comprehend/Inputs/DocumentClassifierOutputDataConfigArgs.cs @@ -0,0 +1,40 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Comprehend.Inputs +{ + + public sealed class DocumentClassifierOutputDataConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// KMS Key used to encrypt the output documents. + /// Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. + /// + [Input("kmsKeyId")] + public Input? KmsKeyId { get; set; } + + /// + /// Full path for the output documents. + /// + [Input("outputS3Uri")] + public Input? OutputS3Uri { get; set; } + + /// + /// Destination path for the output documents. + /// The full path to the output file will be returned in `output_s3_uri`. + /// + [Input("s3Uri", required: true)] + public Input S3Uri { get; set; } = null!; + + public DocumentClassifierOutputDataConfigArgs() + { + } + public static new DocumentClassifierOutputDataConfigArgs Empty => new DocumentClassifierOutputDataConfigArgs(); + } +} diff --git a/sdk/dotnet/Comprehend/Inputs/DocumentClassifierOutputDataConfigGetArgs.cs b/sdk/dotnet/Comprehend/Inputs/DocumentClassifierOutputDataConfigGetArgs.cs new file mode 100644 index 00000000000..9a074f15efc --- /dev/null +++ b/sdk/dotnet/Comprehend/Inputs/DocumentClassifierOutputDataConfigGetArgs.cs @@ -0,0 +1,40 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Comprehend.Inputs +{ + + public sealed class DocumentClassifierOutputDataConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// KMS Key used to encrypt the output documents. + /// Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. + /// + [Input("kmsKeyId")] + public Input? KmsKeyId { get; set; } + + /// + /// Full path for the output documents. + /// + [Input("outputS3Uri")] + public Input? OutputS3Uri { get; set; } + + /// + /// Destination path for the output documents. + /// The full path to the output file will be returned in `output_s3_uri`. + /// + [Input("s3Uri", required: true)] + public Input S3Uri { get; set; } = null!; + + public DocumentClassifierOutputDataConfigGetArgs() + { + } + public static new DocumentClassifierOutputDataConfigGetArgs Empty => new DocumentClassifierOutputDataConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Comprehend/Inputs/DocumentClassifierVpcConfigArgs.cs b/sdk/dotnet/Comprehend/Inputs/DocumentClassifierVpcConfigArgs.cs new file mode 100644 index 00000000000..58f3cdaa36b --- /dev/null +++ b/sdk/dotnet/Comprehend/Inputs/DocumentClassifierVpcConfigArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Comprehend.Inputs +{ + + public sealed class DocumentClassifierVpcConfigArgs : global::Pulumi.ResourceArgs + { + [Input("securityGroupIds", required: true)] + private InputList? _securityGroupIds; + + /// + /// List of security group IDs. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + [Input("subnets", required: true)] + private InputList? _subnets; + + /// + /// List of VPC subnets. + /// + public InputList Subnets + { + get => _subnets ?? (_subnets = new InputList()); + set => _subnets = value; + } + + public DocumentClassifierVpcConfigArgs() + { + } + public static new DocumentClassifierVpcConfigArgs Empty => new DocumentClassifierVpcConfigArgs(); + } +} diff --git a/sdk/dotnet/Comprehend/Inputs/DocumentClassifierVpcConfigGetArgs.cs b/sdk/dotnet/Comprehend/Inputs/DocumentClassifierVpcConfigGetArgs.cs new file mode 100644 index 00000000000..090ca04cd5f --- /dev/null +++ b/sdk/dotnet/Comprehend/Inputs/DocumentClassifierVpcConfigGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Comprehend.Inputs +{ + + public sealed class DocumentClassifierVpcConfigGetArgs : global::Pulumi.ResourceArgs + { + [Input("securityGroupIds", required: true)] + private InputList? _securityGroupIds; + + /// + /// List of security group IDs. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + [Input("subnets", required: true)] + private InputList? _subnets; + + /// + /// List of VPC subnets. + /// + public InputList Subnets + { + get => _subnets ?? (_subnets = new InputList()); + set => _subnets = value; + } + + public DocumentClassifierVpcConfigGetArgs() + { + } + public static new DocumentClassifierVpcConfigGetArgs Empty => new DocumentClassifierVpcConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Comprehend/Outputs/DocumentClassifierInputDataConfig.cs b/sdk/dotnet/Comprehend/Outputs/DocumentClassifierInputDataConfig.cs new file mode 100644 index 00000000000..dbe067f8f97 --- /dev/null +++ b/sdk/dotnet/Comprehend/Outputs/DocumentClassifierInputDataConfig.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Comprehend.Outputs +{ + + [OutputType] + public sealed class DocumentClassifierInputDataConfig + { + /// + /// List of training datasets produced by Amazon SageMaker Ground Truth. + /// Used if `data_format` is `AUGMENTED_MANIFEST`. + /// See the `augmented_manifests` Configuration Block section below. + /// + public readonly ImmutableArray AugmentedManifests; + /// + /// The format for the training data. + /// One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. + /// + public readonly string? DataFormat; + /// + /// Delimiter between labels when training a multi-label classifier. + /// Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\`, `:`, `;`, `>`, `?`, `/`, `<space>`, and `<tab>`. + /// Default is `|`. + /// + public readonly string? LabelDelimiter; + /// + /// Destination path for the output documents. + /// The full path to the output file will be returned in `output_s3_uri`. + /// + public readonly string? S3Uri; + public readonly string? TestS3Uri; + + [OutputConstructor] + private DocumentClassifierInputDataConfig( + ImmutableArray augmentedManifests, + + string? dataFormat, + + string? labelDelimiter, + + string? s3Uri, + + string? testS3Uri) + { + AugmentedManifests = augmentedManifests; + DataFormat = dataFormat; + LabelDelimiter = labelDelimiter; + S3Uri = s3Uri; + TestS3Uri = testS3Uri; + } + } +} diff --git a/sdk/dotnet/Comprehend/Outputs/DocumentClassifierInputDataConfigAugmentedManifest.cs b/sdk/dotnet/Comprehend/Outputs/DocumentClassifierInputDataConfigAugmentedManifest.cs new file mode 100644 index 00000000000..eebdb58c329 --- /dev/null +++ b/sdk/dotnet/Comprehend/Outputs/DocumentClassifierInputDataConfigAugmentedManifest.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Comprehend.Outputs +{ + + [OutputType] + public sealed class DocumentClassifierInputDataConfigAugmentedManifest + { + /// + /// Location of annotation files. + /// + public readonly string? AnnotationDataS3Uri; + /// + /// The JSON attribute that contains the annotations for the training documents. + /// + public readonly ImmutableArray AttributeNames; + /// + /// Type of augmented manifest. + /// One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. + /// + public readonly string? DocumentType; + /// + /// Destination path for the output documents. + /// The full path to the output file will be returned in `output_s3_uri`. + /// + public readonly string S3Uri; + /// + /// Location of source PDF files. + /// + public readonly string? SourceDocumentsS3Uri; + /// + /// Purpose of data in augmented manifest. + /// One of `TRAIN` or `TEST`. + /// + public readonly string? Split; + + [OutputConstructor] + private DocumentClassifierInputDataConfigAugmentedManifest( + string? annotationDataS3Uri, + + ImmutableArray attributeNames, + + string? documentType, + + string s3Uri, + + string? sourceDocumentsS3Uri, + + string? split) + { + AnnotationDataS3Uri = annotationDataS3Uri; + AttributeNames = attributeNames; + DocumentType = documentType; + S3Uri = s3Uri; + SourceDocumentsS3Uri = sourceDocumentsS3Uri; + Split = split; + } + } +} diff --git a/sdk/dotnet/Comprehend/Outputs/DocumentClassifierOutputDataConfig.cs b/sdk/dotnet/Comprehend/Outputs/DocumentClassifierOutputDataConfig.cs new file mode 100644 index 00000000000..c9c9553cdec --- /dev/null +++ b/sdk/dotnet/Comprehend/Outputs/DocumentClassifierOutputDataConfig.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Comprehend.Outputs +{ + + [OutputType] + public sealed class DocumentClassifierOutputDataConfig + { + /// + /// KMS Key used to encrypt the output documents. + /// Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. + /// + public readonly string? KmsKeyId; + /// + /// Full path for the output documents. + /// + public readonly string? OutputS3Uri; + /// + /// Destination path for the output documents. + /// The full path to the output file will be returned in `output_s3_uri`. + /// + public readonly string S3Uri; + + [OutputConstructor] + private DocumentClassifierOutputDataConfig( + string? kmsKeyId, + + string? outputS3Uri, + + string s3Uri) + { + KmsKeyId = kmsKeyId; + OutputS3Uri = outputS3Uri; + S3Uri = s3Uri; + } + } +} diff --git a/sdk/dotnet/Comprehend/Outputs/DocumentClassifierVpcConfig.cs b/sdk/dotnet/Comprehend/Outputs/DocumentClassifierVpcConfig.cs new file mode 100644 index 00000000000..92dcde12b96 --- /dev/null +++ b/sdk/dotnet/Comprehend/Outputs/DocumentClassifierVpcConfig.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Comprehend.Outputs +{ + + [OutputType] + public sealed class DocumentClassifierVpcConfig + { + /// + /// List of security group IDs. + /// + public readonly ImmutableArray SecurityGroupIds; + /// + /// List of VPC subnets. + /// + public readonly ImmutableArray Subnets; + + [OutputConstructor] + private DocumentClassifierVpcConfig( + ImmutableArray securityGroupIds, + + ImmutableArray subnets) + { + SecurityGroupIds = securityGroupIds; + Subnets = subnets; + } + } +} diff --git a/sdk/dotnet/DirectConnect/Connection.cs b/sdk/dotnet/DirectConnect/Connection.cs index 9df8be43d00..e62ee119555 100644 --- a/sdk/dotnet/DirectConnect/Connection.cs +++ b/sdk/dotnet/DirectConnect/Connection.cs @@ -107,6 +107,12 @@ public partial class Connection : global::Pulumi.CustomResource [Output("tagsAll")] public Output> TagsAll { get; private set; } = null!; + /// + /// The VLAN ID. + /// + [Output("vlanId")] + public Output VlanId { get; private set; } = null!; + /// /// Create a Connection resource with the given unique name, arguments, and options. @@ -275,6 +281,12 @@ public InputMap TagsAll set => _tagsAll = value; } + /// + /// The VLAN ID. + /// + [Input("vlanId")] + public Input? VlanId { get; set; } + public ConnectionState() { } diff --git a/sdk/dotnet/DirectConnect/GetConnection.cs b/sdk/dotnet/DirectConnect/GetConnection.cs index cb627ae96b7..27ec5c99919 100644 --- a/sdk/dotnet/DirectConnect/GetConnection.cs +++ b/sdk/dotnet/DirectConnect/GetConnection.cs @@ -156,6 +156,10 @@ public sealed class GetConnectionResult /// Map of tags for the resource. /// public readonly ImmutableDictionary Tags; + /// + /// The VLAN ID. + /// + public readonly string VlanId; [OutputConstructor] private GetConnectionResult( @@ -175,7 +179,9 @@ private GetConnectionResult( string providerName, - ImmutableDictionary tags) + ImmutableDictionary tags, + + string vlanId) { Arn = arn; AwsDevice = awsDevice; @@ -186,6 +192,7 @@ private GetConnectionResult( OwnerAccountId = ownerAccountId; ProviderName = providerName; Tags = tags; + VlanId = vlanId; } } } diff --git a/sdk/dotnet/Ebs/Volume.cs b/sdk/dotnet/Ebs/Volume.cs index 3d82d6b4d99..874dd833949 100644 --- a/sdk/dotnet/Ebs/Volume.cs +++ b/sdk/dotnet/Ebs/Volume.cs @@ -34,7 +34,7 @@ namespace Pulumi.Aws.Ebs /// }); /// ``` /// - /// > **NOTE**: At least one of `size` or `snapshot_id` is required when specifying an EBS volume + /// > **NOTE:** At least one of `size` or `snapshot_id` is required when specifying an EBS volume /// /// ## Import /// diff --git a/sdk/dotnet/Ec2/DefaultVpc.cs b/sdk/dotnet/Ec2/DefaultVpc.cs index f816b9cdb9b..dc0562cdc57 100644 --- a/sdk/dotnet/Ec2/DefaultVpc.cs +++ b/sdk/dotnet/Ec2/DefaultVpc.cs @@ -79,6 +79,9 @@ public partial class DefaultVpc : global::Pulumi.CustomResource [Output("enableDnsSupport")] public Output EnableDnsSupport { get; private set; } = null!; + [Output("enableNetworkAddressUsageMetrics")] + public Output EnableNetworkAddressUsageMetrics { get; private set; } = null!; + [Output("existingDefaultVpc")] public Output ExistingDefaultVpc { get; private set; } = null!; @@ -182,6 +185,9 @@ public sealed class DefaultVpcArgs : global::Pulumi.ResourceArgs [Input("enableDnsSupport")] public Input? EnableDnsSupport { get; set; } + [Input("enableNetworkAddressUsageMetrics")] + public Input? EnableNetworkAddressUsageMetrics { get; set; } + /// /// Whether destroying the resource deletes the default VPC. Default: `false` /// @@ -252,6 +258,9 @@ public sealed class DefaultVpcState : global::Pulumi.ResourceArgs [Input("enableDnsSupport")] public Input? EnableDnsSupport { get; set; } + [Input("enableNetworkAddressUsageMetrics")] + public Input? EnableNetworkAddressUsageMetrics { get; set; } + [Input("existingDefaultVpc")] public Input? ExistingDefaultVpc { get; set; } diff --git a/sdk/dotnet/Ec2/GetNatGateway.cs b/sdk/dotnet/Ec2/GetNatGateway.cs index 1178808c241..2f97f3f4dda 100644 --- a/sdk/dotnet/Ec2/GetNatGateway.cs +++ b/sdk/dotnet/Ec2/GetNatGateway.cs @@ -25,8 +25,6 @@ public static class GetNatGateway /// /// return await Deployment.RunAsync(() => /// { - /// var config = new Config(); - /// var subnetId = config.RequireObject<dynamic>("subnetId"); /// var @default = Aws.Ec2.GetNatGateway.Invoke(new() /// { /// SubnetId = aws_subnet.Public.Id, @@ -75,8 +73,6 @@ public static Task InvokeAsync(GetNatGatewayArgs? args = nu /// /// return await Deployment.RunAsync(() => /// { - /// var config = new Config(); - /// var subnetId = config.RequireObject<dynamic>("subnetId"); /// var @default = Aws.Ec2.GetNatGateway.Invoke(new() /// { /// SubnetId = aws_subnet.Public.Id, diff --git a/sdk/dotnet/Ec2/GetVpc.cs b/sdk/dotnet/Ec2/GetVpc.cs index 266b16952af..94242a1bda6 100644 --- a/sdk/dotnet/Ec2/GetVpc.cs +++ b/sdk/dotnet/Ec2/GetVpc.cs @@ -186,6 +186,10 @@ public sealed class GetVpcResult /// Whether or not the VPC has DNS support /// public readonly bool EnableDnsSupport; + /// + /// Whether Network Address Usage metrics are enabled for your VPC + /// + public readonly bool EnableNetworkAddressUsageMetrics; public readonly ImmutableArray Filters; public readonly string Id; /// @@ -231,6 +235,8 @@ private GetVpcResult( bool enableDnsSupport, + bool enableNetworkAddressUsageMetrics, + ImmutableArray filters, string id, @@ -256,6 +262,7 @@ private GetVpcResult( DhcpOptionsId = dhcpOptionsId; EnableDnsHostnames = enableDnsHostnames; EnableDnsSupport = enableDnsSupport; + EnableNetworkAddressUsageMetrics = enableNetworkAddressUsageMetrics; Filters = filters; Id = id; InstanceTenancy = instanceTenancy; diff --git a/sdk/dotnet/Ec2/GetVpcIamPools.cs b/sdk/dotnet/Ec2/GetVpcIamPools.cs new file mode 100644 index 00000000000..55a2b6a6cd3 --- /dev/null +++ b/sdk/dotnet/Ec2/GetVpcIamPools.cs @@ -0,0 +1,181 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Ec2 +{ + public static class GetVpcIamPools + { + /// + /// `aws.ec2.getVpcIamPools` provides details about IPAM pools. + /// + /// This resource can prove useful when IPAM pools are created in another root + /// module and you need the pool ids as input variables. For example, pools + /// can be shared via RAM and used to create vpcs with CIDRs from that pool. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Aws.Ec2.GetVpcIamPools.Invoke(new() + /// { + /// Filters = new[] + /// { + /// new Aws.Ec2.Inputs.GetVpcIamPoolsFilterInputArgs + /// { + /// Name = "description", + /// Values = new[] + /// { + /// "*test*", + /// }, + /// }, + /// new Aws.Ec2.Inputs.GetVpcIamPoolsFilterInputArgs + /// { + /// Name = "address-family", + /// Values = new[] + /// { + /// "ipv4", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetVpcIamPoolsArgs? args = null, InvokeOptions? options = null) + => Pulumi.Deployment.Instance.InvokeAsync("aws:ec2/getVpcIamPools:getVpcIamPools", args ?? new GetVpcIamPoolsArgs(), options.WithDefaults()); + + /// + /// `aws.ec2.getVpcIamPools` provides details about IPAM pools. + /// + /// This resource can prove useful when IPAM pools are created in another root + /// module and you need the pool ids as input variables. For example, pools + /// can be shared via RAM and used to create vpcs with CIDRs from that pool. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Aws.Ec2.GetVpcIamPools.Invoke(new() + /// { + /// Filters = new[] + /// { + /// new Aws.Ec2.Inputs.GetVpcIamPoolsFilterInputArgs + /// { + /// Name = "description", + /// Values = new[] + /// { + /// "*test*", + /// }, + /// }, + /// new Aws.Ec2.Inputs.GetVpcIamPoolsFilterInputArgs + /// { + /// Name = "address-family", + /// Values = new[] + /// { + /// "ipv4", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetVpcIamPoolsInvokeArgs? args = null, InvokeOptions? options = null) + => Pulumi.Deployment.Instance.Invoke("aws:ec2/getVpcIamPools:getVpcIamPools", args ?? new GetVpcIamPoolsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVpcIamPoolsArgs : global::Pulumi.InvokeArgs + { + [Input("filters")] + private List? _filters; + + /// + /// Custom filter block as described below. + /// + public List Filters + { + get => _filters ?? (_filters = new List()); + set => _filters = value; + } + + public GetVpcIamPoolsArgs() + { + } + public static new GetVpcIamPoolsArgs Empty => new GetVpcIamPoolsArgs(); + } + + public sealed class GetVpcIamPoolsInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("filters")] + private InputList? _filters; + + /// + /// Custom filter block as described below. + /// + public InputList Filters + { + get => _filters ?? (_filters = new InputList()); + set => _filters = value; + } + + public GetVpcIamPoolsInvokeArgs() + { + } + public static new GetVpcIamPoolsInvokeArgs Empty => new GetVpcIamPoolsInvokeArgs(); + } + + + [OutputType] + public sealed class GetVpcIamPoolsResult + { + public readonly ImmutableArray Filters; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// List of IPAM pools and their attributes. See below for details + /// + public readonly ImmutableArray IpamPools; + + [OutputConstructor] + private GetVpcIamPoolsResult( + ImmutableArray filters, + + string id, + + ImmutableArray ipamPools) + { + Filters = filters; + Id = id; + IpamPools = ipamPools; + } + } +} diff --git a/sdk/dotnet/Ec2/Inputs/GetVpcIamPoolsFilter.cs b/sdk/dotnet/Ec2/Inputs/GetVpcIamPoolsFilter.cs new file mode 100644 index 00000000000..b4eac8a2408 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/GetVpcIamPoolsFilter.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Ec2.Inputs +{ + + public sealed class GetVpcIamPoolsFilterArgs : global::Pulumi.InvokeArgs + { + [Input("name", required: true)] + public string Name { get; set; } = null!; + + [Input("values", required: true)] + private List? _values; + public List Values + { + get => _values ?? (_values = new List()); + set => _values = value; + } + + public GetVpcIamPoolsFilterArgs() + { + } + public static new GetVpcIamPoolsFilterArgs Empty => new GetVpcIamPoolsFilterArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/GetVpcIamPoolsFilterArgs.cs b/sdk/dotnet/Ec2/Inputs/GetVpcIamPoolsFilterArgs.cs new file mode 100644 index 00000000000..225b8be9900 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/GetVpcIamPoolsFilterArgs.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Ec2.Inputs +{ + + public sealed class GetVpcIamPoolsFilterInputArgs : global::Pulumi.ResourceArgs + { + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public GetVpcIamPoolsFilterInputArgs() + { + } + public static new GetVpcIamPoolsFilterInputArgs Empty => new GetVpcIamPoolsFilterInputArgs(); + } +} diff --git a/sdk/dotnet/Ec2/NetworkInterface.cs b/sdk/dotnet/Ec2/NetworkInterface.cs index 64421f05943..45cc202f2a8 100644 --- a/sdk/dotnet/Ec2/NetworkInterface.cs +++ b/sdk/dotnet/Ec2/NetworkInterface.cs @@ -114,6 +114,9 @@ public partial class NetworkInterface : global::Pulumi.CustomResource [Output("ipv6AddressCount")] public Output Ipv6AddressCount { get; private set; } = null!; + /// + /// Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + /// [Output("ipv6AddressListEnabled")] public Output Ipv6AddressListEnabled { get; private set; } = null!; @@ -310,6 +313,9 @@ public InputList Ipv4Prefixes [Input("ipv6AddressCount")] public Input? Ipv6AddressCount { get; set; } + /// + /// Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + /// [Input("ipv6AddressListEnabled")] public Input? Ipv6AddressListEnabled { get; set; } @@ -492,6 +498,9 @@ public InputList Ipv4Prefixes [Input("ipv6AddressCount")] public Input? Ipv6AddressCount { get; set; } + /// + /// Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + /// [Input("ipv6AddressListEnabled")] public Input? Ipv6AddressListEnabled { get; set; } diff --git a/sdk/dotnet/Ec2/Outputs/GetVpcIamPoolsFilterResult.cs b/sdk/dotnet/Ec2/Outputs/GetVpcIamPoolsFilterResult.cs new file mode 100644 index 00000000000..b51c1cdcc4e --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/GetVpcIamPoolsFilterResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Ec2.Outputs +{ + + [OutputType] + public sealed class GetVpcIamPoolsFilterResult + { + public readonly string Name; + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetVpcIamPoolsFilterResult( + string name, + + ImmutableArray values) + { + Name = name; + Values = values; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/GetVpcIamPoolsIpamPoolResult.cs b/sdk/dotnet/Ec2/Outputs/GetVpcIamPoolsIpamPoolResult.cs new file mode 100644 index 00000000000..6152e2fb455 --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/GetVpcIamPoolsIpamPoolResult.cs @@ -0,0 +1,142 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Ec2.Outputs +{ + + [OutputType] + public sealed class GetVpcIamPoolsIpamPoolResult + { + /// + /// IP protocol assigned to this pool. + /// + public readonly string AddressFamily; + /// + /// A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. + /// + public readonly int AllocationDefaultNetmaskLength; + /// + /// The maximum netmask length that will be required for CIDR allocations in this pool. + /// + public readonly int AllocationMaxNetmaskLength; + /// + /// The minimum netmask length that will be required for CIDR allocations in this pool. + /// + public readonly int AllocationMinNetmaskLength; + /// + /// Tags that are required to create resources in using this pool. + /// + public readonly ImmutableDictionary AllocationResourceTags; + /// + /// ARN of the pool + /// + public readonly string Arn; + /// + /// If enabled, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. + /// + public readonly bool AutoImport; + /// + /// Limits which service in AWS that the pool can be used in. "ec2", for example, allows users to use space for Elastic IP addresses and VPCs. + /// + public readonly string AwsService; + /// + /// Description for the IPAM pool. + /// + public readonly string Description; + /// + /// ID of the IPAM pool. + /// + public readonly string? Id; + public readonly string IpamPoolId; + /// + /// ID of the scope the pool belongs to. + /// + public readonly string IpamScopeId; + public readonly string IpamScopeType; + /// + /// Locale is the Region where your pool is available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region. + /// + public readonly string Locale; + public readonly int PoolDepth; + /// + /// Defines whether or not IPv6 pool space is publicly ∂advertisable over the internet. + /// + public readonly bool PubliclyAdvertisable; + /// + /// ID of the source IPAM pool. + /// + public readonly string SourceIpamPoolId; + public readonly string State; + /// + /// Map of tags to assigned to the resource. + /// + public readonly ImmutableDictionary Tags; + + [OutputConstructor] + private GetVpcIamPoolsIpamPoolResult( + string addressFamily, + + int allocationDefaultNetmaskLength, + + int allocationMaxNetmaskLength, + + int allocationMinNetmaskLength, + + ImmutableDictionary allocationResourceTags, + + string arn, + + bool autoImport, + + string awsService, + + string description, + + string? id, + + string ipamPoolId, + + string ipamScopeId, + + string ipamScopeType, + + string locale, + + int poolDepth, + + bool publiclyAdvertisable, + + string sourceIpamPoolId, + + string state, + + ImmutableDictionary tags) + { + AddressFamily = addressFamily; + AllocationDefaultNetmaskLength = allocationDefaultNetmaskLength; + AllocationMaxNetmaskLength = allocationMaxNetmaskLength; + AllocationMinNetmaskLength = allocationMinNetmaskLength; + AllocationResourceTags = allocationResourceTags; + Arn = arn; + AutoImport = autoImport; + AwsService = awsService; + Description = description; + Id = id; + IpamPoolId = ipamPoolId; + IpamScopeId = ipamScopeId; + IpamScopeType = ipamScopeType; + Locale = locale; + PoolDepth = poolDepth; + PubliclyAdvertisable = publiclyAdvertisable; + SourceIpamPoolId = sourceIpamPoolId; + State = state; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Ec2/SecurityGroupRule.cs b/sdk/dotnet/Ec2/SecurityGroupRule.cs index d634ba4216b..202449deee0 100644 --- a/sdk/dotnet/Ec2/SecurityGroupRule.cs +++ b/sdk/dotnet/Ec2/SecurityGroupRule.cs @@ -14,8 +14,8 @@ namespace Pulumi.Aws.Ec2 /// `egress` group rule, which can be added to external Security Groups. /// /// > **NOTE on Security Groups and Security Group Rules:** This provider currently - /// provides both a standalone Security Group Rule resource (a single `ingress` or - /// `egress` rule), and a Security Group resource with `ingress` and `egress` rules + /// provides both a standalone Security Group Rule resource (one or many `ingress` or + /// `egress` rules), and a Security Group resource with `ingress` and `egress` rules /// defined in-line. At this time you cannot use a Security Group with in-line rules /// in conjunction with any Security Group Rule resources. Doing so will cause /// a conflict of rule settings and will overwrite rules. diff --git a/sdk/dotnet/Ec2/Vpc.cs b/sdk/dotnet/Ec2/Vpc.cs index 618cf07c2e7..4d78057caf4 100644 --- a/sdk/dotnet/Ec2/Vpc.cs +++ b/sdk/dotnet/Ec2/Vpc.cs @@ -175,11 +175,17 @@ public partial class Vpc : global::Pulumi.CustomResource public Output EnableDnsHostnames { get; private set; } = null!; /// - /// A boolean flag to enable/disable DNS support in the VPC. Defaults true. + /// A boolean flag to enable/disable DNS support in the VPC. Defaults to true. /// [Output("enableDnsSupport")] public Output EnableDnsSupport { get; private set; } = null!; + /// + /// Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + /// + [Output("enableNetworkAddressUsageMetrics")] + public Output EnableNetworkAddressUsageMetrics { get; private set; } = null!; + /// /// A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. /// @@ -334,11 +340,17 @@ public sealed class VpcArgs : global::Pulumi.ResourceArgs public Input? EnableDnsHostnames { get; set; } /// - /// A boolean flag to enable/disable DNS support in the VPC. Defaults true. + /// A boolean flag to enable/disable DNS support in the VPC. Defaults to true. /// [Input("enableDnsSupport")] public Input? EnableDnsSupport { get; set; } + /// + /// Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + /// + [Input("enableNetworkAddressUsageMetrics")] + public Input? EnableNetworkAddressUsageMetrics { get; set; } + /// /// A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. /// @@ -462,11 +474,17 @@ public sealed class VpcState : global::Pulumi.ResourceArgs public Input? EnableDnsHostnames { get; set; } /// - /// A boolean flag to enable/disable DNS support in the VPC. Defaults true. + /// A boolean flag to enable/disable DNS support in the VPC. Defaults to true. /// [Input("enableDnsSupport")] public Input? EnableDnsSupport { get; set; } + /// + /// Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + /// + [Input("enableNetworkAddressUsageMetrics")] + public Input? EnableNetworkAddressUsageMetrics { get; set; } + /// /// A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. /// diff --git a/sdk/dotnet/Ec2ClientVpn/Route.cs b/sdk/dotnet/Ec2ClientVpn/Route.cs index 8e0ceb157d0..59f2ced4b7d 100644 --- a/sdk/dotnet/Ec2ClientVpn/Route.cs +++ b/sdk/dotnet/Ec2ClientVpn/Route.cs @@ -75,7 +75,7 @@ public partial class Route : global::Pulumi.CustomResource public Output ClientVpnEndpointId { get; private set; } = null!; /// - /// A brief description of the authorization rule. + /// A brief description of the route. /// [Output("description")] public Output Description { get; private set; } = null!; @@ -157,7 +157,7 @@ public sealed class RouteArgs : global::Pulumi.ResourceArgs public Input ClientVpnEndpointId { get; set; } = null!; /// - /// A brief description of the authorization rule. + /// A brief description of the route. /// [Input("description")] public Input? Description { get; set; } @@ -189,7 +189,7 @@ public sealed class RouteState : global::Pulumi.ResourceArgs public Input? ClientVpnEndpointId { get; set; } /// - /// A brief description of the authorization rule. + /// A brief description of the route. /// [Input("description")] public Input? Description { get; set; } diff --git a/sdk/dotnet/Ec2TransitGateway/ConnectPeer.cs b/sdk/dotnet/Ec2TransitGateway/ConnectPeer.cs index 8e3888725b9..d3f1315375b 100644 --- a/sdk/dotnet/Ec2TransitGateway/ConnectPeer.cs +++ b/sdk/dotnet/Ec2TransitGateway/ConnectPeer.cs @@ -30,7 +30,10 @@ namespace Pulumi.Aws.Ec2TransitGateway /// var exampleConnectPeer = new Aws.Ec2TransitGateway.ConnectPeer("exampleConnectPeer", new() /// { /// PeerAddress = "10.1.2.3", - /// InsideCidrBlocks = "169.254.100.0/29", + /// InsideCidrBlocks = new[] + /// { + /// "169.254.100.0/29", + /// }, /// TransitGatewayAttachmentId = exampleConnect.Id, /// }); /// diff --git a/sdk/dotnet/Ecs/GetTaskDefinition.cs b/sdk/dotnet/Ecs/GetTaskDefinition.cs index 3ed19c77892..d86d498bdb0 100644 --- a/sdk/dotnet/Ecs/GetTaskDefinition.cs +++ b/sdk/dotnet/Ecs/GetTaskDefinition.cs @@ -15,7 +15,6 @@ public static class GetTaskDefinition /// The ECS task definition data source allows access to details of /// a specific AWS ECS task definition. /// - /// /// {{% examples %}} /// ## Example Usage /// {{% example %}} @@ -73,7 +72,6 @@ public static Task InvokeAsync(GetTaskDefinitionArgs ar /// The ECS task definition data source allows access to details of /// a specific AWS ECS task definition. /// - /// /// {{% examples %}} /// ## Example Usage /// {{% example %}} diff --git a/sdk/dotnet/ElastiCache/GetCluster.cs b/sdk/dotnet/ElastiCache/GetCluster.cs index 3f0fa98e9ec..a65fe3d6122 100644 --- a/sdk/dotnet/ElastiCache/GetCluster.cs +++ b/sdk/dotnet/ElastiCache/GetCluster.cs @@ -12,7 +12,7 @@ namespace Pulumi.Aws.ElastiCache public static class GetCluster { /// - /// Use this data source to get information about an Elasticache Cluster + /// Use this data source to get information about an ElastiCache Cluster /// /// {{% examples %}} /// ## Example Usage @@ -39,7 +39,7 @@ public static Task InvokeAsync(GetClusterArgs args, InvokeOpti => Pulumi.Deployment.Instance.InvokeAsync("aws:elasticache/getCluster:getCluster", args ?? new GetClusterArgs(), options.WithDefaults()); /// - /// Use this data source to get information about an Elasticache Cluster + /// Use this data source to get information about an ElastiCache Cluster /// /// {{% examples %}} /// ## Example Usage diff --git a/sdk/dotnet/ElastiCache/GetReplicationGroup.cs b/sdk/dotnet/ElastiCache/GetReplicationGroup.cs index e54c8f01840..ed29b66888f 100644 --- a/sdk/dotnet/ElastiCache/GetReplicationGroup.cs +++ b/sdk/dotnet/ElastiCache/GetReplicationGroup.cs @@ -12,7 +12,7 @@ namespace Pulumi.Aws.ElastiCache public static class GetReplicationGroup { /// - /// Use this data source to get information about an Elasticache Replication Group. + /// Use this data source to get information about an ElastiCache Replication Group. /// /// {{% examples %}} /// ## Example Usage @@ -39,7 +39,7 @@ public static Task InvokeAsync(GetReplicationGroupArg => Pulumi.Deployment.Instance.InvokeAsync("aws:elasticache/getReplicationGroup:getReplicationGroup", args ?? new GetReplicationGroupArgs(), options.WithDefaults()); /// - /// Use this data source to get information about an Elasticache Replication Group. + /// Use this data source to get information about an ElastiCache Replication Group. /// /// {{% examples %}} /// ## Example Usage diff --git a/sdk/dotnet/ElastiCache/GetUser.cs b/sdk/dotnet/ElastiCache/GetUser.cs index 7ea54ce7cf7..bdda50f2848 100644 --- a/sdk/dotnet/ElastiCache/GetUser.cs +++ b/sdk/dotnet/ElastiCache/GetUser.cs @@ -12,7 +12,7 @@ namespace Pulumi.Aws.ElastiCache public static class GetUser { /// - /// Use this data source to get information about an Elasticache User. + /// Use this data source to get information about an ElastiCache User. /// /// {{% examples %}} /// ## Example Usage @@ -39,7 +39,7 @@ public static Task InvokeAsync(GetUserArgs args, InvokeOptions? o => Pulumi.Deployment.Instance.InvokeAsync("aws:elasticache/getUser:getUser", args ?? new GetUserArgs(), options.WithDefaults()); /// - /// Use this data source to get information about an Elasticache User. + /// Use this data source to get information about an ElastiCache User. /// /// {{% examples %}} /// ## Example Usage diff --git a/sdk/dotnet/ElastiCache/GlobalReplicationGroup.cs b/sdk/dotnet/ElastiCache/GlobalReplicationGroup.cs index 67996911ef7..8390c6e5297 100644 --- a/sdk/dotnet/ElastiCache/GlobalReplicationGroup.cs +++ b/sdk/dotnet/ElastiCache/GlobalReplicationGroup.cs @@ -40,7 +40,17 @@ public partial class GlobalReplicationGroup : global::Pulumi.CustomResource public Output AuthTokenEnabled { get; private set; } = null!; /// - /// The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + /// Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + /// When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + /// + [Output("automaticFailoverEnabled")] + public Output AutomaticFailoverEnabled { get; private set; } = null!; + + /// + /// The instance class used. + /// See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + /// and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + /// When creating, by default the Global Replication Group inherits the node type of the primary replication group. /// [Output("cacheNodeType")] public Output CacheNodeType { get; private set; } = null!; @@ -160,6 +170,22 @@ public static GlobalReplicationGroup Get(string name, Input id, GlobalRe public sealed class GlobalReplicationGroupArgs : global::Pulumi.ResourceArgs { + /// + /// Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + /// When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + /// + [Input("automaticFailoverEnabled")] + public Input? AutomaticFailoverEnabled { get; set; } + + /// + /// The instance class used. + /// See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + /// and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + /// When creating, by default the Global Replication Group inherits the node type of the primary replication group. + /// + [Input("cacheNodeType")] + public Input? CacheNodeType { get; set; } + /// /// Redis version to use for the Global Replication Group. /// When creating, by default the Global Replication Group inherits the version of the primary replication group. @@ -226,7 +252,17 @@ public sealed class GlobalReplicationGroupState : global::Pulumi.ResourceArgs public Input? AuthTokenEnabled { get; set; } /// - /// The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + /// Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + /// When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + /// + [Input("automaticFailoverEnabled")] + public Input? AutomaticFailoverEnabled { get; set; } + + /// + /// The instance class used. + /// See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + /// and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + /// When creating, by default the Global Replication Group inherits the node type of the primary replication group. /// [Input("cacheNodeType")] public Input? CacheNodeType { get; set; } diff --git a/sdk/dotnet/ElastiCache/ParameterGroup.cs b/sdk/dotnet/ElastiCache/ParameterGroup.cs index 3379f70df8c..110b9aeee69 100644 --- a/sdk/dotnet/ElastiCache/ParameterGroup.cs +++ b/sdk/dotnet/ElastiCache/ParameterGroup.cs @@ -12,7 +12,7 @@ namespace Pulumi.Aws.ElastiCache /// /// Provides an ElastiCache parameter group resource. /// - /// > **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an Elasticache API limitation. Leave that parameter configured with any value to workaround the issue. + /// > **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an ElastiCache API limitation. Leave that parameter configured with any value to workaround the issue. /// /// ## Example Usage /// diff --git a/sdk/dotnet/ElastiCache/SubnetGroup.cs b/sdk/dotnet/ElastiCache/SubnetGroup.cs index 4dc00fca28a..f3c484c4196 100644 --- a/sdk/dotnet/ElastiCache/SubnetGroup.cs +++ b/sdk/dotnet/ElastiCache/SubnetGroup.cs @@ -77,7 +77,7 @@ public partial class SubnetGroup : global::Pulumi.CustomResource public Output Description { get; private set; } = null!; /// - /// Name for the cache subnet group. Elasticache converts this name to lowercase. + /// Name for the cache subnet group. ElastiCache converts this name to lowercase. /// [Output("name")] public Output Name { get; private set; } = null!; @@ -153,7 +153,7 @@ public sealed class SubnetGroupArgs : global::Pulumi.ResourceArgs public Input? Description { get; set; } /// - /// Name for the cache subnet group. Elasticache converts this name to lowercase. + /// Name for the cache subnet group. ElastiCache converts this name to lowercase. /// [Input("name")] public Input? Name { get; set; } @@ -201,7 +201,7 @@ public sealed class SubnetGroupState : global::Pulumi.ResourceArgs public Input? Description { get; set; } /// - /// Name for the cache subnet group. Elasticache converts this name to lowercase. + /// Name for the cache subnet group. ElastiCache converts this name to lowercase. /// [Input("name")] public Input? Name { get; set; } diff --git a/sdk/dotnet/EmrContainers/VirtualCluster.cs b/sdk/dotnet/EmrContainers/VirtualCluster.cs index 2a197ed7b6a..19affae4544 100644 --- a/sdk/dotnet/EmrContainers/VirtualCluster.cs +++ b/sdk/dotnet/EmrContainers/VirtualCluster.cs @@ -43,10 +43,10 @@ namespace Pulumi.Aws.EmrContainers /// /// ## Import /// - /// EKS Clusters can be imported using the `name`, e.g. + /// EKS Clusters can be imported using the `id`, e.g. /// /// ```sh - /// $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example + /// $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example a1b2c3d4e5f6g7h8i9j10k11l /// ``` /// [AwsResourceType("aws:emrcontainers/virtualCluster:VirtualCluster")] diff --git a/sdk/dotnet/GlobalAccelerator/Accelerator.cs b/sdk/dotnet/GlobalAccelerator/Accelerator.cs index a07665bdabb..a01586198af 100644 --- a/sdk/dotnet/GlobalAccelerator/Accelerator.cs +++ b/sdk/dotnet/GlobalAccelerator/Accelerator.cs @@ -31,6 +31,10 @@ namespace Pulumi.Aws.GlobalAccelerator /// }, /// Enabled = true, /// IpAddressType = "IPV4", + /// IpAddresses = new[] + /// { + /// "1.2.3.4", + /// }, /// }); /// /// }); @@ -77,6 +81,12 @@ public partial class Accelerator : global::Pulumi.CustomResource [Output("ipAddressType")] public Output IpAddressType { get; private set; } = null!; + /// + /// The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + /// + [Output("ipAddresses")] + public Output> IpAddresses { get; private set; } = null!; + /// /// IP address set associated with the accelerator. /// @@ -165,6 +175,18 @@ public sealed class AcceleratorArgs : global::Pulumi.ResourceArgs [Input("ipAddressType")] public Input? IpAddressType { get; set; } + [Input("ipAddresses")] + private InputList? _ipAddresses; + + /// + /// The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + /// + public InputList IpAddresses + { + get => _ipAddresses ?? (_ipAddresses = new InputList()); + set => _ipAddresses = value; + } + /// /// The name of the accelerator. /// @@ -221,6 +243,18 @@ public sealed class AcceleratorState : global::Pulumi.ResourceArgs [Input("ipAddressType")] public Input? IpAddressType { get; set; } + [Input("ipAddresses")] + private InputList? _ipAddresses; + + /// + /// The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + /// + public InputList IpAddresses + { + get => _ipAddresses ?? (_ipAddresses = new InputList()); + set => _ipAddresses = value; + } + [Input("ipSets")] private InputList? _ipSets; diff --git a/sdk/dotnet/GlobalAccelerator/Inputs/AcceleratorIpSetArgs.cs b/sdk/dotnet/GlobalAccelerator/Inputs/AcceleratorIpSetArgs.cs index 5341ec11110..e2dfa3738e7 100644 --- a/sdk/dotnet/GlobalAccelerator/Inputs/AcceleratorIpSetArgs.cs +++ b/sdk/dotnet/GlobalAccelerator/Inputs/AcceleratorIpSetArgs.cs @@ -16,7 +16,7 @@ public sealed class AcceleratorIpSetArgs : global::Pulumi.ResourceArgs private InputList? _ipAddresses; /// - /// A list of IP addresses in the IP address set. + /// The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. /// public InputList IpAddresses { diff --git a/sdk/dotnet/GlobalAccelerator/Inputs/AcceleratorIpSetGetArgs.cs b/sdk/dotnet/GlobalAccelerator/Inputs/AcceleratorIpSetGetArgs.cs index 0b88f9fc5e7..b6d72c94a97 100644 --- a/sdk/dotnet/GlobalAccelerator/Inputs/AcceleratorIpSetGetArgs.cs +++ b/sdk/dotnet/GlobalAccelerator/Inputs/AcceleratorIpSetGetArgs.cs @@ -16,7 +16,7 @@ public sealed class AcceleratorIpSetGetArgs : global::Pulumi.ResourceArgs private InputList? _ipAddresses; /// - /// A list of IP addresses in the IP address set. + /// The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. /// public InputList IpAddresses { diff --git a/sdk/dotnet/GlobalAccelerator/Outputs/AcceleratorIpSet.cs b/sdk/dotnet/GlobalAccelerator/Outputs/AcceleratorIpSet.cs index 12e6caa6adc..5fee383f4c1 100644 --- a/sdk/dotnet/GlobalAccelerator/Outputs/AcceleratorIpSet.cs +++ b/sdk/dotnet/GlobalAccelerator/Outputs/AcceleratorIpSet.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.GlobalAccelerator.Outputs public sealed class AcceleratorIpSet { /// - /// A list of IP addresses in the IP address set. + /// The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. /// public readonly ImmutableArray IpAddresses; /// diff --git a/sdk/dotnet/IdentityStore/Group.cs b/sdk/dotnet/IdentityStore/Group.cs index a4a259f7dde..543aae8238e 100644 --- a/sdk/dotnet/IdentityStore/Group.cs +++ b/sdk/dotnet/IdentityStore/Group.cs @@ -48,7 +48,7 @@ public partial class Group : global::Pulumi.CustomResource public Output GroupId { get; private set; } = null!; /// - /// The globally unique identifier for the identity store.. + /// The globally unique identifier for the identity store. /// [Output("identityStoreId")] public Output IdentityStoreId { get; private set; } = null!; @@ -112,7 +112,7 @@ public sealed class GroupArgs : global::Pulumi.ResourceArgs public Input DisplayName { get; set; } = null!; /// - /// The globally unique identifier for the identity store.. + /// The globally unique identifier for the identity store. /// [Input("identityStoreId", required: true)] public Input IdentityStoreId { get; set; } = null!; @@ -156,7 +156,7 @@ public InputList ExternalIds public Input? GroupId { get; set; } /// - /// The globally unique identifier for the identity store.. + /// The globally unique identifier for the identity store. /// [Input("identityStoreId")] public Input? IdentityStoreId { get; set; } diff --git a/sdk/dotnet/IdentityStore/Inputs/UserExternalIdArgs.cs b/sdk/dotnet/IdentityStore/Inputs/UserExternalIdArgs.cs index 3b7d15439a2..d1c561ce75b 100644 --- a/sdk/dotnet/IdentityStore/Inputs/UserExternalIdArgs.cs +++ b/sdk/dotnet/IdentityStore/Inputs/UserExternalIdArgs.cs @@ -16,7 +16,7 @@ public sealed class UserExternalIdArgs : global::Pulumi.ResourceArgs /// The identifier issued to this resource by an external identity provider. /// [Input("id")] - public Input? Id { get; set; } + public Input? Id { get; set; } /// /// The issuer for an external identifier. diff --git a/sdk/dotnet/IdentityStore/Inputs/UserExternalIdGetArgs.cs b/sdk/dotnet/IdentityStore/Inputs/UserExternalIdGetArgs.cs index ba546e36a03..c0933f1e76e 100644 --- a/sdk/dotnet/IdentityStore/Inputs/UserExternalIdGetArgs.cs +++ b/sdk/dotnet/IdentityStore/Inputs/UserExternalIdGetArgs.cs @@ -16,7 +16,7 @@ public sealed class UserExternalIdGetArgs : global::Pulumi.ResourceArgs /// The identifier issued to this resource by an external identity provider. /// [Input("id")] - public Input? Id { get; set; } + public Input? Id { get; set; } /// /// The issuer for an external identifier. diff --git a/sdk/dotnet/IdentityStore/Outputs/GetUserExternalIdResult.cs b/sdk/dotnet/IdentityStore/Outputs/GetUserExternalIdResult.cs index 0a2d2e0c3b0..a23b9e6bc3d 100644 --- a/sdk/dotnet/IdentityStore/Outputs/GetUserExternalIdResult.cs +++ b/sdk/dotnet/IdentityStore/Outputs/GetUserExternalIdResult.cs @@ -16,7 +16,7 @@ public sealed class GetUserExternalIdResult /// /// The identifier issued to this resource by an external identity provider. /// - public readonly bool Id; + public readonly string Id; /// /// The issuer for an external identifier. /// @@ -24,7 +24,7 @@ public sealed class GetUserExternalIdResult [OutputConstructor] private GetUserExternalIdResult( - bool id, + string id, string issuer) { diff --git a/sdk/dotnet/IdentityStore/Outputs/UserExternalId.cs b/sdk/dotnet/IdentityStore/Outputs/UserExternalId.cs index f83582115b6..83b25630fe4 100644 --- a/sdk/dotnet/IdentityStore/Outputs/UserExternalId.cs +++ b/sdk/dotnet/IdentityStore/Outputs/UserExternalId.cs @@ -16,7 +16,7 @@ public sealed class UserExternalId /// /// The identifier issued to this resource by an external identity provider. /// - public readonly bool? Id; + public readonly string? Id; /// /// The issuer for an external identifier. /// @@ -24,7 +24,7 @@ public sealed class UserExternalId [OutputConstructor] private UserExternalId( - bool? id, + string? id, string? issuer) { diff --git a/sdk/dotnet/Inspector2/DelegatedAdminAccount.cs b/sdk/dotnet/Inspector2/DelegatedAdminAccount.cs new file mode 100644 index 00000000000..1c83807a5b2 --- /dev/null +++ b/sdk/dotnet/Inspector2/DelegatedAdminAccount.cs @@ -0,0 +1,133 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Inspector2 +{ + /// + /// ## Example Usage + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var current = Aws.GetCallerIdentity.Invoke(); + /// + /// var example = new Aws.Inspector2.DelegatedAdminAccount("example", new() + /// { + /// AccountId = current.Apply(getCallerIdentityResult => getCallerIdentityResult.AccountId), + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Inspector V2 Delegated Admin Account can be imported using the `account_id`, e.g., + /// + /// ```sh + /// $ pulumi import aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount example 012345678901 + /// ``` + /// + [AwsResourceType("aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount")] + public partial class DelegatedAdminAccount : global::Pulumi.CustomResource + { + /// + /// Account to enable as delegated admin account. + /// + [Output("accountId")] + public Output AccountId { get; private set; } = null!; + + /// + /// Status of this delegated admin account. + /// + [Output("relationshipStatus")] + public Output RelationshipStatus { get; private set; } = null!; + + + /// + /// Create a DelegatedAdminAccount 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 DelegatedAdminAccount(string name, DelegatedAdminAccountArgs args, CustomResourceOptions? options = null) + : base("aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount", name, args ?? new DelegatedAdminAccountArgs(), MakeResourceOptions(options, "")) + { + } + + private DelegatedAdminAccount(string name, Input id, DelegatedAdminAccountState? state = null, CustomResourceOptions? options = null) + : base("aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing DelegatedAdminAccount 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. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static DelegatedAdminAccount Get(string name, Input id, DelegatedAdminAccountState? state = null, CustomResourceOptions? options = null) + { + return new DelegatedAdminAccount(name, id, state, options); + } + } + + public sealed class DelegatedAdminAccountArgs : global::Pulumi.ResourceArgs + { + /// + /// Account to enable as delegated admin account. + /// + [Input("accountId", required: true)] + public Input AccountId { get; set; } = null!; + + public DelegatedAdminAccountArgs() + { + } + public static new DelegatedAdminAccountArgs Empty => new DelegatedAdminAccountArgs(); + } + + public sealed class DelegatedAdminAccountState : global::Pulumi.ResourceArgs + { + /// + /// Account to enable as delegated admin account. + /// + [Input("accountId")] + public Input? AccountId { get; set; } + + /// + /// Status of this delegated admin account. + /// + [Input("relationshipStatus")] + public Input? RelationshipStatus { get; set; } + + public DelegatedAdminAccountState() + { + } + public static new DelegatedAdminAccountState Empty => new DelegatedAdminAccountState(); + } +} diff --git a/sdk/dotnet/NetworkManager/Link.cs b/sdk/dotnet/NetworkManager/Link.cs index 3b076c7a28b..9c01d4ef012 100644 --- a/sdk/dotnet/NetworkManager/Link.cs +++ b/sdk/dotnet/NetworkManager/Link.cs @@ -24,7 +24,7 @@ namespace Pulumi.Aws.NetworkManager /// var example = new Aws.NetworkManager.Link("example", new() /// { /// GlobalNetworkId = aws_networkmanager_global_network.Example.Id, - /// SiteId = aws_networkmanager_global_site.Example.Id, + /// SiteId = aws_networkmanager_site.Example.Id, /// Bandwidth = new Aws.NetworkManager.Inputs.LinkBandwidthArgs /// { /// UploadSpeed = 10, diff --git a/sdk/dotnet/OpsWorks/CustomLayer.cs b/sdk/dotnet/OpsWorks/CustomLayer.cs index 69edc446c22..a0f5ec123c6 100644 --- a/sdk/dotnet/OpsWorks/CustomLayer.cs +++ b/sdk/dotnet/OpsWorks/CustomLayer.cs @@ -134,6 +134,12 @@ public partial class CustomLayer : global::Pulumi.CustomResource [Output("instanceShutdownTimeout")] public Output InstanceShutdownTimeout { get; private set; } = null!; + /// + /// Load-based auto scaling configuration. See Load Based AutoScaling + /// + [Output("loadBasedAutoScaling")] + public Output LoadBasedAutoScaling { get; private set; } = null!; + /// /// A human-readable name for the layer. /// @@ -346,6 +352,12 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + /// + /// Load-based auto scaling configuration. See Load Based AutoScaling + /// + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// @@ -532,6 +544,12 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + /// + /// Load-based auto scaling configuration. See Load Based AutoScaling + /// + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// diff --git a/sdk/dotnet/OpsWorks/EcsClusterLayer.cs b/sdk/dotnet/OpsWorks/EcsClusterLayer.cs index cba51c46543..940c344c6ff 100644 --- a/sdk/dotnet/OpsWorks/EcsClusterLayer.cs +++ b/sdk/dotnet/OpsWorks/EcsClusterLayer.cs @@ -129,6 +129,9 @@ public partial class EcsClusterLayer : global::Pulumi.CustomResource [Output("instanceShutdownTimeout")] public Output InstanceShutdownTimeout { get; private set; } = null!; + [Output("loadBasedAutoScaling")] + public Output LoadBasedAutoScaling { get; private set; } = null!; + /// /// A human-readable name for the layer. /// @@ -335,6 +338,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// @@ -518,6 +524,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// diff --git a/sdk/dotnet/OpsWorks/GangliaLayer.cs b/sdk/dotnet/OpsWorks/GangliaLayer.cs index 934f1fb186d..e8f2056f604 100644 --- a/sdk/dotnet/OpsWorks/GangliaLayer.cs +++ b/sdk/dotnet/OpsWorks/GangliaLayer.cs @@ -123,6 +123,9 @@ public partial class GangliaLayer : global::Pulumi.CustomResource [Output("instanceShutdownTimeout")] public Output InstanceShutdownTimeout { get; private set; } = null!; + [Output("loadBasedAutoScaling")] + public Output LoadBasedAutoScaling { get; private set; } = null!; + /// /// A human-readable name for the layer. /// @@ -344,6 +347,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// @@ -539,6 +545,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// diff --git a/sdk/dotnet/OpsWorks/HaproxyLayer.cs b/sdk/dotnet/OpsWorks/HaproxyLayer.cs index 0f2e41fa45a..f736aeea539 100644 --- a/sdk/dotnet/OpsWorks/HaproxyLayer.cs +++ b/sdk/dotnet/OpsWorks/HaproxyLayer.cs @@ -135,6 +135,9 @@ public partial class HaproxyLayer : global::Pulumi.CustomResource [Output("instanceShutdownTimeout")] public Output InstanceShutdownTimeout { get; private set; } = null!; + [Output("loadBasedAutoScaling")] + public Output LoadBasedAutoScaling { get; private set; } = null!; + /// /// A human-readable name for the layer. /// @@ -374,6 +377,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// @@ -587,6 +593,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// diff --git a/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingArgs.cs new file mode 100644 index 00000000000..9c4316a8699 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class CustomLayerLoadBasedAutoScalingArgs : global::Pulumi.ResourceArgs + { + /// + /// The downscaling settings, as defined below, used for load-based autoscaling + /// + [Input("downscaling")] + public Input? Downscaling { get; set; } + + /// + /// Whether load-based auto scaling is enabled for the layer. + /// + [Input("enable")] + public Input? Enable { get; set; } + + /// + /// The upscaling settings, as defined below, used for load-based autoscaling + /// + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public CustomLayerLoadBasedAutoScalingArgs() + { + } + public static new CustomLayerLoadBasedAutoScalingArgs Empty => new CustomLayerLoadBasedAutoScalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingDownscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingDownscalingArgs.cs new file mode 100644 index 00000000000..3a871384e74 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingDownscalingArgs.cs @@ -0,0 +1,68 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class CustomLayerLoadBasedAutoScalingDownscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + + /// + /// Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + /// + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + /// + /// The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + /// + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + /// + /// The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + /// + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + /// + /// The number of instances to add or remove when the load exceeds a threshold. + /// + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + /// + /// The load threshold. A value of -1 disables the threshold. + /// + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + /// + /// The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + /// + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + /// + /// The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + /// + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public CustomLayerLoadBasedAutoScalingDownscalingArgs() + { + } + public static new CustomLayerLoadBasedAutoScalingDownscalingArgs Empty => new CustomLayerLoadBasedAutoScalingDownscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingDownscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingDownscalingGetArgs.cs new file mode 100644 index 00000000000..0a63d35541a --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingDownscalingGetArgs.cs @@ -0,0 +1,68 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class CustomLayerLoadBasedAutoScalingDownscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + + /// + /// Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + /// + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + /// + /// The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + /// + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + /// + /// The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + /// + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + /// + /// The number of instances to add or remove when the load exceeds a threshold. + /// + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + /// + /// The load threshold. A value of -1 disables the threshold. + /// + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + /// + /// The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + /// + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + /// + /// The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + /// + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public CustomLayerLoadBasedAutoScalingDownscalingGetArgs() + { + } + public static new CustomLayerLoadBasedAutoScalingDownscalingGetArgs Empty => new CustomLayerLoadBasedAutoScalingDownscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingGetArgs.cs new file mode 100644 index 00000000000..cbe63391fad --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class CustomLayerLoadBasedAutoScalingGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The downscaling settings, as defined below, used for load-based autoscaling + /// + [Input("downscaling")] + public Input? Downscaling { get; set; } + + /// + /// Whether load-based auto scaling is enabled for the layer. + /// + [Input("enable")] + public Input? Enable { get; set; } + + /// + /// The upscaling settings, as defined below, used for load-based autoscaling + /// + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public CustomLayerLoadBasedAutoScalingGetArgs() + { + } + public static new CustomLayerLoadBasedAutoScalingGetArgs Empty => new CustomLayerLoadBasedAutoScalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingUpscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingUpscalingArgs.cs new file mode 100644 index 00000000000..2d1d2dc8c5d --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingUpscalingArgs.cs @@ -0,0 +1,68 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class CustomLayerLoadBasedAutoScalingUpscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + + /// + /// Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + /// + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + /// + /// The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + /// + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + /// + /// The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + /// + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + /// + /// The number of instances to add or remove when the load exceeds a threshold. + /// + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + /// + /// The load threshold. A value of -1 disables the threshold. + /// + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + /// + /// The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + /// + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + /// + /// The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + /// + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public CustomLayerLoadBasedAutoScalingUpscalingArgs() + { + } + public static new CustomLayerLoadBasedAutoScalingUpscalingArgs Empty => new CustomLayerLoadBasedAutoScalingUpscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingUpscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingUpscalingGetArgs.cs new file mode 100644 index 00000000000..3465eac7908 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/CustomLayerLoadBasedAutoScalingUpscalingGetArgs.cs @@ -0,0 +1,68 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class CustomLayerLoadBasedAutoScalingUpscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + + /// + /// Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + /// + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + /// + /// The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + /// + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + /// + /// The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + /// + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + /// + /// The number of instances to add or remove when the load exceeds a threshold. + /// + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + /// + /// The load threshold. A value of -1 disables the threshold. + /// + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + /// + /// The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + /// + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + /// + /// The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + /// + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public CustomLayerLoadBasedAutoScalingUpscalingGetArgs() + { + } + public static new CustomLayerLoadBasedAutoScalingUpscalingGetArgs Empty => new CustomLayerLoadBasedAutoScalingUpscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingArgs.cs new file mode 100644 index 00000000000..498918c4f14 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class EcsClusterLayerLoadBasedAutoScalingArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public EcsClusterLayerLoadBasedAutoScalingArgs() + { + } + public static new EcsClusterLayerLoadBasedAutoScalingArgs Empty => new EcsClusterLayerLoadBasedAutoScalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingDownscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingDownscalingArgs.cs new file mode 100644 index 00000000000..3e44db47c12 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingDownscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class EcsClusterLayerLoadBasedAutoScalingDownscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public EcsClusterLayerLoadBasedAutoScalingDownscalingArgs() + { + } + public static new EcsClusterLayerLoadBasedAutoScalingDownscalingArgs Empty => new EcsClusterLayerLoadBasedAutoScalingDownscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingDownscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingDownscalingGetArgs.cs new file mode 100644 index 00000000000..37ece9cf253 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingDownscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class EcsClusterLayerLoadBasedAutoScalingDownscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public EcsClusterLayerLoadBasedAutoScalingDownscalingGetArgs() + { + } + public static new EcsClusterLayerLoadBasedAutoScalingDownscalingGetArgs Empty => new EcsClusterLayerLoadBasedAutoScalingDownscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingGetArgs.cs new file mode 100644 index 00000000000..24fdc2497ce --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class EcsClusterLayerLoadBasedAutoScalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public EcsClusterLayerLoadBasedAutoScalingGetArgs() + { + } + public static new EcsClusterLayerLoadBasedAutoScalingGetArgs Empty => new EcsClusterLayerLoadBasedAutoScalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingUpscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingUpscalingArgs.cs new file mode 100644 index 00000000000..66960f92bbc --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingUpscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class EcsClusterLayerLoadBasedAutoScalingUpscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public EcsClusterLayerLoadBasedAutoScalingUpscalingArgs() + { + } + public static new EcsClusterLayerLoadBasedAutoScalingUpscalingArgs Empty => new EcsClusterLayerLoadBasedAutoScalingUpscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingUpscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingUpscalingGetArgs.cs new file mode 100644 index 00000000000..5f075c89c4a --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/EcsClusterLayerLoadBasedAutoScalingUpscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class EcsClusterLayerLoadBasedAutoScalingUpscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public EcsClusterLayerLoadBasedAutoScalingUpscalingGetArgs() + { + } + public static new EcsClusterLayerLoadBasedAutoScalingUpscalingGetArgs Empty => new EcsClusterLayerLoadBasedAutoScalingUpscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingArgs.cs new file mode 100644 index 00000000000..c2bb0234168 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class GangliaLayerLoadBasedAutoScalingArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public GangliaLayerLoadBasedAutoScalingArgs() + { + } + public static new GangliaLayerLoadBasedAutoScalingArgs Empty => new GangliaLayerLoadBasedAutoScalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingDownscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingDownscalingArgs.cs new file mode 100644 index 00000000000..8782d10314c --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingDownscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class GangliaLayerLoadBasedAutoScalingDownscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public GangliaLayerLoadBasedAutoScalingDownscalingArgs() + { + } + public static new GangliaLayerLoadBasedAutoScalingDownscalingArgs Empty => new GangliaLayerLoadBasedAutoScalingDownscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingDownscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingDownscalingGetArgs.cs new file mode 100644 index 00000000000..68afc3dde34 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingDownscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class GangliaLayerLoadBasedAutoScalingDownscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public GangliaLayerLoadBasedAutoScalingDownscalingGetArgs() + { + } + public static new GangliaLayerLoadBasedAutoScalingDownscalingGetArgs Empty => new GangliaLayerLoadBasedAutoScalingDownscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingGetArgs.cs new file mode 100644 index 00000000000..dbafc845aea --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class GangliaLayerLoadBasedAutoScalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public GangliaLayerLoadBasedAutoScalingGetArgs() + { + } + public static new GangliaLayerLoadBasedAutoScalingGetArgs Empty => new GangliaLayerLoadBasedAutoScalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingUpscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingUpscalingArgs.cs new file mode 100644 index 00000000000..5b5f32839ed --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingUpscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class GangliaLayerLoadBasedAutoScalingUpscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public GangliaLayerLoadBasedAutoScalingUpscalingArgs() + { + } + public static new GangliaLayerLoadBasedAutoScalingUpscalingArgs Empty => new GangliaLayerLoadBasedAutoScalingUpscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingUpscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingUpscalingGetArgs.cs new file mode 100644 index 00000000000..e0016419c58 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/GangliaLayerLoadBasedAutoScalingUpscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class GangliaLayerLoadBasedAutoScalingUpscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public GangliaLayerLoadBasedAutoScalingUpscalingGetArgs() + { + } + public static new GangliaLayerLoadBasedAutoScalingUpscalingGetArgs Empty => new GangliaLayerLoadBasedAutoScalingUpscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingArgs.cs new file mode 100644 index 00000000000..af1c9e13246 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class HaproxyLayerLoadBasedAutoScalingArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public HaproxyLayerLoadBasedAutoScalingArgs() + { + } + public static new HaproxyLayerLoadBasedAutoScalingArgs Empty => new HaproxyLayerLoadBasedAutoScalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingDownscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingDownscalingArgs.cs new file mode 100644 index 00000000000..9ab4ab2ec3b --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingDownscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class HaproxyLayerLoadBasedAutoScalingDownscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public HaproxyLayerLoadBasedAutoScalingDownscalingArgs() + { + } + public static new HaproxyLayerLoadBasedAutoScalingDownscalingArgs Empty => new HaproxyLayerLoadBasedAutoScalingDownscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingDownscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingDownscalingGetArgs.cs new file mode 100644 index 00000000000..39de33b298c --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingDownscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class HaproxyLayerLoadBasedAutoScalingDownscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public HaproxyLayerLoadBasedAutoScalingDownscalingGetArgs() + { + } + public static new HaproxyLayerLoadBasedAutoScalingDownscalingGetArgs Empty => new HaproxyLayerLoadBasedAutoScalingDownscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingGetArgs.cs new file mode 100644 index 00000000000..c05ddf3e0d2 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class HaproxyLayerLoadBasedAutoScalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public HaproxyLayerLoadBasedAutoScalingGetArgs() + { + } + public static new HaproxyLayerLoadBasedAutoScalingGetArgs Empty => new HaproxyLayerLoadBasedAutoScalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingUpscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingUpscalingArgs.cs new file mode 100644 index 00000000000..72f5cb0bad5 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingUpscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class HaproxyLayerLoadBasedAutoScalingUpscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public HaproxyLayerLoadBasedAutoScalingUpscalingArgs() + { + } + public static new HaproxyLayerLoadBasedAutoScalingUpscalingArgs Empty => new HaproxyLayerLoadBasedAutoScalingUpscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingUpscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingUpscalingGetArgs.cs new file mode 100644 index 00000000000..d1e3b4be3ca --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/HaproxyLayerLoadBasedAutoScalingUpscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class HaproxyLayerLoadBasedAutoScalingUpscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public HaproxyLayerLoadBasedAutoScalingUpscalingGetArgs() + { + } + public static new HaproxyLayerLoadBasedAutoScalingUpscalingGetArgs Empty => new HaproxyLayerLoadBasedAutoScalingUpscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingArgs.cs new file mode 100644 index 00000000000..66d7e74cf2b --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class JavaAppLayerLoadBasedAutoScalingArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public JavaAppLayerLoadBasedAutoScalingArgs() + { + } + public static new JavaAppLayerLoadBasedAutoScalingArgs Empty => new JavaAppLayerLoadBasedAutoScalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingDownscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingDownscalingArgs.cs new file mode 100644 index 00000000000..21400f3de75 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingDownscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class JavaAppLayerLoadBasedAutoScalingDownscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public JavaAppLayerLoadBasedAutoScalingDownscalingArgs() + { + } + public static new JavaAppLayerLoadBasedAutoScalingDownscalingArgs Empty => new JavaAppLayerLoadBasedAutoScalingDownscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingDownscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingDownscalingGetArgs.cs new file mode 100644 index 00000000000..33428d4abc0 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingDownscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class JavaAppLayerLoadBasedAutoScalingDownscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public JavaAppLayerLoadBasedAutoScalingDownscalingGetArgs() + { + } + public static new JavaAppLayerLoadBasedAutoScalingDownscalingGetArgs Empty => new JavaAppLayerLoadBasedAutoScalingDownscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingGetArgs.cs new file mode 100644 index 00000000000..f1c1a08dd58 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class JavaAppLayerLoadBasedAutoScalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public JavaAppLayerLoadBasedAutoScalingGetArgs() + { + } + public static new JavaAppLayerLoadBasedAutoScalingGetArgs Empty => new JavaAppLayerLoadBasedAutoScalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingUpscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingUpscalingArgs.cs new file mode 100644 index 00000000000..14e3a10eab0 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingUpscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class JavaAppLayerLoadBasedAutoScalingUpscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public JavaAppLayerLoadBasedAutoScalingUpscalingArgs() + { + } + public static new JavaAppLayerLoadBasedAutoScalingUpscalingArgs Empty => new JavaAppLayerLoadBasedAutoScalingUpscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingUpscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingUpscalingGetArgs.cs new file mode 100644 index 00000000000..e906a3e2af7 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/JavaAppLayerLoadBasedAutoScalingUpscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class JavaAppLayerLoadBasedAutoScalingUpscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public JavaAppLayerLoadBasedAutoScalingUpscalingGetArgs() + { + } + public static new JavaAppLayerLoadBasedAutoScalingUpscalingGetArgs Empty => new JavaAppLayerLoadBasedAutoScalingUpscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingArgs.cs new file mode 100644 index 00000000000..58223ed8dcc --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class MemcachedLayerLoadBasedAutoScalingArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public MemcachedLayerLoadBasedAutoScalingArgs() + { + } + public static new MemcachedLayerLoadBasedAutoScalingArgs Empty => new MemcachedLayerLoadBasedAutoScalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingDownscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingDownscalingArgs.cs new file mode 100644 index 00000000000..7e019619412 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingDownscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class MemcachedLayerLoadBasedAutoScalingDownscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public MemcachedLayerLoadBasedAutoScalingDownscalingArgs() + { + } + public static new MemcachedLayerLoadBasedAutoScalingDownscalingArgs Empty => new MemcachedLayerLoadBasedAutoScalingDownscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingDownscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingDownscalingGetArgs.cs new file mode 100644 index 00000000000..0d63bdf9215 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingDownscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class MemcachedLayerLoadBasedAutoScalingDownscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public MemcachedLayerLoadBasedAutoScalingDownscalingGetArgs() + { + } + public static new MemcachedLayerLoadBasedAutoScalingDownscalingGetArgs Empty => new MemcachedLayerLoadBasedAutoScalingDownscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingGetArgs.cs new file mode 100644 index 00000000000..99c807c6426 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class MemcachedLayerLoadBasedAutoScalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public MemcachedLayerLoadBasedAutoScalingGetArgs() + { + } + public static new MemcachedLayerLoadBasedAutoScalingGetArgs Empty => new MemcachedLayerLoadBasedAutoScalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingUpscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingUpscalingArgs.cs new file mode 100644 index 00000000000..690218daf26 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingUpscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class MemcachedLayerLoadBasedAutoScalingUpscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public MemcachedLayerLoadBasedAutoScalingUpscalingArgs() + { + } + public static new MemcachedLayerLoadBasedAutoScalingUpscalingArgs Empty => new MemcachedLayerLoadBasedAutoScalingUpscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingUpscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingUpscalingGetArgs.cs new file mode 100644 index 00000000000..00caa7b3a36 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/MemcachedLayerLoadBasedAutoScalingUpscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class MemcachedLayerLoadBasedAutoScalingUpscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public MemcachedLayerLoadBasedAutoScalingUpscalingGetArgs() + { + } + public static new MemcachedLayerLoadBasedAutoScalingUpscalingGetArgs Empty => new MemcachedLayerLoadBasedAutoScalingUpscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingArgs.cs new file mode 100644 index 00000000000..32d16be75c7 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class MysqlLayerLoadBasedAutoScalingArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public MysqlLayerLoadBasedAutoScalingArgs() + { + } + public static new MysqlLayerLoadBasedAutoScalingArgs Empty => new MysqlLayerLoadBasedAutoScalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingDownscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingDownscalingArgs.cs new file mode 100644 index 00000000000..647d7f0e9f8 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingDownscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class MysqlLayerLoadBasedAutoScalingDownscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public MysqlLayerLoadBasedAutoScalingDownscalingArgs() + { + } + public static new MysqlLayerLoadBasedAutoScalingDownscalingArgs Empty => new MysqlLayerLoadBasedAutoScalingDownscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingDownscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingDownscalingGetArgs.cs new file mode 100644 index 00000000000..6b7f55ed796 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingDownscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class MysqlLayerLoadBasedAutoScalingDownscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public MysqlLayerLoadBasedAutoScalingDownscalingGetArgs() + { + } + public static new MysqlLayerLoadBasedAutoScalingDownscalingGetArgs Empty => new MysqlLayerLoadBasedAutoScalingDownscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingGetArgs.cs new file mode 100644 index 00000000000..b717a4e0126 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class MysqlLayerLoadBasedAutoScalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public MysqlLayerLoadBasedAutoScalingGetArgs() + { + } + public static new MysqlLayerLoadBasedAutoScalingGetArgs Empty => new MysqlLayerLoadBasedAutoScalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingUpscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingUpscalingArgs.cs new file mode 100644 index 00000000000..a7818849767 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingUpscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class MysqlLayerLoadBasedAutoScalingUpscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public MysqlLayerLoadBasedAutoScalingUpscalingArgs() + { + } + public static new MysqlLayerLoadBasedAutoScalingUpscalingArgs Empty => new MysqlLayerLoadBasedAutoScalingUpscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingUpscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingUpscalingGetArgs.cs new file mode 100644 index 00000000000..e70cda0db61 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/MysqlLayerLoadBasedAutoScalingUpscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class MysqlLayerLoadBasedAutoScalingUpscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public MysqlLayerLoadBasedAutoScalingUpscalingGetArgs() + { + } + public static new MysqlLayerLoadBasedAutoScalingUpscalingGetArgs Empty => new MysqlLayerLoadBasedAutoScalingUpscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingArgs.cs new file mode 100644 index 00000000000..90fa8935501 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class NodejsAppLayerLoadBasedAutoScalingArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public NodejsAppLayerLoadBasedAutoScalingArgs() + { + } + public static new NodejsAppLayerLoadBasedAutoScalingArgs Empty => new NodejsAppLayerLoadBasedAutoScalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingDownscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingDownscalingArgs.cs new file mode 100644 index 00000000000..7004de5f984 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingDownscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class NodejsAppLayerLoadBasedAutoScalingDownscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public NodejsAppLayerLoadBasedAutoScalingDownscalingArgs() + { + } + public static new NodejsAppLayerLoadBasedAutoScalingDownscalingArgs Empty => new NodejsAppLayerLoadBasedAutoScalingDownscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingDownscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingDownscalingGetArgs.cs new file mode 100644 index 00000000000..7e98204e2b7 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingDownscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class NodejsAppLayerLoadBasedAutoScalingDownscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public NodejsAppLayerLoadBasedAutoScalingDownscalingGetArgs() + { + } + public static new NodejsAppLayerLoadBasedAutoScalingDownscalingGetArgs Empty => new NodejsAppLayerLoadBasedAutoScalingDownscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingGetArgs.cs new file mode 100644 index 00000000000..206edc57e79 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class NodejsAppLayerLoadBasedAutoScalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public NodejsAppLayerLoadBasedAutoScalingGetArgs() + { + } + public static new NodejsAppLayerLoadBasedAutoScalingGetArgs Empty => new NodejsAppLayerLoadBasedAutoScalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingUpscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingUpscalingArgs.cs new file mode 100644 index 00000000000..1dc5e9ef468 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingUpscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class NodejsAppLayerLoadBasedAutoScalingUpscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public NodejsAppLayerLoadBasedAutoScalingUpscalingArgs() + { + } + public static new NodejsAppLayerLoadBasedAutoScalingUpscalingArgs Empty => new NodejsAppLayerLoadBasedAutoScalingUpscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingUpscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingUpscalingGetArgs.cs new file mode 100644 index 00000000000..61695b9bac3 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/NodejsAppLayerLoadBasedAutoScalingUpscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class NodejsAppLayerLoadBasedAutoScalingUpscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public NodejsAppLayerLoadBasedAutoScalingUpscalingGetArgs() + { + } + public static new NodejsAppLayerLoadBasedAutoScalingUpscalingGetArgs Empty => new NodejsAppLayerLoadBasedAutoScalingUpscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingArgs.cs new file mode 100644 index 00000000000..f0ddd8e9e3c --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class PhpAppLayerLoadBasedAutoScalingArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public PhpAppLayerLoadBasedAutoScalingArgs() + { + } + public static new PhpAppLayerLoadBasedAutoScalingArgs Empty => new PhpAppLayerLoadBasedAutoScalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingDownscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingDownscalingArgs.cs new file mode 100644 index 00000000000..d19abc575e8 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingDownscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class PhpAppLayerLoadBasedAutoScalingDownscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public PhpAppLayerLoadBasedAutoScalingDownscalingArgs() + { + } + public static new PhpAppLayerLoadBasedAutoScalingDownscalingArgs Empty => new PhpAppLayerLoadBasedAutoScalingDownscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingDownscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingDownscalingGetArgs.cs new file mode 100644 index 00000000000..e14d1a42ed0 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingDownscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class PhpAppLayerLoadBasedAutoScalingDownscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public PhpAppLayerLoadBasedAutoScalingDownscalingGetArgs() + { + } + public static new PhpAppLayerLoadBasedAutoScalingDownscalingGetArgs Empty => new PhpAppLayerLoadBasedAutoScalingDownscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingGetArgs.cs new file mode 100644 index 00000000000..f062970bf7f --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class PhpAppLayerLoadBasedAutoScalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public PhpAppLayerLoadBasedAutoScalingGetArgs() + { + } + public static new PhpAppLayerLoadBasedAutoScalingGetArgs Empty => new PhpAppLayerLoadBasedAutoScalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingUpscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingUpscalingArgs.cs new file mode 100644 index 00000000000..ad62c080042 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingUpscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class PhpAppLayerLoadBasedAutoScalingUpscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public PhpAppLayerLoadBasedAutoScalingUpscalingArgs() + { + } + public static new PhpAppLayerLoadBasedAutoScalingUpscalingArgs Empty => new PhpAppLayerLoadBasedAutoScalingUpscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingUpscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingUpscalingGetArgs.cs new file mode 100644 index 00000000000..a0024677dc9 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/PhpAppLayerLoadBasedAutoScalingUpscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class PhpAppLayerLoadBasedAutoScalingUpscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public PhpAppLayerLoadBasedAutoScalingUpscalingGetArgs() + { + } + public static new PhpAppLayerLoadBasedAutoScalingUpscalingGetArgs Empty => new PhpAppLayerLoadBasedAutoScalingUpscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingArgs.cs new file mode 100644 index 00000000000..7a1ec56fd9d --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class RailsAppLayerLoadBasedAutoScalingArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public RailsAppLayerLoadBasedAutoScalingArgs() + { + } + public static new RailsAppLayerLoadBasedAutoScalingArgs Empty => new RailsAppLayerLoadBasedAutoScalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingDownscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingDownscalingArgs.cs new file mode 100644 index 00000000000..2e1f24d4e69 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingDownscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class RailsAppLayerLoadBasedAutoScalingDownscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public RailsAppLayerLoadBasedAutoScalingDownscalingArgs() + { + } + public static new RailsAppLayerLoadBasedAutoScalingDownscalingArgs Empty => new RailsAppLayerLoadBasedAutoScalingDownscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingDownscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingDownscalingGetArgs.cs new file mode 100644 index 00000000000..be830e3f1fc --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingDownscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class RailsAppLayerLoadBasedAutoScalingDownscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public RailsAppLayerLoadBasedAutoScalingDownscalingGetArgs() + { + } + public static new RailsAppLayerLoadBasedAutoScalingDownscalingGetArgs Empty => new RailsAppLayerLoadBasedAutoScalingDownscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingGetArgs.cs new file mode 100644 index 00000000000..3bd439329c3 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class RailsAppLayerLoadBasedAutoScalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public RailsAppLayerLoadBasedAutoScalingGetArgs() + { + } + public static new RailsAppLayerLoadBasedAutoScalingGetArgs Empty => new RailsAppLayerLoadBasedAutoScalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingUpscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingUpscalingArgs.cs new file mode 100644 index 00000000000..6128d7c5220 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingUpscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class RailsAppLayerLoadBasedAutoScalingUpscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public RailsAppLayerLoadBasedAutoScalingUpscalingArgs() + { + } + public static new RailsAppLayerLoadBasedAutoScalingUpscalingArgs Empty => new RailsAppLayerLoadBasedAutoScalingUpscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingUpscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingUpscalingGetArgs.cs new file mode 100644 index 00000000000..5ad3775b831 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/RailsAppLayerLoadBasedAutoScalingUpscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class RailsAppLayerLoadBasedAutoScalingUpscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public RailsAppLayerLoadBasedAutoScalingUpscalingGetArgs() + { + } + public static new RailsAppLayerLoadBasedAutoScalingUpscalingGetArgs Empty => new RailsAppLayerLoadBasedAutoScalingUpscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingArgs.cs new file mode 100644 index 00000000000..0b1cdef0c26 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class StaticWebLayerLoadBasedAutoScalingArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public StaticWebLayerLoadBasedAutoScalingArgs() + { + } + public static new StaticWebLayerLoadBasedAutoScalingArgs Empty => new StaticWebLayerLoadBasedAutoScalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingDownscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingDownscalingArgs.cs new file mode 100644 index 00000000000..55667f2d297 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingDownscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class StaticWebLayerLoadBasedAutoScalingDownscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public StaticWebLayerLoadBasedAutoScalingDownscalingArgs() + { + } + public static new StaticWebLayerLoadBasedAutoScalingDownscalingArgs Empty => new StaticWebLayerLoadBasedAutoScalingDownscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingDownscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingDownscalingGetArgs.cs new file mode 100644 index 00000000000..a14c6e4301e --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingDownscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class StaticWebLayerLoadBasedAutoScalingDownscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public StaticWebLayerLoadBasedAutoScalingDownscalingGetArgs() + { + } + public static new StaticWebLayerLoadBasedAutoScalingDownscalingGetArgs Empty => new StaticWebLayerLoadBasedAutoScalingDownscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingGetArgs.cs new file mode 100644 index 00000000000..b21bb29e371 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class StaticWebLayerLoadBasedAutoScalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("downscaling")] + public Input? Downscaling { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("upscaling")] + public Input? Upscaling { get; set; } + + public StaticWebLayerLoadBasedAutoScalingGetArgs() + { + } + public static new StaticWebLayerLoadBasedAutoScalingGetArgs Empty => new StaticWebLayerLoadBasedAutoScalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingUpscalingArgs.cs b/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingUpscalingArgs.cs new file mode 100644 index 00000000000..8b8187e74b6 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingUpscalingArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class StaticWebLayerLoadBasedAutoScalingUpscalingArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public StaticWebLayerLoadBasedAutoScalingUpscalingArgs() + { + } + public static new StaticWebLayerLoadBasedAutoScalingUpscalingArgs Empty => new StaticWebLayerLoadBasedAutoScalingUpscalingArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingUpscalingGetArgs.cs b/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingUpscalingGetArgs.cs new file mode 100644 index 00000000000..eaca26b53f5 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Inputs/StaticWebLayerLoadBasedAutoScalingUpscalingGetArgs.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Inputs +{ + + public sealed class StaticWebLayerLoadBasedAutoScalingUpscalingGetArgs : global::Pulumi.ResourceArgs + { + [Input("alarms")] + private InputList? _alarms; + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + [Input("cpuThreshold")] + public Input? CpuThreshold { get; set; } + + [Input("ignoreMetricsTime")] + public Input? IgnoreMetricsTime { get; set; } + + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + [Input("loadThreshold")] + public Input? LoadThreshold { get; set; } + + [Input("memoryThreshold")] + public Input? MemoryThreshold { get; set; } + + [Input("thresholdsWaitTime")] + public Input? ThresholdsWaitTime { get; set; } + + public StaticWebLayerLoadBasedAutoScalingUpscalingGetArgs() + { + } + public static new StaticWebLayerLoadBasedAutoScalingUpscalingGetArgs Empty => new StaticWebLayerLoadBasedAutoScalingUpscalingGetArgs(); + } +} diff --git a/sdk/dotnet/OpsWorks/JavaAppLayer.cs b/sdk/dotnet/OpsWorks/JavaAppLayer.cs index a5ea782f91d..52d9b2e54ec 100644 --- a/sdk/dotnet/OpsWorks/JavaAppLayer.cs +++ b/sdk/dotnet/OpsWorks/JavaAppLayer.cs @@ -152,6 +152,9 @@ public partial class JavaAppLayer : global::Pulumi.CustomResource [Output("jvmVersion")] public Output JvmVersion { get; private set; } = null!; + [Output("loadBasedAutoScaling")] + public Output LoadBasedAutoScaling { get; private set; } = null!; + /// /// A human-readable name for the layer. /// @@ -385,6 +388,9 @@ public InputList EbsVolumes [Input("jvmVersion")] public Input? JvmVersion { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// @@ -592,6 +598,9 @@ public InputList EbsVolumes [Input("jvmVersion")] public Input? JvmVersion { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// diff --git a/sdk/dotnet/OpsWorks/MemcachedLayer.cs b/sdk/dotnet/OpsWorks/MemcachedLayer.cs index a2d47a2b6c9..22d4a46714f 100644 --- a/sdk/dotnet/OpsWorks/MemcachedLayer.cs +++ b/sdk/dotnet/OpsWorks/MemcachedLayer.cs @@ -128,6 +128,9 @@ public partial class MemcachedLayer : global::Pulumi.CustomResource [Output("instanceShutdownTimeout")] public Output InstanceShutdownTimeout { get; private set; } = null!; + [Output("loadBasedAutoScaling")] + public Output LoadBasedAutoScaling { get; private set; } = null!; + /// /// A human-readable name for the layer. /// @@ -337,6 +340,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// @@ -520,6 +526,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// diff --git a/sdk/dotnet/OpsWorks/MysqlLayer.cs b/sdk/dotnet/OpsWorks/MysqlLayer.cs index a22ee895320..bac20f7139a 100644 --- a/sdk/dotnet/OpsWorks/MysqlLayer.cs +++ b/sdk/dotnet/OpsWorks/MysqlLayer.cs @@ -122,6 +122,9 @@ public partial class MysqlLayer : global::Pulumi.CustomResource [Output("instanceShutdownTimeout")] public Output InstanceShutdownTimeout { get; private set; } = null!; + [Output("loadBasedAutoScaling")] + public Output LoadBasedAutoScaling { get; private set; } = null!; + /// /// A human-readable name for the layer. /// @@ -337,6 +340,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// @@ -526,6 +532,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// diff --git a/sdk/dotnet/OpsWorks/NodejsAppLayer.cs b/sdk/dotnet/OpsWorks/NodejsAppLayer.cs index 9052308027a..8b7a3f236e5 100644 --- a/sdk/dotnet/OpsWorks/NodejsAppLayer.cs +++ b/sdk/dotnet/OpsWorks/NodejsAppLayer.cs @@ -122,6 +122,9 @@ public partial class NodejsAppLayer : global::Pulumi.CustomResource [Output("instanceShutdownTimeout")] public Output InstanceShutdownTimeout { get; private set; } = null!; + [Output("loadBasedAutoScaling")] + public Output LoadBasedAutoScaling { get; private set; } = null!; + /// /// A human-readable name for the layer. /// @@ -331,6 +334,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// @@ -514,6 +520,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// diff --git a/sdk/dotnet/OpsWorks/Outputs/CustomLayerLoadBasedAutoScaling.cs b/sdk/dotnet/OpsWorks/Outputs/CustomLayerLoadBasedAutoScaling.cs new file mode 100644 index 00000000000..44d731a9a61 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/CustomLayerLoadBasedAutoScaling.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class CustomLayerLoadBasedAutoScaling + { + /// + /// The downscaling settings, as defined below, used for load-based autoscaling + /// + public readonly Outputs.CustomLayerLoadBasedAutoScalingDownscaling? Downscaling; + /// + /// Whether load-based auto scaling is enabled for the layer. + /// + public readonly bool? Enable; + /// + /// The upscaling settings, as defined below, used for load-based autoscaling + /// + public readonly Outputs.CustomLayerLoadBasedAutoScalingUpscaling? Upscaling; + + [OutputConstructor] + private CustomLayerLoadBasedAutoScaling( + Outputs.CustomLayerLoadBasedAutoScalingDownscaling? downscaling, + + bool? enable, + + Outputs.CustomLayerLoadBasedAutoScalingUpscaling? upscaling) + { + Downscaling = downscaling; + Enable = enable; + Upscaling = upscaling; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/CustomLayerLoadBasedAutoScalingDownscaling.cs b/sdk/dotnet/OpsWorks/Outputs/CustomLayerLoadBasedAutoScalingDownscaling.cs new file mode 100644 index 00000000000..afc59073fe3 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/CustomLayerLoadBasedAutoScalingDownscaling.cs @@ -0,0 +1,70 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class CustomLayerLoadBasedAutoScalingDownscaling + { + /// + /// Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + /// + public readonly ImmutableArray Alarms; + /// + /// The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + /// + public readonly double? CpuThreshold; + /// + /// The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + /// + public readonly int? IgnoreMetricsTime; + /// + /// The number of instances to add or remove when the load exceeds a threshold. + /// + public readonly int? InstanceCount; + /// + /// The load threshold. A value of -1 disables the threshold. + /// + public readonly double? LoadThreshold; + /// + /// The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + /// + public readonly double? MemoryThreshold; + /// + /// The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + /// + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private CustomLayerLoadBasedAutoScalingDownscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/CustomLayerLoadBasedAutoScalingUpscaling.cs b/sdk/dotnet/OpsWorks/Outputs/CustomLayerLoadBasedAutoScalingUpscaling.cs new file mode 100644 index 00000000000..b016d4c8b5c --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/CustomLayerLoadBasedAutoScalingUpscaling.cs @@ -0,0 +1,70 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class CustomLayerLoadBasedAutoScalingUpscaling + { + /// + /// Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + /// + public readonly ImmutableArray Alarms; + /// + /// The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + /// + public readonly double? CpuThreshold; + /// + /// The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + /// + public readonly int? IgnoreMetricsTime; + /// + /// The number of instances to add or remove when the load exceeds a threshold. + /// + public readonly int? InstanceCount; + /// + /// The load threshold. A value of -1 disables the threshold. + /// + public readonly double? LoadThreshold; + /// + /// The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + /// + public readonly double? MemoryThreshold; + /// + /// The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + /// + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private CustomLayerLoadBasedAutoScalingUpscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/EcsClusterLayerLoadBasedAutoScaling.cs b/sdk/dotnet/OpsWorks/Outputs/EcsClusterLayerLoadBasedAutoScaling.cs new file mode 100644 index 00000000000..efb2eadbf72 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/EcsClusterLayerLoadBasedAutoScaling.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class EcsClusterLayerLoadBasedAutoScaling + { + public readonly Outputs.EcsClusterLayerLoadBasedAutoScalingDownscaling? Downscaling; + public readonly bool? Enable; + public readonly Outputs.EcsClusterLayerLoadBasedAutoScalingUpscaling? Upscaling; + + [OutputConstructor] + private EcsClusterLayerLoadBasedAutoScaling( + Outputs.EcsClusterLayerLoadBasedAutoScalingDownscaling? downscaling, + + bool? enable, + + Outputs.EcsClusterLayerLoadBasedAutoScalingUpscaling? upscaling) + { + Downscaling = downscaling; + Enable = enable; + Upscaling = upscaling; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/EcsClusterLayerLoadBasedAutoScalingDownscaling.cs b/sdk/dotnet/OpsWorks/Outputs/EcsClusterLayerLoadBasedAutoScalingDownscaling.cs new file mode 100644 index 00000000000..64d883900ae --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/EcsClusterLayerLoadBasedAutoScalingDownscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class EcsClusterLayerLoadBasedAutoScalingDownscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private EcsClusterLayerLoadBasedAutoScalingDownscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/EcsClusterLayerLoadBasedAutoScalingUpscaling.cs b/sdk/dotnet/OpsWorks/Outputs/EcsClusterLayerLoadBasedAutoScalingUpscaling.cs new file mode 100644 index 00000000000..65d80584ee2 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/EcsClusterLayerLoadBasedAutoScalingUpscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class EcsClusterLayerLoadBasedAutoScalingUpscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private EcsClusterLayerLoadBasedAutoScalingUpscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/GangliaLayerLoadBasedAutoScaling.cs b/sdk/dotnet/OpsWorks/Outputs/GangliaLayerLoadBasedAutoScaling.cs new file mode 100644 index 00000000000..0be07337c80 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/GangliaLayerLoadBasedAutoScaling.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class GangliaLayerLoadBasedAutoScaling + { + public readonly Outputs.GangliaLayerLoadBasedAutoScalingDownscaling? Downscaling; + public readonly bool? Enable; + public readonly Outputs.GangliaLayerLoadBasedAutoScalingUpscaling? Upscaling; + + [OutputConstructor] + private GangliaLayerLoadBasedAutoScaling( + Outputs.GangliaLayerLoadBasedAutoScalingDownscaling? downscaling, + + bool? enable, + + Outputs.GangliaLayerLoadBasedAutoScalingUpscaling? upscaling) + { + Downscaling = downscaling; + Enable = enable; + Upscaling = upscaling; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/GangliaLayerLoadBasedAutoScalingDownscaling.cs b/sdk/dotnet/OpsWorks/Outputs/GangliaLayerLoadBasedAutoScalingDownscaling.cs new file mode 100644 index 00000000000..abaaae1c6e9 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/GangliaLayerLoadBasedAutoScalingDownscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class GangliaLayerLoadBasedAutoScalingDownscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private GangliaLayerLoadBasedAutoScalingDownscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/GangliaLayerLoadBasedAutoScalingUpscaling.cs b/sdk/dotnet/OpsWorks/Outputs/GangliaLayerLoadBasedAutoScalingUpscaling.cs new file mode 100644 index 00000000000..4c50c169e01 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/GangliaLayerLoadBasedAutoScalingUpscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class GangliaLayerLoadBasedAutoScalingUpscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private GangliaLayerLoadBasedAutoScalingUpscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/HaproxyLayerLoadBasedAutoScaling.cs b/sdk/dotnet/OpsWorks/Outputs/HaproxyLayerLoadBasedAutoScaling.cs new file mode 100644 index 00000000000..a0ca351e10b --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/HaproxyLayerLoadBasedAutoScaling.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class HaproxyLayerLoadBasedAutoScaling + { + public readonly Outputs.HaproxyLayerLoadBasedAutoScalingDownscaling? Downscaling; + public readonly bool? Enable; + public readonly Outputs.HaproxyLayerLoadBasedAutoScalingUpscaling? Upscaling; + + [OutputConstructor] + private HaproxyLayerLoadBasedAutoScaling( + Outputs.HaproxyLayerLoadBasedAutoScalingDownscaling? downscaling, + + bool? enable, + + Outputs.HaproxyLayerLoadBasedAutoScalingUpscaling? upscaling) + { + Downscaling = downscaling; + Enable = enable; + Upscaling = upscaling; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/HaproxyLayerLoadBasedAutoScalingDownscaling.cs b/sdk/dotnet/OpsWorks/Outputs/HaproxyLayerLoadBasedAutoScalingDownscaling.cs new file mode 100644 index 00000000000..218ec5d129f --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/HaproxyLayerLoadBasedAutoScalingDownscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class HaproxyLayerLoadBasedAutoScalingDownscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private HaproxyLayerLoadBasedAutoScalingDownscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/HaproxyLayerLoadBasedAutoScalingUpscaling.cs b/sdk/dotnet/OpsWorks/Outputs/HaproxyLayerLoadBasedAutoScalingUpscaling.cs new file mode 100644 index 00000000000..c770e5fc17c --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/HaproxyLayerLoadBasedAutoScalingUpscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class HaproxyLayerLoadBasedAutoScalingUpscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private HaproxyLayerLoadBasedAutoScalingUpscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/JavaAppLayerLoadBasedAutoScaling.cs b/sdk/dotnet/OpsWorks/Outputs/JavaAppLayerLoadBasedAutoScaling.cs new file mode 100644 index 00000000000..86eafd5f7c2 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/JavaAppLayerLoadBasedAutoScaling.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class JavaAppLayerLoadBasedAutoScaling + { + public readonly Outputs.JavaAppLayerLoadBasedAutoScalingDownscaling? Downscaling; + public readonly bool? Enable; + public readonly Outputs.JavaAppLayerLoadBasedAutoScalingUpscaling? Upscaling; + + [OutputConstructor] + private JavaAppLayerLoadBasedAutoScaling( + Outputs.JavaAppLayerLoadBasedAutoScalingDownscaling? downscaling, + + bool? enable, + + Outputs.JavaAppLayerLoadBasedAutoScalingUpscaling? upscaling) + { + Downscaling = downscaling; + Enable = enable; + Upscaling = upscaling; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/JavaAppLayerLoadBasedAutoScalingDownscaling.cs b/sdk/dotnet/OpsWorks/Outputs/JavaAppLayerLoadBasedAutoScalingDownscaling.cs new file mode 100644 index 00000000000..eaaf0b2c3b6 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/JavaAppLayerLoadBasedAutoScalingDownscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class JavaAppLayerLoadBasedAutoScalingDownscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private JavaAppLayerLoadBasedAutoScalingDownscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/JavaAppLayerLoadBasedAutoScalingUpscaling.cs b/sdk/dotnet/OpsWorks/Outputs/JavaAppLayerLoadBasedAutoScalingUpscaling.cs new file mode 100644 index 00000000000..c0f2c84a995 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/JavaAppLayerLoadBasedAutoScalingUpscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class JavaAppLayerLoadBasedAutoScalingUpscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private JavaAppLayerLoadBasedAutoScalingUpscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/MemcachedLayerLoadBasedAutoScaling.cs b/sdk/dotnet/OpsWorks/Outputs/MemcachedLayerLoadBasedAutoScaling.cs new file mode 100644 index 00000000000..ae1a57477ee --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/MemcachedLayerLoadBasedAutoScaling.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class MemcachedLayerLoadBasedAutoScaling + { + public readonly Outputs.MemcachedLayerLoadBasedAutoScalingDownscaling? Downscaling; + public readonly bool? Enable; + public readonly Outputs.MemcachedLayerLoadBasedAutoScalingUpscaling? Upscaling; + + [OutputConstructor] + private MemcachedLayerLoadBasedAutoScaling( + Outputs.MemcachedLayerLoadBasedAutoScalingDownscaling? downscaling, + + bool? enable, + + Outputs.MemcachedLayerLoadBasedAutoScalingUpscaling? upscaling) + { + Downscaling = downscaling; + Enable = enable; + Upscaling = upscaling; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/MemcachedLayerLoadBasedAutoScalingDownscaling.cs b/sdk/dotnet/OpsWorks/Outputs/MemcachedLayerLoadBasedAutoScalingDownscaling.cs new file mode 100644 index 00000000000..dae72b4a6a4 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/MemcachedLayerLoadBasedAutoScalingDownscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class MemcachedLayerLoadBasedAutoScalingDownscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private MemcachedLayerLoadBasedAutoScalingDownscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/MemcachedLayerLoadBasedAutoScalingUpscaling.cs b/sdk/dotnet/OpsWorks/Outputs/MemcachedLayerLoadBasedAutoScalingUpscaling.cs new file mode 100644 index 00000000000..ce66ddbf540 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/MemcachedLayerLoadBasedAutoScalingUpscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class MemcachedLayerLoadBasedAutoScalingUpscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private MemcachedLayerLoadBasedAutoScalingUpscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/MysqlLayerLoadBasedAutoScaling.cs b/sdk/dotnet/OpsWorks/Outputs/MysqlLayerLoadBasedAutoScaling.cs new file mode 100644 index 00000000000..5fe05e60e09 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/MysqlLayerLoadBasedAutoScaling.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class MysqlLayerLoadBasedAutoScaling + { + public readonly Outputs.MysqlLayerLoadBasedAutoScalingDownscaling? Downscaling; + public readonly bool? Enable; + public readonly Outputs.MysqlLayerLoadBasedAutoScalingUpscaling? Upscaling; + + [OutputConstructor] + private MysqlLayerLoadBasedAutoScaling( + Outputs.MysqlLayerLoadBasedAutoScalingDownscaling? downscaling, + + bool? enable, + + Outputs.MysqlLayerLoadBasedAutoScalingUpscaling? upscaling) + { + Downscaling = downscaling; + Enable = enable; + Upscaling = upscaling; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/MysqlLayerLoadBasedAutoScalingDownscaling.cs b/sdk/dotnet/OpsWorks/Outputs/MysqlLayerLoadBasedAutoScalingDownscaling.cs new file mode 100644 index 00000000000..df89fee7e74 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/MysqlLayerLoadBasedAutoScalingDownscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class MysqlLayerLoadBasedAutoScalingDownscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private MysqlLayerLoadBasedAutoScalingDownscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/MysqlLayerLoadBasedAutoScalingUpscaling.cs b/sdk/dotnet/OpsWorks/Outputs/MysqlLayerLoadBasedAutoScalingUpscaling.cs new file mode 100644 index 00000000000..4d2a2033e03 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/MysqlLayerLoadBasedAutoScalingUpscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class MysqlLayerLoadBasedAutoScalingUpscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private MysqlLayerLoadBasedAutoScalingUpscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/NodejsAppLayerLoadBasedAutoScaling.cs b/sdk/dotnet/OpsWorks/Outputs/NodejsAppLayerLoadBasedAutoScaling.cs new file mode 100644 index 00000000000..b012acaec1f --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/NodejsAppLayerLoadBasedAutoScaling.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class NodejsAppLayerLoadBasedAutoScaling + { + public readonly Outputs.NodejsAppLayerLoadBasedAutoScalingDownscaling? Downscaling; + public readonly bool? Enable; + public readonly Outputs.NodejsAppLayerLoadBasedAutoScalingUpscaling? Upscaling; + + [OutputConstructor] + private NodejsAppLayerLoadBasedAutoScaling( + Outputs.NodejsAppLayerLoadBasedAutoScalingDownscaling? downscaling, + + bool? enable, + + Outputs.NodejsAppLayerLoadBasedAutoScalingUpscaling? upscaling) + { + Downscaling = downscaling; + Enable = enable; + Upscaling = upscaling; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/NodejsAppLayerLoadBasedAutoScalingDownscaling.cs b/sdk/dotnet/OpsWorks/Outputs/NodejsAppLayerLoadBasedAutoScalingDownscaling.cs new file mode 100644 index 00000000000..ab3739fca24 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/NodejsAppLayerLoadBasedAutoScalingDownscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class NodejsAppLayerLoadBasedAutoScalingDownscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private NodejsAppLayerLoadBasedAutoScalingDownscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/NodejsAppLayerLoadBasedAutoScalingUpscaling.cs b/sdk/dotnet/OpsWorks/Outputs/NodejsAppLayerLoadBasedAutoScalingUpscaling.cs new file mode 100644 index 00000000000..7bea4e1d2bc --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/NodejsAppLayerLoadBasedAutoScalingUpscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class NodejsAppLayerLoadBasedAutoScalingUpscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private NodejsAppLayerLoadBasedAutoScalingUpscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/PhpAppLayerLoadBasedAutoScaling.cs b/sdk/dotnet/OpsWorks/Outputs/PhpAppLayerLoadBasedAutoScaling.cs new file mode 100644 index 00000000000..00d0de15c33 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/PhpAppLayerLoadBasedAutoScaling.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class PhpAppLayerLoadBasedAutoScaling + { + public readonly Outputs.PhpAppLayerLoadBasedAutoScalingDownscaling? Downscaling; + public readonly bool? Enable; + public readonly Outputs.PhpAppLayerLoadBasedAutoScalingUpscaling? Upscaling; + + [OutputConstructor] + private PhpAppLayerLoadBasedAutoScaling( + Outputs.PhpAppLayerLoadBasedAutoScalingDownscaling? downscaling, + + bool? enable, + + Outputs.PhpAppLayerLoadBasedAutoScalingUpscaling? upscaling) + { + Downscaling = downscaling; + Enable = enable; + Upscaling = upscaling; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/PhpAppLayerLoadBasedAutoScalingDownscaling.cs b/sdk/dotnet/OpsWorks/Outputs/PhpAppLayerLoadBasedAutoScalingDownscaling.cs new file mode 100644 index 00000000000..34c1b0316c6 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/PhpAppLayerLoadBasedAutoScalingDownscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class PhpAppLayerLoadBasedAutoScalingDownscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private PhpAppLayerLoadBasedAutoScalingDownscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/PhpAppLayerLoadBasedAutoScalingUpscaling.cs b/sdk/dotnet/OpsWorks/Outputs/PhpAppLayerLoadBasedAutoScalingUpscaling.cs new file mode 100644 index 00000000000..e4bcf1d2526 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/PhpAppLayerLoadBasedAutoScalingUpscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class PhpAppLayerLoadBasedAutoScalingUpscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private PhpAppLayerLoadBasedAutoScalingUpscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/RailsAppLayerLoadBasedAutoScaling.cs b/sdk/dotnet/OpsWorks/Outputs/RailsAppLayerLoadBasedAutoScaling.cs new file mode 100644 index 00000000000..64f45be7e0d --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/RailsAppLayerLoadBasedAutoScaling.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class RailsAppLayerLoadBasedAutoScaling + { + public readonly Outputs.RailsAppLayerLoadBasedAutoScalingDownscaling? Downscaling; + public readonly bool? Enable; + public readonly Outputs.RailsAppLayerLoadBasedAutoScalingUpscaling? Upscaling; + + [OutputConstructor] + private RailsAppLayerLoadBasedAutoScaling( + Outputs.RailsAppLayerLoadBasedAutoScalingDownscaling? downscaling, + + bool? enable, + + Outputs.RailsAppLayerLoadBasedAutoScalingUpscaling? upscaling) + { + Downscaling = downscaling; + Enable = enable; + Upscaling = upscaling; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/RailsAppLayerLoadBasedAutoScalingDownscaling.cs b/sdk/dotnet/OpsWorks/Outputs/RailsAppLayerLoadBasedAutoScalingDownscaling.cs new file mode 100644 index 00000000000..f7bd698fa95 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/RailsAppLayerLoadBasedAutoScalingDownscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class RailsAppLayerLoadBasedAutoScalingDownscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private RailsAppLayerLoadBasedAutoScalingDownscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/RailsAppLayerLoadBasedAutoScalingUpscaling.cs b/sdk/dotnet/OpsWorks/Outputs/RailsAppLayerLoadBasedAutoScalingUpscaling.cs new file mode 100644 index 00000000000..b081a8f91cb --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/RailsAppLayerLoadBasedAutoScalingUpscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class RailsAppLayerLoadBasedAutoScalingUpscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private RailsAppLayerLoadBasedAutoScalingUpscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/StaticWebLayerLoadBasedAutoScaling.cs b/sdk/dotnet/OpsWorks/Outputs/StaticWebLayerLoadBasedAutoScaling.cs new file mode 100644 index 00000000000..6d89c4cfc6b --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/StaticWebLayerLoadBasedAutoScaling.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class StaticWebLayerLoadBasedAutoScaling + { + public readonly Outputs.StaticWebLayerLoadBasedAutoScalingDownscaling? Downscaling; + public readonly bool? Enable; + public readonly Outputs.StaticWebLayerLoadBasedAutoScalingUpscaling? Upscaling; + + [OutputConstructor] + private StaticWebLayerLoadBasedAutoScaling( + Outputs.StaticWebLayerLoadBasedAutoScalingDownscaling? downscaling, + + bool? enable, + + Outputs.StaticWebLayerLoadBasedAutoScalingUpscaling? upscaling) + { + Downscaling = downscaling; + Enable = enable; + Upscaling = upscaling; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/StaticWebLayerLoadBasedAutoScalingDownscaling.cs b/sdk/dotnet/OpsWorks/Outputs/StaticWebLayerLoadBasedAutoScalingDownscaling.cs new file mode 100644 index 00000000000..7528148e1e6 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/StaticWebLayerLoadBasedAutoScalingDownscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class StaticWebLayerLoadBasedAutoScalingDownscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private StaticWebLayerLoadBasedAutoScalingDownscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/Outputs/StaticWebLayerLoadBasedAutoScalingUpscaling.cs b/sdk/dotnet/OpsWorks/Outputs/StaticWebLayerLoadBasedAutoScalingUpscaling.cs new file mode 100644 index 00000000000..c4b88526fd5 --- /dev/null +++ b/sdk/dotnet/OpsWorks/Outputs/StaticWebLayerLoadBasedAutoScalingUpscaling.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.OpsWorks.Outputs +{ + + [OutputType] + public sealed class StaticWebLayerLoadBasedAutoScalingUpscaling + { + public readonly ImmutableArray Alarms; + public readonly double? CpuThreshold; + public readonly int? IgnoreMetricsTime; + public readonly int? InstanceCount; + public readonly double? LoadThreshold; + public readonly double? MemoryThreshold; + public readonly int? ThresholdsWaitTime; + + [OutputConstructor] + private StaticWebLayerLoadBasedAutoScalingUpscaling( + ImmutableArray alarms, + + double? cpuThreshold, + + int? ignoreMetricsTime, + + int? instanceCount, + + double? loadThreshold, + + double? memoryThreshold, + + int? thresholdsWaitTime) + { + Alarms = alarms; + CpuThreshold = cpuThreshold; + IgnoreMetricsTime = ignoreMetricsTime; + InstanceCount = instanceCount; + LoadThreshold = loadThreshold; + MemoryThreshold = memoryThreshold; + ThresholdsWaitTime = thresholdsWaitTime; + } + } +} diff --git a/sdk/dotnet/OpsWorks/PhpAppLayer.cs b/sdk/dotnet/OpsWorks/PhpAppLayer.cs index 6639da253b9..89859441aee 100644 --- a/sdk/dotnet/OpsWorks/PhpAppLayer.cs +++ b/sdk/dotnet/OpsWorks/PhpAppLayer.cs @@ -130,6 +130,9 @@ public partial class PhpAppLayer : global::Pulumi.CustomResource [Output("instanceShutdownTimeout")] public Output InstanceShutdownTimeout { get; private set; } = null!; + [Output("loadBasedAutoScaling")] + public Output LoadBasedAutoScaling { get; private set; } = null!; + /// /// A human-readable name for the layer. /// @@ -333,6 +336,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// @@ -510,6 +516,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// diff --git a/sdk/dotnet/OpsWorks/RailsAppLayer.cs b/sdk/dotnet/OpsWorks/RailsAppLayer.cs index 7ce0311d7c5..4983b8aafd8 100644 --- a/sdk/dotnet/OpsWorks/RailsAppLayer.cs +++ b/sdk/dotnet/OpsWorks/RailsAppLayer.cs @@ -134,6 +134,9 @@ public partial class RailsAppLayer : global::Pulumi.CustomResource [Output("instanceShutdownTimeout")] public Output InstanceShutdownTimeout { get; private set; } = null!; + [Output("loadBasedAutoScaling")] + public Output LoadBasedAutoScaling { get; private set; } = null!; + /// /// Whether OpsWorks should manage bundler. On by default. /// @@ -373,6 +376,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// Whether OpsWorks should manage bundler. On by default. /// @@ -586,6 +592,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// Whether OpsWorks should manage bundler. On by default. /// diff --git a/sdk/dotnet/OpsWorks/StaticWebLayer.cs b/sdk/dotnet/OpsWorks/StaticWebLayer.cs index b405fe418aa..508d36638b2 100644 --- a/sdk/dotnet/OpsWorks/StaticWebLayer.cs +++ b/sdk/dotnet/OpsWorks/StaticWebLayer.cs @@ -127,6 +127,9 @@ public partial class StaticWebLayer : global::Pulumi.CustomResource [Output("instanceShutdownTimeout")] public Output InstanceShutdownTimeout { get; private set; } = null!; + [Output("loadBasedAutoScaling")] + public Output LoadBasedAutoScaling { get; private set; } = null!; + /// /// A human-readable name for the layer. /// @@ -327,6 +330,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// @@ -501,6 +507,9 @@ public InputList EbsVolumes [Input("instanceShutdownTimeout")] public Input? InstanceShutdownTimeout { get; set; } + [Input("loadBasedAutoScaling")] + public Input? LoadBasedAutoScaling { get; set; } + /// /// A human-readable name for the layer. /// diff --git a/sdk/dotnet/Ram/ResourceShare.cs b/sdk/dotnet/Ram/ResourceShare.cs index a5790b3c826..873b7037acb 100644 --- a/sdk/dotnet/Ram/ResourceShare.cs +++ b/sdk/dotnet/Ram/ResourceShare.cs @@ -35,7 +35,7 @@ namespace Pulumi.Aws.Ram /// /// ## Import /// - /// Resource shares can be imported using the `id`, e.g., + /// Resource shares can be imported using the `arn` of the resource share, e.g., /// /// ```sh /// $ pulumi import aws:ram/resourceShare:ResourceShare example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 diff --git a/sdk/dotnet/Rds/GetReservedInstanceOffering.cs b/sdk/dotnet/Rds/GetReservedInstanceOffering.cs new file mode 100644 index 00000000000..6d57935097e --- /dev/null +++ b/sdk/dotnet/Rds/GetReservedInstanceOffering.cs @@ -0,0 +1,211 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Rds +{ + public static class GetReservedInstanceOffering + { + /// + /// Information about a single RDS Reserved Instance Offering. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Aws.Rds.GetReservedInstanceOffering.Invoke(new() + /// { + /// DbInstanceClass = "db.t2.micro", + /// Duration = 31536000, + /// MultiAz = false, + /// OfferingType = "All Upfront", + /// ProductDescription = "mysql", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetReservedInstanceOfferingArgs args, InvokeOptions? options = null) + => Pulumi.Deployment.Instance.InvokeAsync("aws:rds/getReservedInstanceOffering:getReservedInstanceOffering", args ?? new GetReservedInstanceOfferingArgs(), options.WithDefaults()); + + /// + /// Information about a single RDS Reserved Instance Offering. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Aws.Rds.GetReservedInstanceOffering.Invoke(new() + /// { + /// DbInstanceClass = "db.t2.micro", + /// Duration = 31536000, + /// MultiAz = false, + /// OfferingType = "All Upfront", + /// ProductDescription = "mysql", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetReservedInstanceOfferingInvokeArgs args, InvokeOptions? options = null) + => Pulumi.Deployment.Instance.Invoke("aws:rds/getReservedInstanceOffering:getReservedInstanceOffering", args ?? new GetReservedInstanceOfferingInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetReservedInstanceOfferingArgs : global::Pulumi.InvokeArgs + { + /// + /// DB instance class for the reserved DB instance. + /// + [Input("dbInstanceClass", required: true)] + public string DbInstanceClass { get; set; } = null!; + + /// + /// Duration of the reservation in seconds. + /// + [Input("duration", required: true)] + public int Duration { get; set; } + + /// + /// Whether the reservation applies to Multi-AZ deployments. + /// + [Input("multiAz", required: true)] + public bool MultiAz { get; set; } + + /// + /// Offering type of this reserved DB instance. + /// + [Input("offeringType", required: true)] + public string OfferingType { get; set; } = null!; + + /// + /// Description of the reserved DB instance. + /// + [Input("productDescription", required: true)] + public string ProductDescription { get; set; } = null!; + + public GetReservedInstanceOfferingArgs() + { + } + public static new GetReservedInstanceOfferingArgs Empty => new GetReservedInstanceOfferingArgs(); + } + + public sealed class GetReservedInstanceOfferingInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// DB instance class for the reserved DB instance. + /// + [Input("dbInstanceClass", required: true)] + public Input DbInstanceClass { get; set; } = null!; + + /// + /// Duration of the reservation in seconds. + /// + [Input("duration", required: true)] + public Input Duration { get; set; } = null!; + + /// + /// Whether the reservation applies to Multi-AZ deployments. + /// + [Input("multiAz", required: true)] + public Input MultiAz { get; set; } = null!; + + /// + /// Offering type of this reserved DB instance. + /// + [Input("offeringType", required: true)] + public Input OfferingType { get; set; } = null!; + + /// + /// Description of the reserved DB instance. + /// + [Input("productDescription", required: true)] + public Input ProductDescription { get; set; } = null!; + + public GetReservedInstanceOfferingInvokeArgs() + { + } + public static new GetReservedInstanceOfferingInvokeArgs Empty => new GetReservedInstanceOfferingInvokeArgs(); + } + + + [OutputType] + public sealed class GetReservedInstanceOfferingResult + { + /// + /// Currency code for the reserved DB instance. + /// + public readonly string CurrencyCode; + public readonly string DbInstanceClass; + public readonly int Duration; + /// + /// Fixed price charged for this reserved DB instance. + /// + public readonly double FixedPrice; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly bool MultiAz; + /// + /// Unique identifier for the reservation. + /// + public readonly string OfferingId; + public readonly string OfferingType; + public readonly string ProductDescription; + + [OutputConstructor] + private GetReservedInstanceOfferingResult( + string currencyCode, + + string dbInstanceClass, + + int duration, + + double fixedPrice, + + string id, + + bool multiAz, + + string offeringId, + + string offeringType, + + string productDescription) + { + CurrencyCode = currencyCode; + DbInstanceClass = dbInstanceClass; + Duration = duration; + FixedPrice = fixedPrice; + Id = id; + MultiAz = multiAz; + OfferingId = offeringId; + OfferingType = offeringType; + ProductDescription = productDescription; + } + } +} diff --git a/sdk/dotnet/Rds/Inputs/ReservedInstanceRecurringChargeArgs.cs b/sdk/dotnet/Rds/Inputs/ReservedInstanceRecurringChargeArgs.cs new file mode 100644 index 00000000000..ba6824139c2 --- /dev/null +++ b/sdk/dotnet/Rds/Inputs/ReservedInstanceRecurringChargeArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Rds.Inputs +{ + + public sealed class ReservedInstanceRecurringChargeArgs : global::Pulumi.ResourceArgs + { + [Input("recurringChargeAmount")] + public Input? RecurringChargeAmount { get; set; } + + [Input("recurringChargeFrequency")] + public Input? RecurringChargeFrequency { get; set; } + + public ReservedInstanceRecurringChargeArgs() + { + } + public static new ReservedInstanceRecurringChargeArgs Empty => new ReservedInstanceRecurringChargeArgs(); + } +} diff --git a/sdk/dotnet/Rds/Inputs/ReservedInstanceRecurringChargeGetArgs.cs b/sdk/dotnet/Rds/Inputs/ReservedInstanceRecurringChargeGetArgs.cs new file mode 100644 index 00000000000..8d9b7d97446 --- /dev/null +++ b/sdk/dotnet/Rds/Inputs/ReservedInstanceRecurringChargeGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Rds.Inputs +{ + + public sealed class ReservedInstanceRecurringChargeGetArgs : global::Pulumi.ResourceArgs + { + [Input("recurringChargeAmount")] + public Input? RecurringChargeAmount { get; set; } + + [Input("recurringChargeFrequency")] + public Input? RecurringChargeFrequency { get; set; } + + public ReservedInstanceRecurringChargeGetArgs() + { + } + public static new ReservedInstanceRecurringChargeGetArgs Empty => new ReservedInstanceRecurringChargeGetArgs(); + } +} diff --git a/sdk/dotnet/Rds/OptionGroup.cs b/sdk/dotnet/Rds/OptionGroup.cs index 0645b1f2cfe..e6a8f274a3a 100644 --- a/sdk/dotnet/Rds/OptionGroup.cs +++ b/sdk/dotnet/Rds/OptionGroup.cs @@ -67,7 +67,7 @@ namespace Pulumi.Aws.Rds /// }); /// ``` /// - /// > **Note**: Any modifications to the `aws.rds.OptionGroup` are set to happen immediately as we default to applying immediately. + /// > **Note:** Any modifications to the `aws.rds.OptionGroup` are set to happen immediately as we default to applying immediately. /// /// > **WARNING:** You can perform a destroy on a `aws.rds.OptionGroup`, as long as it is not associated with any Amazon RDS resource. An option group can be associated with a DB instance, a manual DB snapshot, or an automated DB snapshot. /// diff --git a/sdk/dotnet/Rds/Outputs/ReservedInstanceRecurringCharge.cs b/sdk/dotnet/Rds/Outputs/ReservedInstanceRecurringCharge.cs new file mode 100644 index 00000000000..f68d6f53a22 --- /dev/null +++ b/sdk/dotnet/Rds/Outputs/ReservedInstanceRecurringCharge.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Rds.Outputs +{ + + [OutputType] + public sealed class ReservedInstanceRecurringCharge + { + public readonly int? RecurringChargeAmount; + public readonly string? RecurringChargeFrequency; + + [OutputConstructor] + private ReservedInstanceRecurringCharge( + int? recurringChargeAmount, + + string? recurringChargeFrequency) + { + RecurringChargeAmount = recurringChargeAmount; + RecurringChargeFrequency = recurringChargeFrequency; + } + } +} diff --git a/sdk/dotnet/Rds/ReservedInstance.cs b/sdk/dotnet/Rds/ReservedInstance.cs new file mode 100644 index 00000000000..41c0a991e53 --- /dev/null +++ b/sdk/dotnet/Rds/ReservedInstance.cs @@ -0,0 +1,361 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Rds +{ + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Aws.Rds.GetReservedInstanceOffering.Invoke(new() + /// { + /// DbInstanceClass = "db.t2.micro", + /// Duration = 31536000, + /// MultiAz = false, + /// OfferingType = "All Upfront", + /// ProductDescription = "mysql", + /// }); + /// + /// var example = new Aws.Rds.ReservedInstance("example", new() + /// { + /// OfferingId = test.Apply(getReservedInstanceOfferingResult => getReservedInstanceOfferingResult.OfferingId), + /// ReservationId = "optionalCustomReservationID", + /// InstanceCount = 3, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// RDS DB Instance Reservations can be imported using the `instance_id`, e.g., + /// + /// ```sh + /// $ pulumi import aws:rds/reservedInstance:ReservedInstance reservation_instance CustomReservationID + /// ``` + /// + [AwsResourceType("aws:rds/reservedInstance:ReservedInstance")] + public partial class ReservedInstance : global::Pulumi.CustomResource + { + /// + /// ARN for the reserved DB instance. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// Currency code for the reserved DB instance. + /// + [Output("currencyCode")] + public Output CurrencyCode { get; private set; } = null!; + + [Output("dbInstanceClass")] + public Output DbInstanceClass { get; private set; } = null!; + + /// + /// Duration of the reservation in seconds. + /// + [Output("duration")] + public Output Duration { get; private set; } = null!; + + /// + /// Fixed price charged for this reserved DB instance. + /// + [Output("fixedPrice")] + public Output FixedPrice { get; private set; } = null!; + + /// + /// Number of instances to reserve. Default value is `1`. + /// + [Output("instanceCount")] + public Output InstanceCount { get; private set; } = null!; + + /// + /// Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. + /// + [Output("leaseId")] + public Output LeaseId { get; private set; } = null!; + + /// + /// Whether the reservation applies to Multi-AZ deployments. + /// + [Output("multiAz")] + public Output MultiAz { get; private set; } = null!; + + /// + /// ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `aws.rds.getReservedInstanceOffering` data source. + /// + [Output("offeringId")] + public Output OfferingId { get; private set; } = null!; + + /// + /// Offering type of this reserved DB instance. + /// + [Output("offeringType")] + public Output OfferingType { get; private set; } = null!; + + /// + /// Description of the reserved DB instance. + /// + [Output("productDescription")] + public Output ProductDescription { get; private set; } = null!; + + /// + /// Recurring price charged to run this reserved DB instance. + /// + [Output("recurringCharges")] + public Output> RecurringCharges { get; private set; } = null!; + + [Output("reservationId")] + public Output ReservationId { get; private set; } = null!; + + /// + /// Time the reservation started. + /// + [Output("startTime")] + public Output StartTime { get; private set; } = null!; + + /// + /// State of the reserved DB instance. + /// + [Output("state")] + public Output State { get; private set; } = null!; + + /// + /// Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + /// + /// Hourly price charged for this reserved DB instance. + /// + [Output("usagePrice")] + public Output UsagePrice { get; private set; } = null!; + + + /// + /// Create a ReservedInstance 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 ReservedInstance(string name, ReservedInstanceArgs args, CustomResourceOptions? options = null) + : base("aws:rds/reservedInstance:ReservedInstance", name, args ?? new ReservedInstanceArgs(), MakeResourceOptions(options, "")) + { + } + + private ReservedInstance(string name, Input id, ReservedInstanceState? state = null, CustomResourceOptions? options = null) + : base("aws:rds/reservedInstance:ReservedInstance", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ReservedInstance 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. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static ReservedInstance Get(string name, Input id, ReservedInstanceState? state = null, CustomResourceOptions? options = null) + { + return new ReservedInstance(name, id, state, options); + } + } + + public sealed class ReservedInstanceArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of instances to reserve. Default value is `1`. + /// + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + /// + /// ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `aws.rds.getReservedInstanceOffering` data source. + /// + [Input("offeringId", required: true)] + public Input OfferingId { get; set; } = null!; + + [Input("reservationId")] + public Input? ReservationId { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + public ReservedInstanceArgs() + { + } + public static new ReservedInstanceArgs Empty => new ReservedInstanceArgs(); + } + + public sealed class ReservedInstanceState : global::Pulumi.ResourceArgs + { + /// + /// ARN for the reserved DB instance. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// Currency code for the reserved DB instance. + /// + [Input("currencyCode")] + public Input? CurrencyCode { get; set; } + + [Input("dbInstanceClass")] + public Input? DbInstanceClass { get; set; } + + /// + /// Duration of the reservation in seconds. + /// + [Input("duration")] + public Input? Duration { get; set; } + + /// + /// Fixed price charged for this reserved DB instance. + /// + [Input("fixedPrice")] + public Input? FixedPrice { get; set; } + + /// + /// Number of instances to reserve. Default value is `1`. + /// + [Input("instanceCount")] + public Input? InstanceCount { get; set; } + + /// + /// Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. + /// + [Input("leaseId")] + public Input? LeaseId { get; set; } + + /// + /// Whether the reservation applies to Multi-AZ deployments. + /// + [Input("multiAz")] + public Input? MultiAz { get; set; } + + /// + /// ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `aws.rds.getReservedInstanceOffering` data source. + /// + [Input("offeringId")] + public Input? OfferingId { get; set; } + + /// + /// Offering type of this reserved DB instance. + /// + [Input("offeringType")] + public Input? OfferingType { get; set; } + + /// + /// Description of the reserved DB instance. + /// + [Input("productDescription")] + public Input? ProductDescription { get; set; } + + [Input("recurringCharges")] + private InputList? _recurringCharges; + + /// + /// Recurring price charged to run this reserved DB instance. + /// + public InputList RecurringCharges + { + get => _recurringCharges ?? (_recurringCharges = new InputList()); + set => _recurringCharges = value; + } + + [Input("reservationId")] + public Input? ReservationId { get; set; } + + /// + /// Time the reservation started. + /// + [Input("startTime")] + public Input? StartTime { get; set; } + + /// + /// State of the reserved DB instance. + /// + [Input("state")] + public Input? State { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + /// + /// Hourly price charged for this reserved DB instance. + /// + [Input("usagePrice")] + public Input? UsagePrice { get; set; } + + public ReservedInstanceState() + { + } + public static new ReservedInstanceState Empty => new ReservedInstanceState(); + } +} diff --git a/sdk/dotnet/Route53/GetTrafficPolicyDocument.cs b/sdk/dotnet/Route53/GetTrafficPolicyDocument.cs index a12d4d2a863..cecaf6d8724 100644 --- a/sdk/dotnet/Route53/GetTrafficPolicyDocument.cs +++ b/sdk/dotnet/Route53/GetTrafficPolicyDocument.cs @@ -14,7 +14,6 @@ public static class GetTrafficPolicyDocument /// /// Generates an Route53 traffic policy document in JSON format for use with resources that expect policy documents such as [`aws.route53.TrafficPolicy`](https://www.terraform.io/docs/providers/aws/r/route53_traffic_policy.html). /// - /// /// {{% examples %}} /// ## Example Usage /// {{% example %}} @@ -84,7 +83,6 @@ public static Task InvokeAsync(GetTrafficPolicyD /// /// Generates an Route53 traffic policy document in JSON format for use with resources that expect policy documents such as [`aws.route53.TrafficPolicy`](https://www.terraform.io/docs/providers/aws/r/route53_traffic_policy.html). /// - /// /// {{% examples %}} /// ## Example Usage /// {{% example %}} diff --git a/sdk/dotnet/Route53/GetZone.cs b/sdk/dotnet/Route53/GetZone.cs index befe5fc2832..d8aaa0d2d7e 100644 --- a/sdk/dotnet/Route53/GetZone.cs +++ b/sdk/dotnet/Route53/GetZone.cs @@ -22,7 +22,6 @@ public static class GetZone /// /// The following example shows how to get a Hosted Zone from its name and from this data how to create a Record Set. /// - /// /// ```csharp /// using System.Collections.Generic; /// using Pulumi; @@ -67,7 +66,6 @@ public static Task InvokeAsync(GetZoneArgs? args = null, InvokeOp /// /// The following example shows how to get a Hosted Zone from its name and from this data how to create a Record Set. /// - /// /// ```csharp /// using System.Collections.Generic; /// using Pulumi; diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs.cs new file mode 100644 index 00000000000..bd1a3aa5a90 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether the activity metrics are enabled. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs Empty => new StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsGetArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsGetArgs.cs new file mode 100644 index 00000000000..6b41972fe75 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether the activity metrics are enabled. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsGetArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsGetArgs Empty => new StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsGetArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelArgs.cs new file mode 100644 index 00000000000..1e52d500484 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelArgs : global::Pulumi.ResourceArgs + { + /// + /// S3 Storage Lens activity metrics. See Activity Metrics below for more details. + /// + [Input("activityMetrics")] + public Input? ActivityMetrics { get; set; } + + /// + /// S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. + /// + [Input("bucketLevel", required: true)] + public Input BucketLevel { get; set; } = null!; + + public StorageLensConfigurationStorageLensConfigurationAccountLevelArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationAccountLevelArgs Empty => new StorageLensConfigurationStorageLensConfigurationAccountLevelArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs.cs new file mode 100644 index 00000000000..603a4574cb0 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether the activity metrics are enabled. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs Empty => new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsGetArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsGetArgs.cs new file mode 100644 index 00000000000..71e256eb2b5 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether the activity metrics are enabled. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsGetArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsGetArgs Empty => new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsGetArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs.cs new file mode 100644 index 00000000000..4e712c6077f --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs : global::Pulumi.ResourceArgs + { + /// + /// S3 Storage Lens activity metrics. See Activity Metrics above for more details. + /// + [Input("activityMetrics")] + public Input? ActivityMetrics { get; set; } + + /// + /// Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. + /// + [Input("prefixLevel")] + public Input? PrefixLevel { get; set; } + + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs Empty => new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelGetArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelGetArgs.cs new file mode 100644 index 00000000000..3a92169f8ab --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelGetArgs : global::Pulumi.ResourceArgs + { + /// + /// S3 Storage Lens activity metrics. See Activity Metrics above for more details. + /// + [Input("activityMetrics")] + public Input? ActivityMetrics { get; set; } + + /// + /// Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. + /// + [Input("prefixLevel")] + public Input? PrefixLevel { get; set; } + + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelGetArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelGetArgs Empty => new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelGetArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs.cs new file mode 100644 index 00000000000..6fe44b8312d --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs : global::Pulumi.ResourceArgs + { + /// + /// Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. + /// + [Input("storageMetrics", required: true)] + public Input StorageMetrics { get; set; } = null!; + + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs Empty => new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelGetArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelGetArgs.cs new file mode 100644 index 00000000000..322560d111c --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. + /// + [Input("storageMetrics", required: true)] + public Input StorageMetrics { get; set; } = null!; + + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelGetArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelGetArgs Empty => new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelGetArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs.cs new file mode 100644 index 00000000000..fe75d3efc5b --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether prefix-level storage metrics are enabled. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// Selection criteria. See Selection Criteria below for more details. + /// + [Input("selectionCriteria")] + public Input? SelectionCriteria { get; set; } + + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs Empty => new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsGetArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsGetArgs.cs new file mode 100644 index 00000000000..0d8b3d2e3bc --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether prefix-level storage metrics are enabled. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// Selection criteria. See Selection Criteria below for more details. + /// + [Input("selectionCriteria")] + public Input? SelectionCriteria { get; set; } + + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsGetArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsGetArgs Empty => new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsGetArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs.cs new file mode 100644 index 00000000000..3aecdf92925 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs : global::Pulumi.ResourceArgs + { + /// + /// The delimiter of the selection criteria being used. + /// + [Input("delimiter")] + public Input? Delimiter { get; set; } + + /// + /// The max depth of the selection criteria. + /// + [Input("maxDepth")] + public Input? MaxDepth { get; set; } + + /// + /// The minimum number of storage bytes percentage whose metrics will be selected. + /// + [Input("minStorageBytesPercentage")] + public Input? MinStorageBytesPercentage { get; set; } + + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs Empty => new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaGetArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaGetArgs.cs new file mode 100644 index 00000000000..c61847c822e --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The delimiter of the selection criteria being used. + /// + [Input("delimiter")] + public Input? Delimiter { get; set; } + + /// + /// The max depth of the selection criteria. + /// + [Input("maxDepth")] + public Input? MaxDepth { get; set; } + + /// + /// The minimum number of storage bytes percentage whose metrics will be selected. + /// + [Input("minStorageBytesPercentage")] + public Input? MinStorageBytesPercentage { get; set; } + + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaGetArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaGetArgs Empty => new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaGetArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelGetArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelGetArgs.cs new file mode 100644 index 00000000000..f51f5709fb3 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelGetArgs : global::Pulumi.ResourceArgs + { + /// + /// S3 Storage Lens activity metrics. See Activity Metrics below for more details. + /// + [Input("activityMetrics")] + public Input? ActivityMetrics { get; set; } + + /// + /// S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. + /// + [Input("bucketLevel", required: true)] + public Input BucketLevel { get; set; } = null!; + + public StorageLensConfigurationStorageLensConfigurationAccountLevelGetArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationAccountLevelGetArgs Empty => new StorageLensConfigurationStorageLensConfigurationAccountLevelGetArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationArgs.cs new file mode 100644 index 00000000000..507dce85dde --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. + /// + [Input("accountLevel", required: true)] + public Input AccountLevel { get; set; } = null!; + + /// + /// The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. + /// + [Input("awsOrg")] + public Input? AwsOrg { get; set; } + + /// + /// Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. + /// + [Input("dataExport")] + public Input? DataExport { get; set; } + + /// + /// Whether the S3 Storage Lens configuration is enabled. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + /// + /// What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. + /// + [Input("exclude")] + public Input? Exclude { get; set; } + + /// + /// What is included in this configuration. Conflicts with `exclude`. See Include below for more details. + /// + [Input("include")] + public Input? Include { get; set; } + + public StorageLensConfigurationStorageLensConfigurationArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationArgs Empty => new StorageLensConfigurationStorageLensConfigurationArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAwsOrgArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAwsOrgArgs.cs new file mode 100644 index 00000000000..6e6e3816340 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAwsOrgArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationAwsOrgArgs : global::Pulumi.ResourceArgs + { + /// + /// The Amazon Resource Name (ARN) of the Amazon Web Services organization. + /// + [Input("arn", required: true)] + public Input Arn { get; set; } = null!; + + public StorageLensConfigurationStorageLensConfigurationAwsOrgArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationAwsOrgArgs Empty => new StorageLensConfigurationStorageLensConfigurationAwsOrgArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAwsOrgGetArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAwsOrgGetArgs.cs new file mode 100644 index 00000000000..86076967ef7 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationAwsOrgGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationAwsOrgGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The Amazon Resource Name (ARN) of the Amazon Web Services organization. + /// + [Input("arn", required: true)] + public Input Arn { get; set; } = null!; + + public StorageLensConfigurationStorageLensConfigurationAwsOrgGetArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationAwsOrgGetArgs Empty => new StorageLensConfigurationStorageLensConfigurationAwsOrgGetArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportArgs.cs new file mode 100644 index 00000000000..1bcbaa0301f --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationDataExportArgs : global::Pulumi.ResourceArgs + { + /// + /// Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. + /// + [Input("cloudWatchMetrics")] + public Input? CloudWatchMetrics { get; set; } + + /// + /// The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. + /// + [Input("s3BucketDestination")] + public Input? S3BucketDestination { get; set; } + + public StorageLensConfigurationStorageLensConfigurationDataExportArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationDataExportArgs Empty => new StorageLensConfigurationStorageLensConfigurationDataExportArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs.cs new file mode 100644 index 00000000000..a876e6d2fed --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + public StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs Empty => new StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsGetArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsGetArgs.cs new file mode 100644 index 00000000000..fdbfa5eecfd --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + public StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsGetArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsGetArgs Empty => new StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsGetArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportGetArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportGetArgs.cs new file mode 100644 index 00000000000..6cb62fa3e9d --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationDataExportGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. + /// + [Input("cloudWatchMetrics")] + public Input? CloudWatchMetrics { get; set; } + + /// + /// The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. + /// + [Input("s3BucketDestination")] + public Input? S3BucketDestination { get; set; } + + public StorageLensConfigurationStorageLensConfigurationDataExportGetArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationDataExportGetArgs Empty => new StorageLensConfigurationStorageLensConfigurationDataExportGetArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs.cs new file mode 100644 index 00000000000..3288dff1b62 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs : global::Pulumi.ResourceArgs + { + /// + /// The account ID of the owner of the S3 Storage Lens metrics export bucket. + /// + [Input("accountId", required: true)] + public Input AccountId { get; set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the bucket. + /// + [Input("arn", required: true)] + public Input Arn { get; set; } = null!; + + /// + /// Encryption of the metrics exports in this bucket. See Encryption below for more details. + /// + [Input("encryption")] + public Input? Encryption { get; set; } + + /// + /// The export format. Valid values: `CSV`, `Parquet`. + /// + [Input("format", required: true)] + public Input Format { get; set; } = null!; + + /// + /// The schema version of the export file. Valid values: `V_1`. + /// + [Input("outputSchemaVersion", required: true)] + public Input OutputSchemaVersion { get; set; } = null!; + + /// + /// The prefix of the destination bucket where the metrics export will be delivered. + /// + [Input("prefix")] + public Input? Prefix { get; set; } + + public StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs Empty => new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs.cs new file mode 100644 index 00000000000..c1fce9360c0 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs : global::Pulumi.ResourceArgs + { + /// + /// SSE-KMS encryption. See SSE KMS below for more details. + /// + [Input("sseKms")] + public Input? SseKms { get; set; } + + [Input("sseS3s")] + private InputList? _sseS3s; + + /// + /// SSE-S3 encryption. An empty configuration block `{}` should be used. + /// + public InputList SseS3s + { + get => _sseS3s ?? (_sseS3s = new InputList()); + set => _sseS3s = value; + } + + public StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs Empty => new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionGetArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionGetArgs.cs new file mode 100644 index 00000000000..de04ea13503 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// SSE-KMS encryption. See SSE KMS below for more details. + /// + [Input("sseKms")] + public Input? SseKms { get; set; } + + [Input("sseS3s")] + private InputList? _sseS3s; + + /// + /// SSE-S3 encryption. An empty configuration block `{}` should be used. + /// + public InputList SseS3s + { + get => _sseS3s ?? (_sseS3s = new InputList()); + set => _sseS3s = value; + } + + public StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionGetArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionGetArgs Empty => new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionGetArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs.cs new file mode 100644 index 00000000000..ab6d7f82f41 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs : global::Pulumi.ResourceArgs + { + /// + /// KMS key ARN. + /// + [Input("keyId", required: true)] + public Input KeyId { get; set; } = null!; + + public StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs Empty => new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsGetArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsGetArgs.cs new file mode 100644 index 00000000000..3c1ab31d85f --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// KMS key ARN. + /// + [Input("keyId", required: true)] + public Input KeyId { get; set; } = null!; + + public StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsGetArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsGetArgs Empty => new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsGetArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args.cs new file mode 100644 index 00000000000..2787e294378 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args.cs @@ -0,0 +1,20 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args : global::Pulumi.ResourceArgs + { + public StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args() + { + } + public static new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args Empty => new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3GetArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3GetArgs.cs new file mode 100644 index 00000000000..566181279d0 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3GetArgs.cs @@ -0,0 +1,20 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3GetArgs : global::Pulumi.ResourceArgs + { + public StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3GetArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3GetArgs Empty => new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3GetArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationGetArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationGetArgs.cs new file mode 100644 index 00000000000..147fa3de129 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationGetArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The account ID of the owner of the S3 Storage Lens metrics export bucket. + /// + [Input("accountId", required: true)] + public Input AccountId { get; set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the bucket. + /// + [Input("arn", required: true)] + public Input Arn { get; set; } = null!; + + /// + /// Encryption of the metrics exports in this bucket. See Encryption below for more details. + /// + [Input("encryption")] + public Input? Encryption { get; set; } + + /// + /// The export format. Valid values: `CSV`, `Parquet`. + /// + [Input("format", required: true)] + public Input Format { get; set; } = null!; + + /// + /// The schema version of the export file. Valid values: `V_1`. + /// + [Input("outputSchemaVersion", required: true)] + public Input OutputSchemaVersion { get; set; } = null!; + + /// + /// The prefix of the destination bucket where the metrics export will be delivered. + /// + [Input("prefix")] + public Input? Prefix { get; set; } + + public StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationGetArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationGetArgs Empty => new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationGetArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationExcludeArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationExcludeArgs.cs new file mode 100644 index 00000000000..329b3c29e3b --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationExcludeArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationExcludeArgs : global::Pulumi.ResourceArgs + { + [Input("buckets")] + private InputList? _buckets; + + /// + /// List of S3 bucket ARNs. + /// + public InputList Buckets + { + get => _buckets ?? (_buckets = new InputList()); + set => _buckets = value; + } + + [Input("regions")] + private InputList? _regions; + + /// + /// List of AWS Regions. + /// + public InputList Regions + { + get => _regions ?? (_regions = new InputList()); + set => _regions = value; + } + + public StorageLensConfigurationStorageLensConfigurationExcludeArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationExcludeArgs Empty => new StorageLensConfigurationStorageLensConfigurationExcludeArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationExcludeGetArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationExcludeGetArgs.cs new file mode 100644 index 00000000000..2c0651200af --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationExcludeGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationExcludeGetArgs : global::Pulumi.ResourceArgs + { + [Input("buckets")] + private InputList? _buckets; + + /// + /// List of S3 bucket ARNs. + /// + public InputList Buckets + { + get => _buckets ?? (_buckets = new InputList()); + set => _buckets = value; + } + + [Input("regions")] + private InputList? _regions; + + /// + /// List of AWS Regions. + /// + public InputList Regions + { + get => _regions ?? (_regions = new InputList()); + set => _regions = value; + } + + public StorageLensConfigurationStorageLensConfigurationExcludeGetArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationExcludeGetArgs Empty => new StorageLensConfigurationStorageLensConfigurationExcludeGetArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationGetArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationGetArgs.cs new file mode 100644 index 00000000000..30209e28b88 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationGetArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. + /// + [Input("accountLevel", required: true)] + public Input AccountLevel { get; set; } = null!; + + /// + /// The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. + /// + [Input("awsOrg")] + public Input? AwsOrg { get; set; } + + /// + /// Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. + /// + [Input("dataExport")] + public Input? DataExport { get; set; } + + /// + /// Whether the S3 Storage Lens configuration is enabled. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + /// + /// What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. + /// + [Input("exclude")] + public Input? Exclude { get; set; } + + /// + /// What is included in this configuration. Conflicts with `exclude`. See Include below for more details. + /// + [Input("include")] + public Input? Include { get; set; } + + public StorageLensConfigurationStorageLensConfigurationGetArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationGetArgs Empty => new StorageLensConfigurationStorageLensConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationIncludeArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationIncludeArgs.cs new file mode 100644 index 00000000000..edeae31e784 --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationIncludeArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationIncludeArgs : global::Pulumi.ResourceArgs + { + [Input("buckets")] + private InputList? _buckets; + + /// + /// List of S3 bucket ARNs. + /// + public InputList Buckets + { + get => _buckets ?? (_buckets = new InputList()); + set => _buckets = value; + } + + [Input("regions")] + private InputList? _regions; + + /// + /// List of AWS Regions. + /// + public InputList Regions + { + get => _regions ?? (_regions = new InputList()); + set => _regions = value; + } + + public StorageLensConfigurationStorageLensConfigurationIncludeArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationIncludeArgs Empty => new StorageLensConfigurationStorageLensConfigurationIncludeArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationIncludeGetArgs.cs b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationIncludeGetArgs.cs new file mode 100644 index 00000000000..eee2e4f48dc --- /dev/null +++ b/sdk/dotnet/S3Control/Inputs/StorageLensConfigurationStorageLensConfigurationIncludeGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Inputs +{ + + public sealed class StorageLensConfigurationStorageLensConfigurationIncludeGetArgs : global::Pulumi.ResourceArgs + { + [Input("buckets")] + private InputList? _buckets; + + /// + /// List of S3 bucket ARNs. + /// + public InputList Buckets + { + get => _buckets ?? (_buckets = new InputList()); + set => _buckets = value; + } + + [Input("regions")] + private InputList? _regions; + + /// + /// List of AWS Regions. + /// + public InputList Regions + { + get => _regions ?? (_regions = new InputList()); + set => _regions = value; + } + + public StorageLensConfigurationStorageLensConfigurationIncludeGetArgs() + { + } + public static new StorageLensConfigurationStorageLensConfigurationIncludeGetArgs Empty => new StorageLensConfigurationStorageLensConfigurationIncludeGetArgs(); + } +} diff --git a/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfiguration.cs b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfiguration.cs new file mode 100644 index 00000000000..ad1ac7b8265 --- /dev/null +++ b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfiguration.cs @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Outputs +{ + + [OutputType] + public sealed class StorageLensConfigurationStorageLensConfiguration + { + /// + /// The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. + /// + public readonly Outputs.StorageLensConfigurationStorageLensConfigurationAccountLevel AccountLevel; + /// + /// The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. + /// + public readonly Outputs.StorageLensConfigurationStorageLensConfigurationAwsOrg? AwsOrg; + /// + /// Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. + /// + public readonly Outputs.StorageLensConfigurationStorageLensConfigurationDataExport? DataExport; + /// + /// Whether the S3 Storage Lens configuration is enabled. + /// + public readonly bool Enabled; + /// + /// What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. + /// + public readonly Outputs.StorageLensConfigurationStorageLensConfigurationExclude? Exclude; + /// + /// What is included in this configuration. Conflicts with `exclude`. See Include below for more details. + /// + public readonly Outputs.StorageLensConfigurationStorageLensConfigurationInclude? Include; + + [OutputConstructor] + private StorageLensConfigurationStorageLensConfiguration( + Outputs.StorageLensConfigurationStorageLensConfigurationAccountLevel accountLevel, + + Outputs.StorageLensConfigurationStorageLensConfigurationAwsOrg? awsOrg, + + Outputs.StorageLensConfigurationStorageLensConfigurationDataExport? dataExport, + + bool enabled, + + Outputs.StorageLensConfigurationStorageLensConfigurationExclude? exclude, + + Outputs.StorageLensConfigurationStorageLensConfigurationInclude? include) + { + AccountLevel = accountLevel; + AwsOrg = awsOrg; + DataExport = dataExport; + Enabled = enabled; + Exclude = exclude; + Include = include; + } + } +} diff --git a/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevel.cs b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevel.cs new file mode 100644 index 00000000000..212f6b006f5 --- /dev/null +++ b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevel.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Outputs +{ + + [OutputType] + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevel + { + /// + /// S3 Storage Lens activity metrics. See Activity Metrics below for more details. + /// + public readonly Outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics? ActivityMetrics; + /// + /// S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. + /// + public readonly Outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel BucketLevel; + + [OutputConstructor] + private StorageLensConfigurationStorageLensConfigurationAccountLevel( + Outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics? activityMetrics, + + Outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel bucketLevel) + { + ActivityMetrics = activityMetrics; + BucketLevel = bucketLevel; + } + } +} diff --git a/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics.cs b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics.cs new file mode 100644 index 00000000000..02d61e639b3 --- /dev/null +++ b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Outputs +{ + + [OutputType] + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics + { + /// + /// Whether the activity metrics are enabled. + /// + public readonly bool? Enabled; + + [OutputConstructor] + private StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics(bool? enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel.cs b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel.cs new file mode 100644 index 00000000000..fb5f9a1bc0d --- /dev/null +++ b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Outputs +{ + + [OutputType] + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel + { + /// + /// S3 Storage Lens activity metrics. See Activity Metrics above for more details. + /// + public readonly Outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics? ActivityMetrics; + /// + /// Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. + /// + public readonly Outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel? PrefixLevel; + + [OutputConstructor] + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel( + Outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics? activityMetrics, + + Outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel? prefixLevel) + { + ActivityMetrics = activityMetrics; + PrefixLevel = prefixLevel; + } + } +} diff --git a/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics.cs b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics.cs new file mode 100644 index 00000000000..7899eceaada --- /dev/null +++ b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Outputs +{ + + [OutputType] + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics + { + /// + /// Whether the activity metrics are enabled. + /// + public readonly bool? Enabled; + + [OutputConstructor] + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics(bool? enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel.cs b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel.cs new file mode 100644 index 00000000000..72089d9a70c --- /dev/null +++ b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Outputs +{ + + [OutputType] + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel + { + /// + /// Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. + /// + public readonly Outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics StorageMetrics; + + [OutputConstructor] + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel(Outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics storageMetrics) + { + StorageMetrics = storageMetrics; + } + } +} diff --git a/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics.cs b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics.cs new file mode 100644 index 00000000000..4d6b2deab10 --- /dev/null +++ b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Outputs +{ + + [OutputType] + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics + { + /// + /// Whether prefix-level storage metrics are enabled. + /// + public readonly bool? Enabled; + /// + /// Selection criteria. See Selection Criteria below for more details. + /// + public readonly Outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria? SelectionCriteria; + + [OutputConstructor] + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics( + bool? enabled, + + Outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria? selectionCriteria) + { + Enabled = enabled; + SelectionCriteria = selectionCriteria; + } + } +} diff --git a/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria.cs b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria.cs new file mode 100644 index 00000000000..ce1c0e8ecd3 --- /dev/null +++ b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Outputs +{ + + [OutputType] + public sealed class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria + { + /// + /// The delimiter of the selection criteria being used. + /// + public readonly string? Delimiter; + /// + /// The max depth of the selection criteria. + /// + public readonly int? MaxDepth; + /// + /// The minimum number of storage bytes percentage whose metrics will be selected. + /// + public readonly double? MinStorageBytesPercentage; + + [OutputConstructor] + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria( + string? delimiter, + + int? maxDepth, + + double? minStorageBytesPercentage) + { + Delimiter = delimiter; + MaxDepth = maxDepth; + MinStorageBytesPercentage = minStorageBytesPercentage; + } + } +} diff --git a/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAwsOrg.cs b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAwsOrg.cs new file mode 100644 index 00000000000..4c8fb3aa132 --- /dev/null +++ b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationAwsOrg.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Outputs +{ + + [OutputType] + public sealed class StorageLensConfigurationStorageLensConfigurationAwsOrg + { + /// + /// The Amazon Resource Name (ARN) of the Amazon Web Services organization. + /// + public readonly string Arn; + + [OutputConstructor] + private StorageLensConfigurationStorageLensConfigurationAwsOrg(string arn) + { + Arn = arn; + } + } +} diff --git a/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExport.cs b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExport.cs new file mode 100644 index 00000000000..a33362de226 --- /dev/null +++ b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExport.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Outputs +{ + + [OutputType] + public sealed class StorageLensConfigurationStorageLensConfigurationDataExport + { + /// + /// Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. + /// + public readonly Outputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics? CloudWatchMetrics; + /// + /// The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. + /// + public readonly Outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination? S3BucketDestination; + + [OutputConstructor] + private StorageLensConfigurationStorageLensConfigurationDataExport( + Outputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics? cloudWatchMetrics, + + Outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination? s3BucketDestination) + { + CloudWatchMetrics = cloudWatchMetrics; + S3BucketDestination = s3BucketDestination; + } + } +} diff --git a/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics.cs b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics.cs new file mode 100644 index 00000000000..9d18ff0ec4c --- /dev/null +++ b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Outputs +{ + + [OutputType] + public sealed class StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics + { + /// + /// Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. + /// + public readonly bool Enabled; + + [OutputConstructor] + private StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics(bool enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination.cs b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination.cs new file mode 100644 index 00000000000..76d8cae3c88 --- /dev/null +++ b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination.cs @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Outputs +{ + + [OutputType] + public sealed class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination + { + /// + /// The account ID of the owner of the S3 Storage Lens metrics export bucket. + /// + public readonly string AccountId; + /// + /// The Amazon Resource Name (ARN) of the bucket. + /// + public readonly string Arn; + /// + /// Encryption of the metrics exports in this bucket. See Encryption below for more details. + /// + public readonly Outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption? Encryption; + /// + /// The export format. Valid values: `CSV`, `Parquet`. + /// + public readonly string Format; + /// + /// The schema version of the export file. Valid values: `V_1`. + /// + public readonly string OutputSchemaVersion; + /// + /// The prefix of the destination bucket where the metrics export will be delivered. + /// + public readonly string? Prefix; + + [OutputConstructor] + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination( + string accountId, + + string arn, + + Outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption? encryption, + + string format, + + string outputSchemaVersion, + + string? prefix) + { + AccountId = accountId; + Arn = arn; + Encryption = encryption; + Format = format; + OutputSchemaVersion = outputSchemaVersion; + Prefix = prefix; + } + } +} diff --git a/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption.cs b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption.cs new file mode 100644 index 00000000000..a391c76db18 --- /dev/null +++ b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Outputs +{ + + [OutputType] + public sealed class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption + { + /// + /// SSE-KMS encryption. See SSE KMS below for more details. + /// + public readonly Outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms? SseKms; + /// + /// SSE-S3 encryption. An empty configuration block `{}` should be used. + /// + public readonly ImmutableArray SseS3s; + + [OutputConstructor] + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption( + Outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms? sseKms, + + ImmutableArray sseS3s) + { + SseKms = sseKms; + SseS3s = sseS3s; + } + } +} diff --git a/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms.cs b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms.cs new file mode 100644 index 00000000000..b3bc0d59b95 --- /dev/null +++ b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Outputs +{ + + [OutputType] + public sealed class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms + { + /// + /// KMS key ARN. + /// + public readonly string KeyId; + + [OutputConstructor] + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms(string keyId) + { + KeyId = keyId; + } + } +} diff --git a/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3.cs b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3.cs new file mode 100644 index 00000000000..eb5c5e00fbc --- /dev/null +++ b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3.cs @@ -0,0 +1,21 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Outputs +{ + + [OutputType] + public sealed class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3 + { + [OutputConstructor] + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3() + { + } + } +} diff --git a/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationExclude.cs b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationExclude.cs new file mode 100644 index 00000000000..2e910dcf8e3 --- /dev/null +++ b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationExclude.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Outputs +{ + + [OutputType] + public sealed class StorageLensConfigurationStorageLensConfigurationExclude + { + /// + /// List of S3 bucket ARNs. + /// + public readonly ImmutableArray Buckets; + /// + /// List of AWS Regions. + /// + public readonly ImmutableArray Regions; + + [OutputConstructor] + private StorageLensConfigurationStorageLensConfigurationExclude( + ImmutableArray buckets, + + ImmutableArray regions) + { + Buckets = buckets; + Regions = regions; + } + } +} diff --git a/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationInclude.cs b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationInclude.cs new file mode 100644 index 00000000000..8c08d873386 --- /dev/null +++ b/sdk/dotnet/S3Control/Outputs/StorageLensConfigurationStorageLensConfigurationInclude.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control.Outputs +{ + + [OutputType] + public sealed class StorageLensConfigurationStorageLensConfigurationInclude + { + /// + /// List of S3 bucket ARNs. + /// + public readonly ImmutableArray Buckets; + /// + /// List of AWS Regions. + /// + public readonly ImmutableArray Regions; + + [OutputConstructor] + private StorageLensConfigurationStorageLensConfigurationInclude( + ImmutableArray buckets, + + ImmutableArray regions) + { + Buckets = buckets; + Regions = regions; + } + } +} diff --git a/sdk/dotnet/S3Control/StorageLensConfiguration.cs b/sdk/dotnet/S3Control/StorageLensConfiguration.cs new file mode 100644 index 00000000000..d58ca4fec0a --- /dev/null +++ b/sdk/dotnet/S3Control/StorageLensConfiguration.cs @@ -0,0 +1,259 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.S3Control +{ + /// + /// Provides a resource to manage an S3 Storage Lens configuration. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var current = Aws.GetCallerIdentity.Invoke(); + /// + /// var example = new Aws.S3Control.StorageLensConfiguration("example", new() + /// { + /// ConfigId = "example-1", + /// StorageLensConfigurationDetail = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationArgs + /// { + /// Enabled = true, + /// AccountLevel = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs + /// { + /// ActivityMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs + /// { + /// Enabled = true, + /// }, + /// BucketLevel = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs + /// { + /// ActivityMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs + /// { + /// Enabled = true, + /// }, + /// }, + /// }, + /// DataExport = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportArgs + /// { + /// CloudWatchMetrics = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs + /// { + /// Enabled = true, + /// }, + /// S3BucketDestination = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs + /// { + /// AccountId = current.Apply(getCallerIdentityResult => getCallerIdentityResult.AccountId), + /// Arn = aws_s3_bucket.Target.Arn, + /// Format = "CSV", + /// OutputSchemaVersion = "V_1", + /// Encryption = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs + /// { + /// SseS3s = new[] + /// { + /// , + /// }, + /// }, + /// }, + /// }, + /// Exclude = new Aws.S3Control.Inputs.StorageLensConfigurationStorageLensConfigurationExcludeArgs + /// { + /// Buckets = new[] + /// { + /// aws_s3_bucket.B1.Arn, + /// aws_s3_bucket.B2.Arn, + /// }, + /// Regions = new[] + /// { + /// "us-east-2", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// S3 Storage Lens configurations can be imported using the `account_id` and `config_id`, separated by a colon (`:`), e.g. + /// + /// ```sh + /// $ pulumi import aws:s3control/storageLensConfiguration:StorageLensConfiguration example 123456789012:example-1 + /// ``` + /// + [AwsResourceType("aws:s3control/storageLensConfiguration:StorageLensConfiguration")] + public partial class StorageLensConfiguration : global::Pulumi.CustomResource + { + /// + /// The account ID of the owner of the S3 Storage Lens metrics export bucket. + /// + [Output("accountId")] + public Output AccountId { get; private set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the bucket. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The ID of the S3 Storage Lens configuration. + /// + [Output("configId")] + public Output ConfigId { get; private set; } = null!; + + /// + /// The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + /// + [Output("storageLensConfiguration")] + public Output StorageLensConfigurationDetail { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + + /// + /// Create a StorageLensConfiguration 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 StorageLensConfiguration(string name, StorageLensConfigurationArgs args, CustomResourceOptions? options = null) + : base("aws:s3control/storageLensConfiguration:StorageLensConfiguration", name, args ?? new StorageLensConfigurationArgs(), MakeResourceOptions(options, "")) + { + } + + private StorageLensConfiguration(string name, Input id, StorageLensConfigurationState? state = null, CustomResourceOptions? options = null) + : base("aws:s3control/storageLensConfiguration:StorageLensConfiguration", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing StorageLensConfiguration 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. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static StorageLensConfiguration Get(string name, Input id, StorageLensConfigurationState? state = null, CustomResourceOptions? options = null) + { + return new StorageLensConfiguration(name, id, state, options); + } + } + + public sealed class StorageLensConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The account ID of the owner of the S3 Storage Lens metrics export bucket. + /// + [Input("accountId")] + public Input? AccountId { get; set; } + + /// + /// The ID of the S3 Storage Lens configuration. + /// + [Input("configId", required: true)] + public Input ConfigId { get; set; } = null!; + + /// + /// The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + /// + [Input("storageLensConfiguration", required: true)] + public Input StorageLensConfigurationDetail { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + public StorageLensConfigurationArgs() + { + } + public static new StorageLensConfigurationArgs Empty => new StorageLensConfigurationArgs(); + } + + public sealed class StorageLensConfigurationState : global::Pulumi.ResourceArgs + { + /// + /// The account ID of the owner of the S3 Storage Lens metrics export bucket. + /// + [Input("accountId")] + public Input? AccountId { get; set; } + + /// + /// The Amazon Resource Name (ARN) of the bucket. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The ID of the S3 Storage Lens configuration. + /// + [Input("configId")] + public Input? ConfigId { get; set; } + + /// + /// The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + /// + [Input("storageLensConfiguration")] + public Input? StorageLensConfigurationDetail { get; set; } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + public StorageLensConfigurationState() + { + } + public static new StorageLensConfigurationState Empty => new StorageLensConfigurationState(); + } +} diff --git a/sdk/dotnet/ServiceCatalog/Product.cs b/sdk/dotnet/ServiceCatalog/Product.cs index 2d8dc73393e..0b71fcda69f 100644 --- a/sdk/dotnet/ServiceCatalog/Product.cs +++ b/sdk/dotnet/ServiceCatalog/Product.cs @@ -17,6 +17,31 @@ namespace Pulumi.Aws.ServiceCatalog /// > A "provisioning artifact" is also referred to as a "version." A "distributor" is also referred to as a "vendor." /// /// ## Example Usage + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.ServiceCatalog.Product("example", new() + /// { + /// Owner = "example-owner", + /// ProvisioningArtifactParameters = new Aws.ServiceCatalog.Inputs.ProductProvisioningArtifactParametersArgs + /// { + /// TemplateUrl = "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json", + /// }, + /// Tags = + /// { + /// { "foo", "bar" }, + /// }, + /// Type = "CLOUD_FORMATION_TEMPLATE", + /// }); + /// + /// }); + /// ``` /// /// ## Import /// diff --git a/sdk/dotnet/Ses/DomainDkim.cs b/sdk/dotnet/Ses/DomainDkim.cs index 74cb1515f6a..3b42f12ce09 100644 --- a/sdk/dotnet/Ses/DomainDkim.cs +++ b/sdk/dotnet/Ses/DomainDkim.cs @@ -40,12 +40,12 @@ namespace Pulumi.Aws.Ses /// exampleAmazonsesDkimRecord.Add(new Aws.Route53.Record($"exampleAmazonsesDkimRecord-{range.Value}", new() /// { /// ZoneId = "ABCDEFGHIJ123", - /// Name = exampleDomainDkim.DkimTokens[range.Value].Apply(dkimTokens => $"{dkimTokens}._domainkey"), + /// Name = exampleDomainDkim.DkimTokens.Apply(dkimTokens => $"{dkimTokens[range.Value]}._domainkey"), /// Type = "CNAME", /// Ttl = 600, /// Records = new[] /// { - /// exampleDomainDkim.DkimTokens[range.Value].Apply(dkimTokens => $"{dkimTokens}.dkim.amazonses.com"), + /// exampleDomainDkim.DkimTokens.Apply(dkimTokens => $"{dkimTokens[range.Value]}.dkim.amazonses.com"), /// }, /// })); /// } diff --git a/sdk/dotnet/SesV2/ConfigurationSet.cs b/sdk/dotnet/SesV2/ConfigurationSet.cs new file mode 100644 index 00000000000..2556896dc7e --- /dev/null +++ b/sdk/dotnet/SesV2/ConfigurationSet.cs @@ -0,0 +1,243 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.SesV2 +{ + /// + /// ## Example Usage + /// + /// ## Import + /// + /// SESv2 (Simple Email V2) Configuration Set can be imported using the `configuration_set_name`, e.g., + /// + /// ```sh + /// $ pulumi import aws:sesv2/configurationSet:ConfigurationSet example example + /// ``` + /// + [AwsResourceType("aws:sesv2/configurationSet:ConfigurationSet")] + public partial class ConfigurationSet : global::Pulumi.CustomResource + { + /// + /// ARN of the Configuration Set. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The name of the configuration set. + /// + [Output("configurationSetName")] + public Output ConfigurationSetName { get; private set; } = null!; + + /// + /// An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + /// + [Output("deliveryOptions")] + public Output DeliveryOptions { get; private set; } = null!; + + /// + /// An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + /// + [Output("reputationOptions")] + public Output ReputationOptions { get; private set; } = null!; + + /// + /// An object that defines whether or not Amazon SES can send email that you send using the configuration set. + /// + [Output("sendingOptions")] + public Output SendingOptions { get; private set; } = null!; + + /// + /// An object that contains information about the suppression list preferences for your account. + /// + [Output("suppressionOptions")] + public Output SuppressionOptions { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + /// + /// An object that defines the open and click tracking options for emails that you send using the configuration set. + /// + [Output("trackingOptions")] + public Output TrackingOptions { get; private set; } = null!; + + + /// + /// Create a ConfigurationSet 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 ConfigurationSet(string name, ConfigurationSetArgs args, CustomResourceOptions? options = null) + : base("aws:sesv2/configurationSet:ConfigurationSet", name, args ?? new ConfigurationSetArgs(), MakeResourceOptions(options, "")) + { + } + + private ConfigurationSet(string name, Input id, ConfigurationSetState? state = null, CustomResourceOptions? options = null) + : base("aws:sesv2/configurationSet:ConfigurationSet", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ConfigurationSet 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. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static ConfigurationSet Get(string name, Input id, ConfigurationSetState? state = null, CustomResourceOptions? options = null) + { + return new ConfigurationSet(name, id, state, options); + } + } + + public sealed class ConfigurationSetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the configuration set. + /// + [Input("configurationSetName", required: true)] + public Input ConfigurationSetName { get; set; } = null!; + + /// + /// An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + /// + [Input("deliveryOptions")] + public Input? DeliveryOptions { get; set; } + + /// + /// An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + /// + [Input("reputationOptions")] + public Input? ReputationOptions { get; set; } + + /// + /// An object that defines whether or not Amazon SES can send email that you send using the configuration set. + /// + [Input("sendingOptions")] + public Input? SendingOptions { get; set; } + + /// + /// An object that contains information about the suppression list preferences for your account. + /// + [Input("suppressionOptions")] + public Input? SuppressionOptions { get; set; } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + /// + /// An object that defines the open and click tracking options for emails that you send using the configuration set. + /// + [Input("trackingOptions")] + public Input? TrackingOptions { get; set; } + + public ConfigurationSetArgs() + { + } + public static new ConfigurationSetArgs Empty => new ConfigurationSetArgs(); + } + + public sealed class ConfigurationSetState : global::Pulumi.ResourceArgs + { + /// + /// ARN of the Configuration Set. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The name of the configuration set. + /// + [Input("configurationSetName")] + public Input? ConfigurationSetName { get; set; } + + /// + /// An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + /// + [Input("deliveryOptions")] + public Input? DeliveryOptions { get; set; } + + /// + /// An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + /// + [Input("reputationOptions")] + public Input? ReputationOptions { get; set; } + + /// + /// An object that defines whether or not Amazon SES can send email that you send using the configuration set. + /// + [Input("sendingOptions")] + public Input? SendingOptions { get; set; } + + /// + /// An object that contains information about the suppression list preferences for your account. + /// + [Input("suppressionOptions")] + public Input? SuppressionOptions { get; set; } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + /// + /// An object that defines the open and click tracking options for emails that you send using the configuration set. + /// + [Input("trackingOptions")] + public Input? TrackingOptions { get; set; } + + public ConfigurationSetState() + { + } + public static new ConfigurationSetState Empty => new ConfigurationSetState(); + } +} diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetDeliveryOptionsArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetDeliveryOptionsArgs.cs new file mode 100644 index 00000000000..ba4334c3fb8 --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetDeliveryOptionsArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.SesV2.Inputs +{ + + public sealed class ConfigurationSetDeliveryOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the dedicated IP pool to associate with the configuration set. + /// + [Input("sendingPoolName")] + public Input? SendingPoolName { get; set; } + + /// + /// Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. + /// + [Input("tlsPolicy")] + public Input? TlsPolicy { get; set; } + + public ConfigurationSetDeliveryOptionsArgs() + { + } + public static new ConfigurationSetDeliveryOptionsArgs Empty => new ConfigurationSetDeliveryOptionsArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetDeliveryOptionsGetArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetDeliveryOptionsGetArgs.cs new file mode 100644 index 00000000000..68db2be5fc9 --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetDeliveryOptionsGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.SesV2.Inputs +{ + + public sealed class ConfigurationSetDeliveryOptionsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the dedicated IP pool to associate with the configuration set. + /// + [Input("sendingPoolName")] + public Input? SendingPoolName { get; set; } + + /// + /// Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. + /// + [Input("tlsPolicy")] + public Input? TlsPolicy { get; set; } + + public ConfigurationSetDeliveryOptionsGetArgs() + { + } + public static new ConfigurationSetDeliveryOptionsGetArgs Empty => new ConfigurationSetDeliveryOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetReputationOptionsArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetReputationOptionsArgs.cs new file mode 100644 index 00000000000..addd110e057 --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetReputationOptionsArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.SesV2.Inputs +{ + + public sealed class ConfigurationSetReputationOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. + /// + [Input("lastFreshStart")] + public Input? LastFreshStart { get; set; } + + /// + /// If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. + /// + [Input("reputationMetricsEnabled")] + public Input? ReputationMetricsEnabled { get; set; } + + public ConfigurationSetReputationOptionsArgs() + { + } + public static new ConfigurationSetReputationOptionsArgs Empty => new ConfigurationSetReputationOptionsArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetReputationOptionsGetArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetReputationOptionsGetArgs.cs new file mode 100644 index 00000000000..51a868cc9a8 --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetReputationOptionsGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.SesV2.Inputs +{ + + public sealed class ConfigurationSetReputationOptionsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. + /// + [Input("lastFreshStart")] + public Input? LastFreshStart { get; set; } + + /// + /// If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. + /// + [Input("reputationMetricsEnabled")] + public Input? ReputationMetricsEnabled { get; set; } + + public ConfigurationSetReputationOptionsGetArgs() + { + } + public static new ConfigurationSetReputationOptionsGetArgs Empty => new ConfigurationSetReputationOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetSendingOptionsArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetSendingOptionsArgs.cs new file mode 100644 index 00000000000..993da7ca470 --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetSendingOptionsArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.SesV2.Inputs +{ + + public sealed class ConfigurationSetSendingOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. + /// + [Input("sendingEnabled")] + public Input? SendingEnabled { get; set; } + + public ConfigurationSetSendingOptionsArgs() + { + } + public static new ConfigurationSetSendingOptionsArgs Empty => new ConfigurationSetSendingOptionsArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetSendingOptionsGetArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetSendingOptionsGetArgs.cs new file mode 100644 index 00000000000..02ed10af2f2 --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetSendingOptionsGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.SesV2.Inputs +{ + + public sealed class ConfigurationSetSendingOptionsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. + /// + [Input("sendingEnabled")] + public Input? SendingEnabled { get; set; } + + public ConfigurationSetSendingOptionsGetArgs() + { + } + public static new ConfigurationSetSendingOptionsGetArgs Empty => new ConfigurationSetSendingOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetSuppressionOptionsArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetSuppressionOptionsArgs.cs new file mode 100644 index 00000000000..e1ecd84b91e --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetSuppressionOptionsArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.SesV2.Inputs +{ + + public sealed class ConfigurationSetSuppressionOptionsArgs : global::Pulumi.ResourceArgs + { + [Input("suppressedReasons")] + private InputList? _suppressedReasons; + + /// + /// A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + /// + public InputList SuppressedReasons + { + get => _suppressedReasons ?? (_suppressedReasons = new InputList()); + set => _suppressedReasons = value; + } + + public ConfigurationSetSuppressionOptionsArgs() + { + } + public static new ConfigurationSetSuppressionOptionsArgs Empty => new ConfigurationSetSuppressionOptionsArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetSuppressionOptionsGetArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetSuppressionOptionsGetArgs.cs new file mode 100644 index 00000000000..d5a13fffe8f --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetSuppressionOptionsGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.SesV2.Inputs +{ + + public sealed class ConfigurationSetSuppressionOptionsGetArgs : global::Pulumi.ResourceArgs + { + [Input("suppressedReasons")] + private InputList? _suppressedReasons; + + /// + /// A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + /// + public InputList SuppressedReasons + { + get => _suppressedReasons ?? (_suppressedReasons = new InputList()); + set => _suppressedReasons = value; + } + + public ConfigurationSetSuppressionOptionsGetArgs() + { + } + public static new ConfigurationSetSuppressionOptionsGetArgs Empty => new ConfigurationSetSuppressionOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetTrackingOptionsArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetTrackingOptionsArgs.cs new file mode 100644 index 00000000000..59d88a25ff5 --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetTrackingOptionsArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.SesV2.Inputs +{ + + public sealed class ConfigurationSetTrackingOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// The domain to use for tracking open and click events. + /// + [Input("customRedirectDomain", required: true)] + public Input CustomRedirectDomain { get; set; } = null!; + + public ConfigurationSetTrackingOptionsArgs() + { + } + public static new ConfigurationSetTrackingOptionsArgs Empty => new ConfigurationSetTrackingOptionsArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetTrackingOptionsGetArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetTrackingOptionsGetArgs.cs new file mode 100644 index 00000000000..52eb8755816 --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetTrackingOptionsGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.SesV2.Inputs +{ + + public sealed class ConfigurationSetTrackingOptionsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The domain to use for tracking open and click events. + /// + [Input("customRedirectDomain", required: true)] + public Input CustomRedirectDomain { get; set; } = null!; + + public ConfigurationSetTrackingOptionsGetArgs() + { + } + public static new ConfigurationSetTrackingOptionsGetArgs Empty => new ConfigurationSetTrackingOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Outputs/ConfigurationSetDeliveryOptions.cs b/sdk/dotnet/SesV2/Outputs/ConfigurationSetDeliveryOptions.cs new file mode 100644 index 00000000000..2f63209e035 --- /dev/null +++ b/sdk/dotnet/SesV2/Outputs/ConfigurationSetDeliveryOptions.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.SesV2.Outputs +{ + + [OutputType] + public sealed class ConfigurationSetDeliveryOptions + { + /// + /// The name of the dedicated IP pool to associate with the configuration set. + /// + public readonly string? SendingPoolName; + /// + /// Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. + /// + public readonly string? TlsPolicy; + + [OutputConstructor] + private ConfigurationSetDeliveryOptions( + string? sendingPoolName, + + string? tlsPolicy) + { + SendingPoolName = sendingPoolName; + TlsPolicy = tlsPolicy; + } + } +} diff --git a/sdk/dotnet/SesV2/Outputs/ConfigurationSetReputationOptions.cs b/sdk/dotnet/SesV2/Outputs/ConfigurationSetReputationOptions.cs new file mode 100644 index 00000000000..0542c35737a --- /dev/null +++ b/sdk/dotnet/SesV2/Outputs/ConfigurationSetReputationOptions.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.SesV2.Outputs +{ + + [OutputType] + public sealed class ConfigurationSetReputationOptions + { + /// + /// The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. + /// + public readonly string? LastFreshStart; + /// + /// If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. + /// + public readonly bool? ReputationMetricsEnabled; + + [OutputConstructor] + private ConfigurationSetReputationOptions( + string? lastFreshStart, + + bool? reputationMetricsEnabled) + { + LastFreshStart = lastFreshStart; + ReputationMetricsEnabled = reputationMetricsEnabled; + } + } +} diff --git a/sdk/dotnet/SesV2/Outputs/ConfigurationSetSendingOptions.cs b/sdk/dotnet/SesV2/Outputs/ConfigurationSetSendingOptions.cs new file mode 100644 index 00000000000..f0be279a1a8 --- /dev/null +++ b/sdk/dotnet/SesV2/Outputs/ConfigurationSetSendingOptions.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.SesV2.Outputs +{ + + [OutputType] + public sealed class ConfigurationSetSendingOptions + { + /// + /// If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. + /// + public readonly bool? SendingEnabled; + + [OutputConstructor] + private ConfigurationSetSendingOptions(bool? sendingEnabled) + { + SendingEnabled = sendingEnabled; + } + } +} diff --git a/sdk/dotnet/SesV2/Outputs/ConfigurationSetSuppressionOptions.cs b/sdk/dotnet/SesV2/Outputs/ConfigurationSetSuppressionOptions.cs new file mode 100644 index 00000000000..b2bfcfaddee --- /dev/null +++ b/sdk/dotnet/SesV2/Outputs/ConfigurationSetSuppressionOptions.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.SesV2.Outputs +{ + + [OutputType] + public sealed class ConfigurationSetSuppressionOptions + { + /// + /// A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + /// + public readonly ImmutableArray SuppressedReasons; + + [OutputConstructor] + private ConfigurationSetSuppressionOptions(ImmutableArray suppressedReasons) + { + SuppressedReasons = suppressedReasons; + } + } +} diff --git a/sdk/dotnet/SesV2/Outputs/ConfigurationSetTrackingOptions.cs b/sdk/dotnet/SesV2/Outputs/ConfigurationSetTrackingOptions.cs new file mode 100644 index 00000000000..06f5955d52c --- /dev/null +++ b/sdk/dotnet/SesV2/Outputs/ConfigurationSetTrackingOptions.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.SesV2.Outputs +{ + + [OutputType] + public sealed class ConfigurationSetTrackingOptions + { + /// + /// The domain to use for tracking open and click events. + /// + public readonly string CustomRedirectDomain; + + [OutputConstructor] + private ConfigurationSetTrackingOptions(string customRedirectDomain) + { + CustomRedirectDomain = customRedirectDomain; + } + } +} diff --git a/sdk/dotnet/SesV2/README.md b/sdk/dotnet/SesV2/README.md new file mode 100644 index 00000000000..9d868f18f20 --- /dev/null +++ b/sdk/dotnet/SesV2/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources. diff --git a/sdk/dotnet/Transfer/Server.cs b/sdk/dotnet/Transfer/Server.cs index 1b1b020d78e..61e1ada7a21 100644 --- a/sdk/dotnet/Transfer/Server.cs +++ b/sdk/dotnet/Transfer/Server.cs @@ -14,6 +14,8 @@ namespace Pulumi.Aws.Transfer /// /// > **NOTE on AWS IAM permissions:** If the `endpoint_type` is set to `VPC`, the `ec2:DescribeVpcEndpoints` and `ec2:ModifyVpcEndpoint` [actions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) are used. /// + /// > **NOTE:** Use the `aws.transfer.Tag` resource to manage the system tags used for [custom hostnames](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-dns.html#tag-custom-hostname-cdk). + /// /// ## Example Usage /// ### Basic /// diff --git a/sdk/dotnet/Transfer/Tag.cs b/sdk/dotnet/Transfer/Tag.cs new file mode 100644 index 00000000000..051aaf9cac1 --- /dev/null +++ b/sdk/dotnet/Transfer/Tag.cs @@ -0,0 +1,168 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.Aws.Transfer +{ + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.Transfer.Server("example", new() + /// { + /// IdentityProviderType = "SERVICE_MANAGED", + /// }); + /// + /// var zoneId = new Aws.Transfer.Tag("zoneId", new() + /// { + /// ResourceArn = example.Arn, + /// Key = "aws:transfer:route53HostedZoneId", + /// Value = "/hostedzone/MyHostedZoneId", + /// }); + /// + /// var hostname = new Aws.Transfer.Tag("hostname", new() + /// { + /// ResourceArn = example.Arn, + /// Key = "aws:transfer:customHostname", + /// Value = "example.com", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// `aws_transfer_tag` can be imported by using the Transfer Family resource identifier and key, separated by a comma (`,`), e.g., + /// + /// ```sh + /// $ pulumi import aws:transfer/tag:Tag example arn:aws:transfer:us-east-1:123456789012:server/s-1234567890abcdef0,Name + /// ``` + /// + [AwsResourceType("aws:transfer/tag:Tag")] + public partial class Tag : global::Pulumi.CustomResource + { + /// + /// Tag name. + /// + [Output("key")] + public Output Key { get; private set; } = null!; + + /// + /// Amazon Resource Name (ARN) of the Transfer Family resource to tag. + /// + [Output("resourceArn")] + public Output ResourceArn { get; private set; } = null!; + + /// + /// Tag value. + /// + [Output("value")] + public Output Value { get; private set; } = null!; + + + /// + /// Create a Tag 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 Tag(string name, TagArgs args, CustomResourceOptions? options = null) + : base("aws:transfer/tag:Tag", name, args ?? new TagArgs(), MakeResourceOptions(options, "")) + { + } + + private Tag(string name, Input id, TagState? state = null, CustomResourceOptions? options = null) + : base("aws:transfer/tag:Tag", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Tag 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. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static Tag Get(string name, Input id, TagState? state = null, CustomResourceOptions? options = null) + { + return new Tag(name, id, state, options); + } + } + + public sealed class TagArgs : global::Pulumi.ResourceArgs + { + /// + /// Tag name. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// Amazon Resource Name (ARN) of the Transfer Family resource to tag. + /// + [Input("resourceArn", required: true)] + public Input ResourceArn { get; set; } = null!; + + /// + /// Tag value. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public TagArgs() + { + } + public static new TagArgs Empty => new TagArgs(); + } + + public sealed class TagState : global::Pulumi.ResourceArgs + { + /// + /// Tag name. + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// Amazon Resource Name (ARN) of the Transfer Family resource to tag. + /// + [Input("resourceArn")] + public Input? ResourceArn { get; set; } + + /// + /// Tag value. + /// + [Input("value")] + public Input? Value { get; set; } + + public TagState() + { + } + public static new TagState Empty => new TagState(); + } +} diff --git a/sdk/dotnet/Waf/GetSubscribedRuleGroup.cs b/sdk/dotnet/Waf/GetSubscribedRuleGroup.cs index b2279944f9d..d70143dc943 100644 --- a/sdk/dotnet/Waf/GetSubscribedRuleGroup.cs +++ b/sdk/dotnet/Waf/GetSubscribedRuleGroup.cs @@ -35,6 +35,7 @@ public static class GetSubscribedRuleGroup /// MetricName = "F5BotDetectionSignatures", /// }); /// + /// // ... /// var acl = new Aws.Waf.WebAcl("acl", new() /// { /// Rules = new[] @@ -86,6 +87,7 @@ public static Task InvokeAsync(GetSubscribedRuleGr /// MetricName = "F5BotDetectionSignatures", /// }); /// + /// // ... /// var acl = new Aws.Waf.WebAcl("acl", new() /// { /// Rules = new[] diff --git a/sdk/dotnet/WafRegional/GetSubscribedRuleGroup.cs b/sdk/dotnet/WafRegional/GetSubscribedRuleGroup.cs index bce34e6d4bd..fab9e67eeb1 100644 --- a/sdk/dotnet/WafRegional/GetSubscribedRuleGroup.cs +++ b/sdk/dotnet/WafRegional/GetSubscribedRuleGroup.cs @@ -35,6 +35,7 @@ public static class GetSubscribedRuleGroup /// MetricName = "F5BotDetectionSignatures", /// }); /// + /// // ... /// var acl = new Aws.WafRegional.WebAcl("acl", new() /// { /// Rules = new[] @@ -86,6 +87,7 @@ public static Task InvokeAsync(GetSubscribedRuleGr /// MetricName = "F5BotDetectionSignatures", /// }); /// + /// // ... /// var acl = new Aws.WafRegional.WebAcl("acl", new() /// { /// Rules = new[] diff --git a/sdk/go/aws/amp/pulumiTypes.go b/sdk/go/aws/amp/pulumiTypes.go new file mode 100644 index 00000000000..62d8d889963 --- /dev/null +++ b/sdk/go/aws/amp/pulumiTypes.go @@ -0,0 +1,155 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package amp + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type WorkspaceLoggingConfiguration struct { + // The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. + LogGroupArn string `pulumi:"logGroupArn"` +} + +// WorkspaceLoggingConfigurationInput is an input type that accepts WorkspaceLoggingConfigurationArgs and WorkspaceLoggingConfigurationOutput values. +// You can construct a concrete instance of `WorkspaceLoggingConfigurationInput` via: +// +// WorkspaceLoggingConfigurationArgs{...} +type WorkspaceLoggingConfigurationInput interface { + pulumi.Input + + ToWorkspaceLoggingConfigurationOutput() WorkspaceLoggingConfigurationOutput + ToWorkspaceLoggingConfigurationOutputWithContext(context.Context) WorkspaceLoggingConfigurationOutput +} + +type WorkspaceLoggingConfigurationArgs struct { + // The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. + LogGroupArn pulumi.StringInput `pulumi:"logGroupArn"` +} + +func (WorkspaceLoggingConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspaceLoggingConfiguration)(nil)).Elem() +} + +func (i WorkspaceLoggingConfigurationArgs) ToWorkspaceLoggingConfigurationOutput() WorkspaceLoggingConfigurationOutput { + return i.ToWorkspaceLoggingConfigurationOutputWithContext(context.Background()) +} + +func (i WorkspaceLoggingConfigurationArgs) ToWorkspaceLoggingConfigurationOutputWithContext(ctx context.Context) WorkspaceLoggingConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspaceLoggingConfigurationOutput) +} + +func (i WorkspaceLoggingConfigurationArgs) ToWorkspaceLoggingConfigurationPtrOutput() WorkspaceLoggingConfigurationPtrOutput { + return i.ToWorkspaceLoggingConfigurationPtrOutputWithContext(context.Background()) +} + +func (i WorkspaceLoggingConfigurationArgs) ToWorkspaceLoggingConfigurationPtrOutputWithContext(ctx context.Context) WorkspaceLoggingConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspaceLoggingConfigurationOutput).ToWorkspaceLoggingConfigurationPtrOutputWithContext(ctx) +} + +// WorkspaceLoggingConfigurationPtrInput is an input type that accepts WorkspaceLoggingConfigurationArgs, WorkspaceLoggingConfigurationPtr and WorkspaceLoggingConfigurationPtrOutput values. +// You can construct a concrete instance of `WorkspaceLoggingConfigurationPtrInput` via: +// +// WorkspaceLoggingConfigurationArgs{...} +// +// or: +// +// nil +type WorkspaceLoggingConfigurationPtrInput interface { + pulumi.Input + + ToWorkspaceLoggingConfigurationPtrOutput() WorkspaceLoggingConfigurationPtrOutput + ToWorkspaceLoggingConfigurationPtrOutputWithContext(context.Context) WorkspaceLoggingConfigurationPtrOutput +} + +type workspaceLoggingConfigurationPtrType WorkspaceLoggingConfigurationArgs + +func WorkspaceLoggingConfigurationPtr(v *WorkspaceLoggingConfigurationArgs) WorkspaceLoggingConfigurationPtrInput { + return (*workspaceLoggingConfigurationPtrType)(v) +} + +func (*workspaceLoggingConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspaceLoggingConfiguration)(nil)).Elem() +} + +func (i *workspaceLoggingConfigurationPtrType) ToWorkspaceLoggingConfigurationPtrOutput() WorkspaceLoggingConfigurationPtrOutput { + return i.ToWorkspaceLoggingConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *workspaceLoggingConfigurationPtrType) ToWorkspaceLoggingConfigurationPtrOutputWithContext(ctx context.Context) WorkspaceLoggingConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspaceLoggingConfigurationPtrOutput) +} + +type WorkspaceLoggingConfigurationOutput struct{ *pulumi.OutputState } + +func (WorkspaceLoggingConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspaceLoggingConfiguration)(nil)).Elem() +} + +func (o WorkspaceLoggingConfigurationOutput) ToWorkspaceLoggingConfigurationOutput() WorkspaceLoggingConfigurationOutput { + return o +} + +func (o WorkspaceLoggingConfigurationOutput) ToWorkspaceLoggingConfigurationOutputWithContext(ctx context.Context) WorkspaceLoggingConfigurationOutput { + return o +} + +func (o WorkspaceLoggingConfigurationOutput) ToWorkspaceLoggingConfigurationPtrOutput() WorkspaceLoggingConfigurationPtrOutput { + return o.ToWorkspaceLoggingConfigurationPtrOutputWithContext(context.Background()) +} + +func (o WorkspaceLoggingConfigurationOutput) ToWorkspaceLoggingConfigurationPtrOutputWithContext(ctx context.Context) WorkspaceLoggingConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkspaceLoggingConfiguration) *WorkspaceLoggingConfiguration { + return &v + }).(WorkspaceLoggingConfigurationPtrOutput) +} + +// The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. +func (o WorkspaceLoggingConfigurationOutput) LogGroupArn() pulumi.StringOutput { + return o.ApplyT(func(v WorkspaceLoggingConfiguration) string { return v.LogGroupArn }).(pulumi.StringOutput) +} + +type WorkspaceLoggingConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (WorkspaceLoggingConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspaceLoggingConfiguration)(nil)).Elem() +} + +func (o WorkspaceLoggingConfigurationPtrOutput) ToWorkspaceLoggingConfigurationPtrOutput() WorkspaceLoggingConfigurationPtrOutput { + return o +} + +func (o WorkspaceLoggingConfigurationPtrOutput) ToWorkspaceLoggingConfigurationPtrOutputWithContext(ctx context.Context) WorkspaceLoggingConfigurationPtrOutput { + return o +} + +func (o WorkspaceLoggingConfigurationPtrOutput) Elem() WorkspaceLoggingConfigurationOutput { + return o.ApplyT(func(v *WorkspaceLoggingConfiguration) WorkspaceLoggingConfiguration { + if v != nil { + return *v + } + var ret WorkspaceLoggingConfiguration + return ret + }).(WorkspaceLoggingConfigurationOutput) +} + +// The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. +func (o WorkspaceLoggingConfigurationPtrOutput) LogGroupArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkspaceLoggingConfiguration) *string { + if v == nil { + return nil + } + return &v.LogGroupArn + }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceLoggingConfigurationInput)(nil)).Elem(), WorkspaceLoggingConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceLoggingConfigurationPtrInput)(nil)).Elem(), WorkspaceLoggingConfigurationArgs{}) + pulumi.RegisterOutputType(WorkspaceLoggingConfigurationOutput{}) + pulumi.RegisterOutputType(WorkspaceLoggingConfigurationPtrOutput{}) +} diff --git a/sdk/go/aws/amp/workspace.go b/sdk/go/aws/amp/workspace.go index e0db88c69b3..03ecba12103 100644 --- a/sdk/go/aws/amp/workspace.go +++ b/sdk/go/aws/amp/workspace.go @@ -12,8 +12,6 @@ import ( // Manages an Amazon Managed Service for Prometheus (AMP) Workspace. // -// > **NOTE:** This AWS functionality is in Preview and may change before General Availability release. Backwards compatibility is not guaranteed between provider releases. -// // ## Example Usage // // ```go @@ -28,11 +26,46 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := amp.NewWorkspace(ctx, "demo", &.WorkspaceArgs{ -// Alias: pulumi.String("prometheus-test"), +// _, err := amp.NewWorkspace(ctx, "example", &.WorkspaceArgs{ +// Alias: pulumi.String("example"), // Tags: pulumi.StringMap{ // "Environment": pulumi.String("production"), -// "Owner": pulumi.String("abhi"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// ### CloudWatch Logging +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/amp" +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleLogGroup, err := cloudwatch.NewLogGroup(ctx, "exampleLogGroup", nil) +// if err != nil { +// return err +// } +// _, err = amp.NewWorkspace(ctx, "exampleWorkspace", &.WorkspaceArgs{ +// LoggingConfiguration: &.WorkspaceLoggingConfigurationArgs{ +// LogGroupArn: exampleLogGroup.Arn.ApplyT(func(arn string) (string, error) { +// return fmt.Sprintf("%v:*", arn), nil +// }).(pulumi.StringOutput), // }, // }) // if err != nil { @@ -60,6 +93,8 @@ type Workspace struct { Alias pulumi.StringPtrOutput `pulumi:"alias"` // Amazon Resource Name (ARN) of the workspace. Arn pulumi.StringOutput `pulumi:"arn"` + // Logging configuration for the workspace. See Logging Configuration below for details. + LoggingConfiguration WorkspaceLoggingConfigurationPtrOutput `pulumi:"loggingConfiguration"` // Prometheus endpoint available for this workspace. PrometheusEndpoint pulumi.StringOutput `pulumi:"prometheusEndpoint"` // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -101,6 +136,8 @@ type workspaceState struct { Alias *string `pulumi:"alias"` // Amazon Resource Name (ARN) of the workspace. Arn *string `pulumi:"arn"` + // Logging configuration for the workspace. See Logging Configuration below for details. + LoggingConfiguration *WorkspaceLoggingConfiguration `pulumi:"loggingConfiguration"` // Prometheus endpoint available for this workspace. PrometheusEndpoint *string `pulumi:"prometheusEndpoint"` // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -114,6 +151,8 @@ type WorkspaceState struct { Alias pulumi.StringPtrInput // Amazon Resource Name (ARN) of the workspace. Arn pulumi.StringPtrInput + // Logging configuration for the workspace. See Logging Configuration below for details. + LoggingConfiguration WorkspaceLoggingConfigurationPtrInput // Prometheus endpoint available for this workspace. PrometheusEndpoint pulumi.StringPtrInput // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -129,6 +168,8 @@ func (WorkspaceState) ElementType() reflect.Type { type workspaceArgs struct { // The alias of the prometheus workspace. See more [in AWS Docs](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-onboard-create-workspace.html). Alias *string `pulumi:"alias"` + // Logging configuration for the workspace. See Logging Configuration below for details. + LoggingConfiguration *WorkspaceLoggingConfiguration `pulumi:"loggingConfiguration"` // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` } @@ -137,6 +178,8 @@ type workspaceArgs struct { type WorkspaceArgs struct { // The alias of the prometheus workspace. See more [in AWS Docs](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-onboard-create-workspace.html). Alias pulumi.StringPtrInput + // Logging configuration for the workspace. See Logging Configuration below for details. + LoggingConfiguration WorkspaceLoggingConfigurationPtrInput // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput } @@ -238,6 +281,11 @@ func (o WorkspaceOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *Workspace) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } +// Logging configuration for the workspace. See Logging Configuration below for details. +func (o WorkspaceOutput) LoggingConfiguration() WorkspaceLoggingConfigurationPtrOutput { + return o.ApplyT(func(v *Workspace) WorkspaceLoggingConfigurationPtrOutput { return v.LoggingConfiguration }).(WorkspaceLoggingConfigurationPtrOutput) +} + // Prometheus endpoint available for this workspace. func (o WorkspaceOutput) PrometheusEndpoint() pulumi.StringOutput { return o.ApplyT(func(v *Workspace) pulumi.StringOutput { return v.PrometheusEndpoint }).(pulumi.StringOutput) diff --git a/sdk/go/aws/apigatewayv2/pulumiTypes.go b/sdk/go/aws/apigatewayv2/pulumiTypes.go index a7585804f0c..f84af4c23fa 100644 --- a/sdk/go/aws/apigatewayv2/pulumiTypes.go +++ b/sdk/go/aws/apigatewayv2/pulumiTypes.go @@ -787,7 +787,7 @@ func (o DomainNameMutualTlsAuthenticationPtrOutput) TruststoreVersion() pulumi.S } type IntegrationResponseParameter struct { - // Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. + // Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. // See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. Mappings map[string]string `pulumi:"mappings"` // HTTP status code in the range 200-599. @@ -806,7 +806,7 @@ type IntegrationResponseParameterInput interface { } type IntegrationResponseParameterArgs struct { - // Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. + // Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. // See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. Mappings pulumi.StringMapInput `pulumi:"mappings"` // HTTP status code in the range 200-599. @@ -864,7 +864,7 @@ func (o IntegrationResponseParameterOutput) ToIntegrationResponseParameterOutput return o } -// Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. +// Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. // See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. func (o IntegrationResponseParameterOutput) Mappings() pulumi.StringMapOutput { return o.ApplyT(func(v IntegrationResponseParameter) map[string]string { return v.Mappings }).(pulumi.StringMapOutput) diff --git a/sdk/go/aws/cloudfront/distribution.go b/sdk/go/aws/cloudfront/distribution.go index 1ec86161a73..3fdce50bae6 100644 --- a/sdk/go/aws/cloudfront/distribution.go +++ b/sdk/go/aws/cloudfront/distribution.go @@ -60,7 +60,7 @@ import ( // Origins: cloudfront.DistributionOriginArray{ // &cloudfront.DistributionOriginArgs{ // DomainName: bucketV2.BucketRegionalDomainName, -// OriginId: pulumi.String(s3OriginId), +// OriginId: pulumi.Any(locals.S3_origin_id), // S3OriginConfig: &cloudfront.DistributionOriginS3OriginConfigArgs{ // OriginAccessIdentity: pulumi.String("origin-access-identity/cloudfront/ABCDEFG1234567"), // }, diff --git a/sdk/go/aws/codepipeline/customActionType.go b/sdk/go/aws/codepipeline/customActionType.go new file mode 100644 index 00000000000..a9dbb465055 --- /dev/null +++ b/sdk/go/aws/codepipeline/customActionType.go @@ -0,0 +1,407 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package codepipeline + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a CodeDeploy CustomActionType +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/codepipeline" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := codepipeline.NewCustomActionType(ctx, "example", &codepipeline.CustomActionTypeArgs{ +// Category: pulumi.String("Build"), +// InputArtifactDetails: &codepipeline.CustomActionTypeInputArtifactDetailsArgs{ +// MaximumCount: pulumi.Int(1), +// MinimumCount: pulumi.Int(0), +// }, +// OutputArtifactDetails: &codepipeline.CustomActionTypeOutputArtifactDetailsArgs{ +// MaximumCount: pulumi.Int(1), +// MinimumCount: pulumi.Int(0), +// }, +// ProviderName: pulumi.String("example"), +// Version: pulumi.String("1"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// CodeDeploy CustomActionType can be imported using the `id`, e.g. +// +// ```sh +// +// $ pulumi import aws:codepipeline/customActionType:CustomActionType example Build:terraform:1 +// +// ``` +type CustomActionType struct { + pulumi.CustomResourceState + + // The action ARN. + Arn pulumi.StringOutput `pulumi:"arn"` + // The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + Category pulumi.StringOutput `pulumi:"category"` + // The configuration properties for the custom action. Max 10 items. + ConfigurationProperties CustomActionTypeConfigurationPropertyArrayOutput `pulumi:"configurationProperties"` + // The details of the input artifact for the action. + InputArtifactDetails CustomActionTypeInputArtifactDetailsOutput `pulumi:"inputArtifactDetails"` + // The details of the output artifact of the action. + OutputArtifactDetails CustomActionTypeOutputArtifactDetailsOutput `pulumi:"outputArtifactDetails"` + // The creator of the action being called. + Owner pulumi.StringOutput `pulumi:"owner"` + // The provider of the service used in the custom action + ProviderName pulumi.StringOutput `pulumi:"providerName"` + // The settings for an action type. + Settings CustomActionTypeSettingsPtrOutput `pulumi:"settings"` + Tags pulumi.StringMapOutput `pulumi:"tags"` + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + // The version identifier of the custom action. + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewCustomActionType registers a new resource with the given unique name, arguments, and options. +func NewCustomActionType(ctx *pulumi.Context, + name string, args *CustomActionTypeArgs, opts ...pulumi.ResourceOption) (*CustomActionType, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Category == nil { + return nil, errors.New("invalid value for required argument 'Category'") + } + if args.InputArtifactDetails == nil { + return nil, errors.New("invalid value for required argument 'InputArtifactDetails'") + } + if args.OutputArtifactDetails == nil { + return nil, errors.New("invalid value for required argument 'OutputArtifactDetails'") + } + if args.ProviderName == nil { + return nil, errors.New("invalid value for required argument 'ProviderName'") + } + if args.Version == nil { + return nil, errors.New("invalid value for required argument 'Version'") + } + var resource CustomActionType + err := ctx.RegisterResource("aws:codepipeline/customActionType:CustomActionType", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCustomActionType gets an existing CustomActionType 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 GetCustomActionType(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CustomActionTypeState, opts ...pulumi.ResourceOption) (*CustomActionType, error) { + var resource CustomActionType + err := ctx.ReadResource("aws:codepipeline/customActionType:CustomActionType", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CustomActionType resources. +type customActionTypeState struct { + // The action ARN. + Arn *string `pulumi:"arn"` + // The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + Category *string `pulumi:"category"` + // The configuration properties for the custom action. Max 10 items. + ConfigurationProperties []CustomActionTypeConfigurationProperty `pulumi:"configurationProperties"` + // The details of the input artifact for the action. + InputArtifactDetails *CustomActionTypeInputArtifactDetails `pulumi:"inputArtifactDetails"` + // The details of the output artifact of the action. + OutputArtifactDetails *CustomActionTypeOutputArtifactDetails `pulumi:"outputArtifactDetails"` + // The creator of the action being called. + Owner *string `pulumi:"owner"` + // The provider of the service used in the custom action + ProviderName *string `pulumi:"providerName"` + // The settings for an action type. + Settings *CustomActionTypeSettings `pulumi:"settings"` + Tags map[string]string `pulumi:"tags"` + TagsAll map[string]string `pulumi:"tagsAll"` + // The version identifier of the custom action. + Version *string `pulumi:"version"` +} + +type CustomActionTypeState struct { + // The action ARN. + Arn pulumi.StringPtrInput + // The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + Category pulumi.StringPtrInput + // The configuration properties for the custom action. Max 10 items. + ConfigurationProperties CustomActionTypeConfigurationPropertyArrayInput + // The details of the input artifact for the action. + InputArtifactDetails CustomActionTypeInputArtifactDetailsPtrInput + // The details of the output artifact of the action. + OutputArtifactDetails CustomActionTypeOutputArtifactDetailsPtrInput + // The creator of the action being called. + Owner pulumi.StringPtrInput + // The provider of the service used in the custom action + ProviderName pulumi.StringPtrInput + // The settings for an action type. + Settings CustomActionTypeSettingsPtrInput + Tags pulumi.StringMapInput + TagsAll pulumi.StringMapInput + // The version identifier of the custom action. + Version pulumi.StringPtrInput +} + +func (CustomActionTypeState) ElementType() reflect.Type { + return reflect.TypeOf((*customActionTypeState)(nil)).Elem() +} + +type customActionTypeArgs struct { + // The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + Category string `pulumi:"category"` + // The configuration properties for the custom action. Max 10 items. + ConfigurationProperties []CustomActionTypeConfigurationProperty `pulumi:"configurationProperties"` + // The details of the input artifact for the action. + InputArtifactDetails CustomActionTypeInputArtifactDetails `pulumi:"inputArtifactDetails"` + // The details of the output artifact of the action. + OutputArtifactDetails CustomActionTypeOutputArtifactDetails `pulumi:"outputArtifactDetails"` + // The provider of the service used in the custom action + ProviderName string `pulumi:"providerName"` + // The settings for an action type. + Settings *CustomActionTypeSettings `pulumi:"settings"` + Tags map[string]string `pulumi:"tags"` + TagsAll map[string]string `pulumi:"tagsAll"` + // The version identifier of the custom action. + Version string `pulumi:"version"` +} + +// The set of arguments for constructing a CustomActionType resource. +type CustomActionTypeArgs struct { + // The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + Category pulumi.StringInput + // The configuration properties for the custom action. Max 10 items. + ConfigurationProperties CustomActionTypeConfigurationPropertyArrayInput + // The details of the input artifact for the action. + InputArtifactDetails CustomActionTypeInputArtifactDetailsInput + // The details of the output artifact of the action. + OutputArtifactDetails CustomActionTypeOutputArtifactDetailsInput + // The provider of the service used in the custom action + ProviderName pulumi.StringInput + // The settings for an action type. + Settings CustomActionTypeSettingsPtrInput + Tags pulumi.StringMapInput + TagsAll pulumi.StringMapInput + // The version identifier of the custom action. + Version pulumi.StringInput +} + +func (CustomActionTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*customActionTypeArgs)(nil)).Elem() +} + +type CustomActionTypeInput interface { + pulumi.Input + + ToCustomActionTypeOutput() CustomActionTypeOutput + ToCustomActionTypeOutputWithContext(ctx context.Context) CustomActionTypeOutput +} + +func (*CustomActionType) ElementType() reflect.Type { + return reflect.TypeOf((**CustomActionType)(nil)).Elem() +} + +func (i *CustomActionType) ToCustomActionTypeOutput() CustomActionTypeOutput { + return i.ToCustomActionTypeOutputWithContext(context.Background()) +} + +func (i *CustomActionType) ToCustomActionTypeOutputWithContext(ctx context.Context) CustomActionTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomActionTypeOutput) +} + +// CustomActionTypeArrayInput is an input type that accepts CustomActionTypeArray and CustomActionTypeArrayOutput values. +// You can construct a concrete instance of `CustomActionTypeArrayInput` via: +// +// CustomActionTypeArray{ CustomActionTypeArgs{...} } +type CustomActionTypeArrayInput interface { + pulumi.Input + + ToCustomActionTypeArrayOutput() CustomActionTypeArrayOutput + ToCustomActionTypeArrayOutputWithContext(context.Context) CustomActionTypeArrayOutput +} + +type CustomActionTypeArray []CustomActionTypeInput + +func (CustomActionTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CustomActionType)(nil)).Elem() +} + +func (i CustomActionTypeArray) ToCustomActionTypeArrayOutput() CustomActionTypeArrayOutput { + return i.ToCustomActionTypeArrayOutputWithContext(context.Background()) +} + +func (i CustomActionTypeArray) ToCustomActionTypeArrayOutputWithContext(ctx context.Context) CustomActionTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomActionTypeArrayOutput) +} + +// CustomActionTypeMapInput is an input type that accepts CustomActionTypeMap and CustomActionTypeMapOutput values. +// You can construct a concrete instance of `CustomActionTypeMapInput` via: +// +// CustomActionTypeMap{ "key": CustomActionTypeArgs{...} } +type CustomActionTypeMapInput interface { + pulumi.Input + + ToCustomActionTypeMapOutput() CustomActionTypeMapOutput + ToCustomActionTypeMapOutputWithContext(context.Context) CustomActionTypeMapOutput +} + +type CustomActionTypeMap map[string]CustomActionTypeInput + +func (CustomActionTypeMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CustomActionType)(nil)).Elem() +} + +func (i CustomActionTypeMap) ToCustomActionTypeMapOutput() CustomActionTypeMapOutput { + return i.ToCustomActionTypeMapOutputWithContext(context.Background()) +} + +func (i CustomActionTypeMap) ToCustomActionTypeMapOutputWithContext(ctx context.Context) CustomActionTypeMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomActionTypeMapOutput) +} + +type CustomActionTypeOutput struct{ *pulumi.OutputState } + +func (CustomActionTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CustomActionType)(nil)).Elem() +} + +func (o CustomActionTypeOutput) ToCustomActionTypeOutput() CustomActionTypeOutput { + return o +} + +func (o CustomActionTypeOutput) ToCustomActionTypeOutputWithContext(ctx context.Context) CustomActionTypeOutput { + return o +} + +// The action ARN. +func (o CustomActionTypeOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *CustomActionType) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` +func (o CustomActionTypeOutput) Category() pulumi.StringOutput { + return o.ApplyT(func(v *CustomActionType) pulumi.StringOutput { return v.Category }).(pulumi.StringOutput) +} + +// The configuration properties for the custom action. Max 10 items. +func (o CustomActionTypeOutput) ConfigurationProperties() CustomActionTypeConfigurationPropertyArrayOutput { + return o.ApplyT(func(v *CustomActionType) CustomActionTypeConfigurationPropertyArrayOutput { + return v.ConfigurationProperties + }).(CustomActionTypeConfigurationPropertyArrayOutput) +} + +// The details of the input artifact for the action. +func (o CustomActionTypeOutput) InputArtifactDetails() CustomActionTypeInputArtifactDetailsOutput { + return o.ApplyT(func(v *CustomActionType) CustomActionTypeInputArtifactDetailsOutput { return v.InputArtifactDetails }).(CustomActionTypeInputArtifactDetailsOutput) +} + +// The details of the output artifact of the action. +func (o CustomActionTypeOutput) OutputArtifactDetails() CustomActionTypeOutputArtifactDetailsOutput { + return o.ApplyT(func(v *CustomActionType) CustomActionTypeOutputArtifactDetailsOutput { return v.OutputArtifactDetails }).(CustomActionTypeOutputArtifactDetailsOutput) +} + +// The creator of the action being called. +func (o CustomActionTypeOutput) Owner() pulumi.StringOutput { + return o.ApplyT(func(v *CustomActionType) pulumi.StringOutput { return v.Owner }).(pulumi.StringOutput) +} + +// The provider of the service used in the custom action +func (o CustomActionTypeOutput) ProviderName() pulumi.StringOutput { + return o.ApplyT(func(v *CustomActionType) pulumi.StringOutput { return v.ProviderName }).(pulumi.StringOutput) +} + +// The settings for an action type. +func (o CustomActionTypeOutput) Settings() CustomActionTypeSettingsPtrOutput { + return o.ApplyT(func(v *CustomActionType) CustomActionTypeSettingsPtrOutput { return v.Settings }).(CustomActionTypeSettingsPtrOutput) +} + +func (o CustomActionTypeOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *CustomActionType) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +func (o CustomActionTypeOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *CustomActionType) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +// The version identifier of the custom action. +func (o CustomActionTypeOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *CustomActionType) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +type CustomActionTypeArrayOutput struct{ *pulumi.OutputState } + +func (CustomActionTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CustomActionType)(nil)).Elem() +} + +func (o CustomActionTypeArrayOutput) ToCustomActionTypeArrayOutput() CustomActionTypeArrayOutput { + return o +} + +func (o CustomActionTypeArrayOutput) ToCustomActionTypeArrayOutputWithContext(ctx context.Context) CustomActionTypeArrayOutput { + return o +} + +func (o CustomActionTypeArrayOutput) Index(i pulumi.IntInput) CustomActionTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CustomActionType { + return vs[0].([]*CustomActionType)[vs[1].(int)] + }).(CustomActionTypeOutput) +} + +type CustomActionTypeMapOutput struct{ *pulumi.OutputState } + +func (CustomActionTypeMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CustomActionType)(nil)).Elem() +} + +func (o CustomActionTypeMapOutput) ToCustomActionTypeMapOutput() CustomActionTypeMapOutput { + return o +} + +func (o CustomActionTypeMapOutput) ToCustomActionTypeMapOutputWithContext(ctx context.Context) CustomActionTypeMapOutput { + return o +} + +func (o CustomActionTypeMapOutput) MapIndex(k pulumi.StringInput) CustomActionTypeOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CustomActionType { + return vs[0].(map[string]*CustomActionType)[vs[1].(string)] + }).(CustomActionTypeOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CustomActionTypeInput)(nil)).Elem(), &CustomActionType{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomActionTypeArrayInput)(nil)).Elem(), CustomActionTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomActionTypeMapInput)(nil)).Elem(), CustomActionTypeMap{}) + pulumi.RegisterOutputType(CustomActionTypeOutput{}) + pulumi.RegisterOutputType(CustomActionTypeArrayOutput{}) + pulumi.RegisterOutputType(CustomActionTypeMapOutput{}) +} diff --git a/sdk/go/aws/codepipeline/init.go b/sdk/go/aws/codepipeline/init.go index fe4d3ddc7d8..e5b0aaa58ee 100644 --- a/sdk/go/aws/codepipeline/init.go +++ b/sdk/go/aws/codepipeline/init.go @@ -21,6 +21,8 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "aws:codepipeline/customActionType:CustomActionType": + r = &CustomActionType{} case "aws:codepipeline/pipeline:Pipeline": r = &Pipeline{} case "aws:codepipeline/webhook:Webhook": @@ -38,6 +40,11 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "aws", + "codepipeline/customActionType", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "codepipeline/pipeline", diff --git a/sdk/go/aws/codepipeline/pulumiTypes.go b/sdk/go/aws/codepipeline/pulumiTypes.go index 33c1a48a6f1..210426d8089 100644 --- a/sdk/go/aws/codepipeline/pulumiTypes.go +++ b/sdk/go/aws/codepipeline/pulumiTypes.go @@ -10,6 +10,663 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +type CustomActionTypeConfigurationProperty struct { + // The description of the action configuration property. + Description *string `pulumi:"description"` + // Whether the configuration property is a key. + Key bool `pulumi:"key"` + // The name of the action configuration property. + Name string `pulumi:"name"` + // Indicates that the property will be used in conjunction with PollForJobs. + Queryable *bool `pulumi:"queryable"` + // Whether the configuration property is a required value. + Required bool `pulumi:"required"` + // Whether the configuration property is secret. + Secret bool `pulumi:"secret"` + // The type of the configuration property. Valid values: `String`, `Number`, `Boolean` + Type *string `pulumi:"type"` +} + +// CustomActionTypeConfigurationPropertyInput is an input type that accepts CustomActionTypeConfigurationPropertyArgs and CustomActionTypeConfigurationPropertyOutput values. +// You can construct a concrete instance of `CustomActionTypeConfigurationPropertyInput` via: +// +// CustomActionTypeConfigurationPropertyArgs{...} +type CustomActionTypeConfigurationPropertyInput interface { + pulumi.Input + + ToCustomActionTypeConfigurationPropertyOutput() CustomActionTypeConfigurationPropertyOutput + ToCustomActionTypeConfigurationPropertyOutputWithContext(context.Context) CustomActionTypeConfigurationPropertyOutput +} + +type CustomActionTypeConfigurationPropertyArgs struct { + // The description of the action configuration property. + Description pulumi.StringPtrInput `pulumi:"description"` + // Whether the configuration property is a key. + Key pulumi.BoolInput `pulumi:"key"` + // The name of the action configuration property. + Name pulumi.StringInput `pulumi:"name"` + // Indicates that the property will be used in conjunction with PollForJobs. + Queryable pulumi.BoolPtrInput `pulumi:"queryable"` + // Whether the configuration property is a required value. + Required pulumi.BoolInput `pulumi:"required"` + // Whether the configuration property is secret. + Secret pulumi.BoolInput `pulumi:"secret"` + // The type of the configuration property. Valid values: `String`, `Number`, `Boolean` + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (CustomActionTypeConfigurationPropertyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CustomActionTypeConfigurationProperty)(nil)).Elem() +} + +func (i CustomActionTypeConfigurationPropertyArgs) ToCustomActionTypeConfigurationPropertyOutput() CustomActionTypeConfigurationPropertyOutput { + return i.ToCustomActionTypeConfigurationPropertyOutputWithContext(context.Background()) +} + +func (i CustomActionTypeConfigurationPropertyArgs) ToCustomActionTypeConfigurationPropertyOutputWithContext(ctx context.Context) CustomActionTypeConfigurationPropertyOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomActionTypeConfigurationPropertyOutput) +} + +// CustomActionTypeConfigurationPropertyArrayInput is an input type that accepts CustomActionTypeConfigurationPropertyArray and CustomActionTypeConfigurationPropertyArrayOutput values. +// You can construct a concrete instance of `CustomActionTypeConfigurationPropertyArrayInput` via: +// +// CustomActionTypeConfigurationPropertyArray{ CustomActionTypeConfigurationPropertyArgs{...} } +type CustomActionTypeConfigurationPropertyArrayInput interface { + pulumi.Input + + ToCustomActionTypeConfigurationPropertyArrayOutput() CustomActionTypeConfigurationPropertyArrayOutput + ToCustomActionTypeConfigurationPropertyArrayOutputWithContext(context.Context) CustomActionTypeConfigurationPropertyArrayOutput +} + +type CustomActionTypeConfigurationPropertyArray []CustomActionTypeConfigurationPropertyInput + +func (CustomActionTypeConfigurationPropertyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CustomActionTypeConfigurationProperty)(nil)).Elem() +} + +func (i CustomActionTypeConfigurationPropertyArray) ToCustomActionTypeConfigurationPropertyArrayOutput() CustomActionTypeConfigurationPropertyArrayOutput { + return i.ToCustomActionTypeConfigurationPropertyArrayOutputWithContext(context.Background()) +} + +func (i CustomActionTypeConfigurationPropertyArray) ToCustomActionTypeConfigurationPropertyArrayOutputWithContext(ctx context.Context) CustomActionTypeConfigurationPropertyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomActionTypeConfigurationPropertyArrayOutput) +} + +type CustomActionTypeConfigurationPropertyOutput struct{ *pulumi.OutputState } + +func (CustomActionTypeConfigurationPropertyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CustomActionTypeConfigurationProperty)(nil)).Elem() +} + +func (o CustomActionTypeConfigurationPropertyOutput) ToCustomActionTypeConfigurationPropertyOutput() CustomActionTypeConfigurationPropertyOutput { + return o +} + +func (o CustomActionTypeConfigurationPropertyOutput) ToCustomActionTypeConfigurationPropertyOutputWithContext(ctx context.Context) CustomActionTypeConfigurationPropertyOutput { + return o +} + +// The description of the action configuration property. +func (o CustomActionTypeConfigurationPropertyOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v CustomActionTypeConfigurationProperty) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Whether the configuration property is a key. +func (o CustomActionTypeConfigurationPropertyOutput) Key() pulumi.BoolOutput { + return o.ApplyT(func(v CustomActionTypeConfigurationProperty) bool { return v.Key }).(pulumi.BoolOutput) +} + +// The name of the action configuration property. +func (o CustomActionTypeConfigurationPropertyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v CustomActionTypeConfigurationProperty) string { return v.Name }).(pulumi.StringOutput) +} + +// Indicates that the property will be used in conjunction with PollForJobs. +func (o CustomActionTypeConfigurationPropertyOutput) Queryable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CustomActionTypeConfigurationProperty) *bool { return v.Queryable }).(pulumi.BoolPtrOutput) +} + +// Whether the configuration property is a required value. +func (o CustomActionTypeConfigurationPropertyOutput) Required() pulumi.BoolOutput { + return o.ApplyT(func(v CustomActionTypeConfigurationProperty) bool { return v.Required }).(pulumi.BoolOutput) +} + +// Whether the configuration property is secret. +func (o CustomActionTypeConfigurationPropertyOutput) Secret() pulumi.BoolOutput { + return o.ApplyT(func(v CustomActionTypeConfigurationProperty) bool { return v.Secret }).(pulumi.BoolOutput) +} + +// The type of the configuration property. Valid values: `String`, `Number`, `Boolean` +func (o CustomActionTypeConfigurationPropertyOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v CustomActionTypeConfigurationProperty) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type CustomActionTypeConfigurationPropertyArrayOutput struct{ *pulumi.OutputState } + +func (CustomActionTypeConfigurationPropertyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CustomActionTypeConfigurationProperty)(nil)).Elem() +} + +func (o CustomActionTypeConfigurationPropertyArrayOutput) ToCustomActionTypeConfigurationPropertyArrayOutput() CustomActionTypeConfigurationPropertyArrayOutput { + return o +} + +func (o CustomActionTypeConfigurationPropertyArrayOutput) ToCustomActionTypeConfigurationPropertyArrayOutputWithContext(ctx context.Context) CustomActionTypeConfigurationPropertyArrayOutput { + return o +} + +func (o CustomActionTypeConfigurationPropertyArrayOutput) Index(i pulumi.IntInput) CustomActionTypeConfigurationPropertyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CustomActionTypeConfigurationProperty { + return vs[0].([]CustomActionTypeConfigurationProperty)[vs[1].(int)] + }).(CustomActionTypeConfigurationPropertyOutput) +} + +type CustomActionTypeInputArtifactDetails struct { + // The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + MaximumCount int `pulumi:"maximumCount"` + // The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + MinimumCount int `pulumi:"minimumCount"` +} + +// CustomActionTypeInputArtifactDetailsInput is an input type that accepts CustomActionTypeInputArtifactDetailsArgs and CustomActionTypeInputArtifactDetailsOutput values. +// You can construct a concrete instance of `CustomActionTypeInputArtifactDetailsInput` via: +// +// CustomActionTypeInputArtifactDetailsArgs{...} +type CustomActionTypeInputArtifactDetailsInput interface { + pulumi.Input + + ToCustomActionTypeInputArtifactDetailsOutput() CustomActionTypeInputArtifactDetailsOutput + ToCustomActionTypeInputArtifactDetailsOutputWithContext(context.Context) CustomActionTypeInputArtifactDetailsOutput +} + +type CustomActionTypeInputArtifactDetailsArgs struct { + // The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + MaximumCount pulumi.IntInput `pulumi:"maximumCount"` + // The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + MinimumCount pulumi.IntInput `pulumi:"minimumCount"` +} + +func (CustomActionTypeInputArtifactDetailsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CustomActionTypeInputArtifactDetails)(nil)).Elem() +} + +func (i CustomActionTypeInputArtifactDetailsArgs) ToCustomActionTypeInputArtifactDetailsOutput() CustomActionTypeInputArtifactDetailsOutput { + return i.ToCustomActionTypeInputArtifactDetailsOutputWithContext(context.Background()) +} + +func (i CustomActionTypeInputArtifactDetailsArgs) ToCustomActionTypeInputArtifactDetailsOutputWithContext(ctx context.Context) CustomActionTypeInputArtifactDetailsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomActionTypeInputArtifactDetailsOutput) +} + +func (i CustomActionTypeInputArtifactDetailsArgs) ToCustomActionTypeInputArtifactDetailsPtrOutput() CustomActionTypeInputArtifactDetailsPtrOutput { + return i.ToCustomActionTypeInputArtifactDetailsPtrOutputWithContext(context.Background()) +} + +func (i CustomActionTypeInputArtifactDetailsArgs) ToCustomActionTypeInputArtifactDetailsPtrOutputWithContext(ctx context.Context) CustomActionTypeInputArtifactDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomActionTypeInputArtifactDetailsOutput).ToCustomActionTypeInputArtifactDetailsPtrOutputWithContext(ctx) +} + +// CustomActionTypeInputArtifactDetailsPtrInput is an input type that accepts CustomActionTypeInputArtifactDetailsArgs, CustomActionTypeInputArtifactDetailsPtr and CustomActionTypeInputArtifactDetailsPtrOutput values. +// You can construct a concrete instance of `CustomActionTypeInputArtifactDetailsPtrInput` via: +// +// CustomActionTypeInputArtifactDetailsArgs{...} +// +// or: +// +// nil +type CustomActionTypeInputArtifactDetailsPtrInput interface { + pulumi.Input + + ToCustomActionTypeInputArtifactDetailsPtrOutput() CustomActionTypeInputArtifactDetailsPtrOutput + ToCustomActionTypeInputArtifactDetailsPtrOutputWithContext(context.Context) CustomActionTypeInputArtifactDetailsPtrOutput +} + +type customActionTypeInputArtifactDetailsPtrType CustomActionTypeInputArtifactDetailsArgs + +func CustomActionTypeInputArtifactDetailsPtr(v *CustomActionTypeInputArtifactDetailsArgs) CustomActionTypeInputArtifactDetailsPtrInput { + return (*customActionTypeInputArtifactDetailsPtrType)(v) +} + +func (*customActionTypeInputArtifactDetailsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CustomActionTypeInputArtifactDetails)(nil)).Elem() +} + +func (i *customActionTypeInputArtifactDetailsPtrType) ToCustomActionTypeInputArtifactDetailsPtrOutput() CustomActionTypeInputArtifactDetailsPtrOutput { + return i.ToCustomActionTypeInputArtifactDetailsPtrOutputWithContext(context.Background()) +} + +func (i *customActionTypeInputArtifactDetailsPtrType) ToCustomActionTypeInputArtifactDetailsPtrOutputWithContext(ctx context.Context) CustomActionTypeInputArtifactDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomActionTypeInputArtifactDetailsPtrOutput) +} + +type CustomActionTypeInputArtifactDetailsOutput struct{ *pulumi.OutputState } + +func (CustomActionTypeInputArtifactDetailsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CustomActionTypeInputArtifactDetails)(nil)).Elem() +} + +func (o CustomActionTypeInputArtifactDetailsOutput) ToCustomActionTypeInputArtifactDetailsOutput() CustomActionTypeInputArtifactDetailsOutput { + return o +} + +func (o CustomActionTypeInputArtifactDetailsOutput) ToCustomActionTypeInputArtifactDetailsOutputWithContext(ctx context.Context) CustomActionTypeInputArtifactDetailsOutput { + return o +} + +func (o CustomActionTypeInputArtifactDetailsOutput) ToCustomActionTypeInputArtifactDetailsPtrOutput() CustomActionTypeInputArtifactDetailsPtrOutput { + return o.ToCustomActionTypeInputArtifactDetailsPtrOutputWithContext(context.Background()) +} + +func (o CustomActionTypeInputArtifactDetailsOutput) ToCustomActionTypeInputArtifactDetailsPtrOutputWithContext(ctx context.Context) CustomActionTypeInputArtifactDetailsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CustomActionTypeInputArtifactDetails) *CustomActionTypeInputArtifactDetails { + return &v + }).(CustomActionTypeInputArtifactDetailsPtrOutput) +} + +// The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 +func (o CustomActionTypeInputArtifactDetailsOutput) MaximumCount() pulumi.IntOutput { + return o.ApplyT(func(v CustomActionTypeInputArtifactDetails) int { return v.MaximumCount }).(pulumi.IntOutput) +} + +// The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 +func (o CustomActionTypeInputArtifactDetailsOutput) MinimumCount() pulumi.IntOutput { + return o.ApplyT(func(v CustomActionTypeInputArtifactDetails) int { return v.MinimumCount }).(pulumi.IntOutput) +} + +type CustomActionTypeInputArtifactDetailsPtrOutput struct{ *pulumi.OutputState } + +func (CustomActionTypeInputArtifactDetailsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CustomActionTypeInputArtifactDetails)(nil)).Elem() +} + +func (o CustomActionTypeInputArtifactDetailsPtrOutput) ToCustomActionTypeInputArtifactDetailsPtrOutput() CustomActionTypeInputArtifactDetailsPtrOutput { + return o +} + +func (o CustomActionTypeInputArtifactDetailsPtrOutput) ToCustomActionTypeInputArtifactDetailsPtrOutputWithContext(ctx context.Context) CustomActionTypeInputArtifactDetailsPtrOutput { + return o +} + +func (o CustomActionTypeInputArtifactDetailsPtrOutput) Elem() CustomActionTypeInputArtifactDetailsOutput { + return o.ApplyT(func(v *CustomActionTypeInputArtifactDetails) CustomActionTypeInputArtifactDetails { + if v != nil { + return *v + } + var ret CustomActionTypeInputArtifactDetails + return ret + }).(CustomActionTypeInputArtifactDetailsOutput) +} + +// The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 +func (o CustomActionTypeInputArtifactDetailsPtrOutput) MaximumCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CustomActionTypeInputArtifactDetails) *int { + if v == nil { + return nil + } + return &v.MaximumCount + }).(pulumi.IntPtrOutput) +} + +// The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 +func (o CustomActionTypeInputArtifactDetailsPtrOutput) MinimumCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CustomActionTypeInputArtifactDetails) *int { + if v == nil { + return nil + } + return &v.MinimumCount + }).(pulumi.IntPtrOutput) +} + +type CustomActionTypeOutputArtifactDetails struct { + // The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + MaximumCount int `pulumi:"maximumCount"` + // The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + MinimumCount int `pulumi:"minimumCount"` +} + +// CustomActionTypeOutputArtifactDetailsInput is an input type that accepts CustomActionTypeOutputArtifactDetailsArgs and CustomActionTypeOutputArtifactDetailsOutput values. +// You can construct a concrete instance of `CustomActionTypeOutputArtifactDetailsInput` via: +// +// CustomActionTypeOutputArtifactDetailsArgs{...} +type CustomActionTypeOutputArtifactDetailsInput interface { + pulumi.Input + + ToCustomActionTypeOutputArtifactDetailsOutput() CustomActionTypeOutputArtifactDetailsOutput + ToCustomActionTypeOutputArtifactDetailsOutputWithContext(context.Context) CustomActionTypeOutputArtifactDetailsOutput +} + +type CustomActionTypeOutputArtifactDetailsArgs struct { + // The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + MaximumCount pulumi.IntInput `pulumi:"maximumCount"` + // The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + MinimumCount pulumi.IntInput `pulumi:"minimumCount"` +} + +func (CustomActionTypeOutputArtifactDetailsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CustomActionTypeOutputArtifactDetails)(nil)).Elem() +} + +func (i CustomActionTypeOutputArtifactDetailsArgs) ToCustomActionTypeOutputArtifactDetailsOutput() CustomActionTypeOutputArtifactDetailsOutput { + return i.ToCustomActionTypeOutputArtifactDetailsOutputWithContext(context.Background()) +} + +func (i CustomActionTypeOutputArtifactDetailsArgs) ToCustomActionTypeOutputArtifactDetailsOutputWithContext(ctx context.Context) CustomActionTypeOutputArtifactDetailsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomActionTypeOutputArtifactDetailsOutput) +} + +func (i CustomActionTypeOutputArtifactDetailsArgs) ToCustomActionTypeOutputArtifactDetailsPtrOutput() CustomActionTypeOutputArtifactDetailsPtrOutput { + return i.ToCustomActionTypeOutputArtifactDetailsPtrOutputWithContext(context.Background()) +} + +func (i CustomActionTypeOutputArtifactDetailsArgs) ToCustomActionTypeOutputArtifactDetailsPtrOutputWithContext(ctx context.Context) CustomActionTypeOutputArtifactDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomActionTypeOutputArtifactDetailsOutput).ToCustomActionTypeOutputArtifactDetailsPtrOutputWithContext(ctx) +} + +// CustomActionTypeOutputArtifactDetailsPtrInput is an input type that accepts CustomActionTypeOutputArtifactDetailsArgs, CustomActionTypeOutputArtifactDetailsPtr and CustomActionTypeOutputArtifactDetailsPtrOutput values. +// You can construct a concrete instance of `CustomActionTypeOutputArtifactDetailsPtrInput` via: +// +// CustomActionTypeOutputArtifactDetailsArgs{...} +// +// or: +// +// nil +type CustomActionTypeOutputArtifactDetailsPtrInput interface { + pulumi.Input + + ToCustomActionTypeOutputArtifactDetailsPtrOutput() CustomActionTypeOutputArtifactDetailsPtrOutput + ToCustomActionTypeOutputArtifactDetailsPtrOutputWithContext(context.Context) CustomActionTypeOutputArtifactDetailsPtrOutput +} + +type customActionTypeOutputArtifactDetailsPtrType CustomActionTypeOutputArtifactDetailsArgs + +func CustomActionTypeOutputArtifactDetailsPtr(v *CustomActionTypeOutputArtifactDetailsArgs) CustomActionTypeOutputArtifactDetailsPtrInput { + return (*customActionTypeOutputArtifactDetailsPtrType)(v) +} + +func (*customActionTypeOutputArtifactDetailsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CustomActionTypeOutputArtifactDetails)(nil)).Elem() +} + +func (i *customActionTypeOutputArtifactDetailsPtrType) ToCustomActionTypeOutputArtifactDetailsPtrOutput() CustomActionTypeOutputArtifactDetailsPtrOutput { + return i.ToCustomActionTypeOutputArtifactDetailsPtrOutputWithContext(context.Background()) +} + +func (i *customActionTypeOutputArtifactDetailsPtrType) ToCustomActionTypeOutputArtifactDetailsPtrOutputWithContext(ctx context.Context) CustomActionTypeOutputArtifactDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomActionTypeOutputArtifactDetailsPtrOutput) +} + +type CustomActionTypeOutputArtifactDetailsOutput struct{ *pulumi.OutputState } + +func (CustomActionTypeOutputArtifactDetailsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CustomActionTypeOutputArtifactDetails)(nil)).Elem() +} + +func (o CustomActionTypeOutputArtifactDetailsOutput) ToCustomActionTypeOutputArtifactDetailsOutput() CustomActionTypeOutputArtifactDetailsOutput { + return o +} + +func (o CustomActionTypeOutputArtifactDetailsOutput) ToCustomActionTypeOutputArtifactDetailsOutputWithContext(ctx context.Context) CustomActionTypeOutputArtifactDetailsOutput { + return o +} + +func (o CustomActionTypeOutputArtifactDetailsOutput) ToCustomActionTypeOutputArtifactDetailsPtrOutput() CustomActionTypeOutputArtifactDetailsPtrOutput { + return o.ToCustomActionTypeOutputArtifactDetailsPtrOutputWithContext(context.Background()) +} + +func (o CustomActionTypeOutputArtifactDetailsOutput) ToCustomActionTypeOutputArtifactDetailsPtrOutputWithContext(ctx context.Context) CustomActionTypeOutputArtifactDetailsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CustomActionTypeOutputArtifactDetails) *CustomActionTypeOutputArtifactDetails { + return &v + }).(CustomActionTypeOutputArtifactDetailsPtrOutput) +} + +// The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 +func (o CustomActionTypeOutputArtifactDetailsOutput) MaximumCount() pulumi.IntOutput { + return o.ApplyT(func(v CustomActionTypeOutputArtifactDetails) int { return v.MaximumCount }).(pulumi.IntOutput) +} + +// The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 +func (o CustomActionTypeOutputArtifactDetailsOutput) MinimumCount() pulumi.IntOutput { + return o.ApplyT(func(v CustomActionTypeOutputArtifactDetails) int { return v.MinimumCount }).(pulumi.IntOutput) +} + +type CustomActionTypeOutputArtifactDetailsPtrOutput struct{ *pulumi.OutputState } + +func (CustomActionTypeOutputArtifactDetailsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CustomActionTypeOutputArtifactDetails)(nil)).Elem() +} + +func (o CustomActionTypeOutputArtifactDetailsPtrOutput) ToCustomActionTypeOutputArtifactDetailsPtrOutput() CustomActionTypeOutputArtifactDetailsPtrOutput { + return o +} + +func (o CustomActionTypeOutputArtifactDetailsPtrOutput) ToCustomActionTypeOutputArtifactDetailsPtrOutputWithContext(ctx context.Context) CustomActionTypeOutputArtifactDetailsPtrOutput { + return o +} + +func (o CustomActionTypeOutputArtifactDetailsPtrOutput) Elem() CustomActionTypeOutputArtifactDetailsOutput { + return o.ApplyT(func(v *CustomActionTypeOutputArtifactDetails) CustomActionTypeOutputArtifactDetails { + if v != nil { + return *v + } + var ret CustomActionTypeOutputArtifactDetails + return ret + }).(CustomActionTypeOutputArtifactDetailsOutput) +} + +// The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 +func (o CustomActionTypeOutputArtifactDetailsPtrOutput) MaximumCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CustomActionTypeOutputArtifactDetails) *int { + if v == nil { + return nil + } + return &v.MaximumCount + }).(pulumi.IntPtrOutput) +} + +// The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 +func (o CustomActionTypeOutputArtifactDetailsPtrOutput) MinimumCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CustomActionTypeOutputArtifactDetails) *int { + if v == nil { + return nil + } + return &v.MinimumCount + }).(pulumi.IntPtrOutput) +} + +type CustomActionTypeSettings struct { + // The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. + EntityUrlTemplate *string `pulumi:"entityUrlTemplate"` + // The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. + ExecutionUrlTemplate *string `pulumi:"executionUrlTemplate"` + // The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. + RevisionUrlTemplate *string `pulumi:"revisionUrlTemplate"` + // The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. + ThirdPartyConfigurationUrl *string `pulumi:"thirdPartyConfigurationUrl"` +} + +// CustomActionTypeSettingsInput is an input type that accepts CustomActionTypeSettingsArgs and CustomActionTypeSettingsOutput values. +// You can construct a concrete instance of `CustomActionTypeSettingsInput` via: +// +// CustomActionTypeSettingsArgs{...} +type CustomActionTypeSettingsInput interface { + pulumi.Input + + ToCustomActionTypeSettingsOutput() CustomActionTypeSettingsOutput + ToCustomActionTypeSettingsOutputWithContext(context.Context) CustomActionTypeSettingsOutput +} + +type CustomActionTypeSettingsArgs struct { + // The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. + EntityUrlTemplate pulumi.StringPtrInput `pulumi:"entityUrlTemplate"` + // The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. + ExecutionUrlTemplate pulumi.StringPtrInput `pulumi:"executionUrlTemplate"` + // The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. + RevisionUrlTemplate pulumi.StringPtrInput `pulumi:"revisionUrlTemplate"` + // The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. + ThirdPartyConfigurationUrl pulumi.StringPtrInput `pulumi:"thirdPartyConfigurationUrl"` +} + +func (CustomActionTypeSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CustomActionTypeSettings)(nil)).Elem() +} + +func (i CustomActionTypeSettingsArgs) ToCustomActionTypeSettingsOutput() CustomActionTypeSettingsOutput { + return i.ToCustomActionTypeSettingsOutputWithContext(context.Background()) +} + +func (i CustomActionTypeSettingsArgs) ToCustomActionTypeSettingsOutputWithContext(ctx context.Context) CustomActionTypeSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomActionTypeSettingsOutput) +} + +func (i CustomActionTypeSettingsArgs) ToCustomActionTypeSettingsPtrOutput() CustomActionTypeSettingsPtrOutput { + return i.ToCustomActionTypeSettingsPtrOutputWithContext(context.Background()) +} + +func (i CustomActionTypeSettingsArgs) ToCustomActionTypeSettingsPtrOutputWithContext(ctx context.Context) CustomActionTypeSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomActionTypeSettingsOutput).ToCustomActionTypeSettingsPtrOutputWithContext(ctx) +} + +// CustomActionTypeSettingsPtrInput is an input type that accepts CustomActionTypeSettingsArgs, CustomActionTypeSettingsPtr and CustomActionTypeSettingsPtrOutput values. +// You can construct a concrete instance of `CustomActionTypeSettingsPtrInput` via: +// +// CustomActionTypeSettingsArgs{...} +// +// or: +// +// nil +type CustomActionTypeSettingsPtrInput interface { + pulumi.Input + + ToCustomActionTypeSettingsPtrOutput() CustomActionTypeSettingsPtrOutput + ToCustomActionTypeSettingsPtrOutputWithContext(context.Context) CustomActionTypeSettingsPtrOutput +} + +type customActionTypeSettingsPtrType CustomActionTypeSettingsArgs + +func CustomActionTypeSettingsPtr(v *CustomActionTypeSettingsArgs) CustomActionTypeSettingsPtrInput { + return (*customActionTypeSettingsPtrType)(v) +} + +func (*customActionTypeSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CustomActionTypeSettings)(nil)).Elem() +} + +func (i *customActionTypeSettingsPtrType) ToCustomActionTypeSettingsPtrOutput() CustomActionTypeSettingsPtrOutput { + return i.ToCustomActionTypeSettingsPtrOutputWithContext(context.Background()) +} + +func (i *customActionTypeSettingsPtrType) ToCustomActionTypeSettingsPtrOutputWithContext(ctx context.Context) CustomActionTypeSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomActionTypeSettingsPtrOutput) +} + +type CustomActionTypeSettingsOutput struct{ *pulumi.OutputState } + +func (CustomActionTypeSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CustomActionTypeSettings)(nil)).Elem() +} + +func (o CustomActionTypeSettingsOutput) ToCustomActionTypeSettingsOutput() CustomActionTypeSettingsOutput { + return o +} + +func (o CustomActionTypeSettingsOutput) ToCustomActionTypeSettingsOutputWithContext(ctx context.Context) CustomActionTypeSettingsOutput { + return o +} + +func (o CustomActionTypeSettingsOutput) ToCustomActionTypeSettingsPtrOutput() CustomActionTypeSettingsPtrOutput { + return o.ToCustomActionTypeSettingsPtrOutputWithContext(context.Background()) +} + +func (o CustomActionTypeSettingsOutput) ToCustomActionTypeSettingsPtrOutputWithContext(ctx context.Context) CustomActionTypeSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CustomActionTypeSettings) *CustomActionTypeSettings { + return &v + }).(CustomActionTypeSettingsPtrOutput) +} + +// The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. +func (o CustomActionTypeSettingsOutput) EntityUrlTemplate() pulumi.StringPtrOutput { + return o.ApplyT(func(v CustomActionTypeSettings) *string { return v.EntityUrlTemplate }).(pulumi.StringPtrOutput) +} + +// The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. +func (o CustomActionTypeSettingsOutput) ExecutionUrlTemplate() pulumi.StringPtrOutput { + return o.ApplyT(func(v CustomActionTypeSettings) *string { return v.ExecutionUrlTemplate }).(pulumi.StringPtrOutput) +} + +// The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. +func (o CustomActionTypeSettingsOutput) RevisionUrlTemplate() pulumi.StringPtrOutput { + return o.ApplyT(func(v CustomActionTypeSettings) *string { return v.RevisionUrlTemplate }).(pulumi.StringPtrOutput) +} + +// The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. +func (o CustomActionTypeSettingsOutput) ThirdPartyConfigurationUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v CustomActionTypeSettings) *string { return v.ThirdPartyConfigurationUrl }).(pulumi.StringPtrOutput) +} + +type CustomActionTypeSettingsPtrOutput struct{ *pulumi.OutputState } + +func (CustomActionTypeSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CustomActionTypeSettings)(nil)).Elem() +} + +func (o CustomActionTypeSettingsPtrOutput) ToCustomActionTypeSettingsPtrOutput() CustomActionTypeSettingsPtrOutput { + return o +} + +func (o CustomActionTypeSettingsPtrOutput) ToCustomActionTypeSettingsPtrOutputWithContext(ctx context.Context) CustomActionTypeSettingsPtrOutput { + return o +} + +func (o CustomActionTypeSettingsPtrOutput) Elem() CustomActionTypeSettingsOutput { + return o.ApplyT(func(v *CustomActionTypeSettings) CustomActionTypeSettings { + if v != nil { + return *v + } + var ret CustomActionTypeSettings + return ret + }).(CustomActionTypeSettingsOutput) +} + +// The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. +func (o CustomActionTypeSettingsPtrOutput) EntityUrlTemplate() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CustomActionTypeSettings) *string { + if v == nil { + return nil + } + return v.EntityUrlTemplate + }).(pulumi.StringPtrOutput) +} + +// The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. +func (o CustomActionTypeSettingsPtrOutput) ExecutionUrlTemplate() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CustomActionTypeSettings) *string { + if v == nil { + return nil + } + return v.ExecutionUrlTemplate + }).(pulumi.StringPtrOutput) +} + +// The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. +func (o CustomActionTypeSettingsPtrOutput) RevisionUrlTemplate() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CustomActionTypeSettings) *string { + if v == nil { + return nil + } + return v.RevisionUrlTemplate + }).(pulumi.StringPtrOutput) +} + +// The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. +func (o CustomActionTypeSettingsPtrOutput) ThirdPartyConfigurationUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CustomActionTypeSettings) *string { + if v == nil { + return nil + } + return v.ThirdPartyConfigurationUrl + }).(pulumi.StringPtrOutput) +} + type PipelineArtifactStore struct { // The encryption key block AWS CodePipeline uses to encrypt the data in the artifact store, such as an AWS Key Management Service (AWS KMS) key. If you don't specify a key, AWS CodePipeline uses the default key for Amazon Simple Storage Service (Amazon S3). An `encryptionKey` block is documented below. EncryptionKey *PipelineArtifactStoreEncryptionKey `pulumi:"encryptionKey"` @@ -855,6 +1512,14 @@ func (o WebhookFilterArrayOutput) Index(i pulumi.IntInput) WebhookFilterOutput { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CustomActionTypeConfigurationPropertyInput)(nil)).Elem(), CustomActionTypeConfigurationPropertyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomActionTypeConfigurationPropertyArrayInput)(nil)).Elem(), CustomActionTypeConfigurationPropertyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomActionTypeInputArtifactDetailsInput)(nil)).Elem(), CustomActionTypeInputArtifactDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomActionTypeInputArtifactDetailsPtrInput)(nil)).Elem(), CustomActionTypeInputArtifactDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomActionTypeOutputArtifactDetailsInput)(nil)).Elem(), CustomActionTypeOutputArtifactDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomActionTypeOutputArtifactDetailsPtrInput)(nil)).Elem(), CustomActionTypeOutputArtifactDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomActionTypeSettingsInput)(nil)).Elem(), CustomActionTypeSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomActionTypeSettingsPtrInput)(nil)).Elem(), CustomActionTypeSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PipelineArtifactStoreInput)(nil)).Elem(), PipelineArtifactStoreArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PipelineArtifactStoreArrayInput)(nil)).Elem(), PipelineArtifactStoreArray{}) pulumi.RegisterInputType(reflect.TypeOf((*PipelineArtifactStoreEncryptionKeyInput)(nil)).Elem(), PipelineArtifactStoreEncryptionKeyArgs{}) @@ -867,6 +1532,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebhookAuthenticationConfigurationPtrInput)(nil)).Elem(), WebhookAuthenticationConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebhookFilterInput)(nil)).Elem(), WebhookFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebhookFilterArrayInput)(nil)).Elem(), WebhookFilterArray{}) + pulumi.RegisterOutputType(CustomActionTypeConfigurationPropertyOutput{}) + pulumi.RegisterOutputType(CustomActionTypeConfigurationPropertyArrayOutput{}) + pulumi.RegisterOutputType(CustomActionTypeInputArtifactDetailsOutput{}) + pulumi.RegisterOutputType(CustomActionTypeInputArtifactDetailsPtrOutput{}) + pulumi.RegisterOutputType(CustomActionTypeOutputArtifactDetailsOutput{}) + pulumi.RegisterOutputType(CustomActionTypeOutputArtifactDetailsPtrOutput{}) + pulumi.RegisterOutputType(CustomActionTypeSettingsOutput{}) + pulumi.RegisterOutputType(CustomActionTypeSettingsPtrOutput{}) pulumi.RegisterOutputType(PipelineArtifactStoreOutput{}) pulumi.RegisterOutputType(PipelineArtifactStoreArrayOutput{}) pulumi.RegisterOutputType(PipelineArtifactStoreEncryptionKeyOutput{}) diff --git a/sdk/go/aws/cognito/pulumiTypes.go b/sdk/go/aws/cognito/pulumiTypes.go index fb0450a93f2..7a83f485c58 100644 --- a/sdk/go/aws/cognito/pulumiTypes.go +++ b/sdk/go/aws/cognito/pulumiTypes.go @@ -5516,6 +5516,145 @@ func (o UserPoolSoftwareTokenMfaConfigurationPtrOutput) Enabled() pulumi.BoolPtr }).(pulumi.BoolPtrOutput) } +type UserPoolUserAttributeUpdateSettings struct { + // A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `autoVerifiedAttributes`. Valid values: `email`, `phoneNumber`. + AttributesRequireVerificationBeforeUpdates []string `pulumi:"attributesRequireVerificationBeforeUpdates"` +} + +// UserPoolUserAttributeUpdateSettingsInput is an input type that accepts UserPoolUserAttributeUpdateSettingsArgs and UserPoolUserAttributeUpdateSettingsOutput values. +// You can construct a concrete instance of `UserPoolUserAttributeUpdateSettingsInput` via: +// +// UserPoolUserAttributeUpdateSettingsArgs{...} +type UserPoolUserAttributeUpdateSettingsInput interface { + pulumi.Input + + ToUserPoolUserAttributeUpdateSettingsOutput() UserPoolUserAttributeUpdateSettingsOutput + ToUserPoolUserAttributeUpdateSettingsOutputWithContext(context.Context) UserPoolUserAttributeUpdateSettingsOutput +} + +type UserPoolUserAttributeUpdateSettingsArgs struct { + // A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `autoVerifiedAttributes`. Valid values: `email`, `phoneNumber`. + AttributesRequireVerificationBeforeUpdates pulumi.StringArrayInput `pulumi:"attributesRequireVerificationBeforeUpdates"` +} + +func (UserPoolUserAttributeUpdateSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*UserPoolUserAttributeUpdateSettings)(nil)).Elem() +} + +func (i UserPoolUserAttributeUpdateSettingsArgs) ToUserPoolUserAttributeUpdateSettingsOutput() UserPoolUserAttributeUpdateSettingsOutput { + return i.ToUserPoolUserAttributeUpdateSettingsOutputWithContext(context.Background()) +} + +func (i UserPoolUserAttributeUpdateSettingsArgs) ToUserPoolUserAttributeUpdateSettingsOutputWithContext(ctx context.Context) UserPoolUserAttributeUpdateSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserPoolUserAttributeUpdateSettingsOutput) +} + +func (i UserPoolUserAttributeUpdateSettingsArgs) ToUserPoolUserAttributeUpdateSettingsPtrOutput() UserPoolUserAttributeUpdateSettingsPtrOutput { + return i.ToUserPoolUserAttributeUpdateSettingsPtrOutputWithContext(context.Background()) +} + +func (i UserPoolUserAttributeUpdateSettingsArgs) ToUserPoolUserAttributeUpdateSettingsPtrOutputWithContext(ctx context.Context) UserPoolUserAttributeUpdateSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserPoolUserAttributeUpdateSettingsOutput).ToUserPoolUserAttributeUpdateSettingsPtrOutputWithContext(ctx) +} + +// UserPoolUserAttributeUpdateSettingsPtrInput is an input type that accepts UserPoolUserAttributeUpdateSettingsArgs, UserPoolUserAttributeUpdateSettingsPtr and UserPoolUserAttributeUpdateSettingsPtrOutput values. +// You can construct a concrete instance of `UserPoolUserAttributeUpdateSettingsPtrInput` via: +// +// UserPoolUserAttributeUpdateSettingsArgs{...} +// +// or: +// +// nil +type UserPoolUserAttributeUpdateSettingsPtrInput interface { + pulumi.Input + + ToUserPoolUserAttributeUpdateSettingsPtrOutput() UserPoolUserAttributeUpdateSettingsPtrOutput + ToUserPoolUserAttributeUpdateSettingsPtrOutputWithContext(context.Context) UserPoolUserAttributeUpdateSettingsPtrOutput +} + +type userPoolUserAttributeUpdateSettingsPtrType UserPoolUserAttributeUpdateSettingsArgs + +func UserPoolUserAttributeUpdateSettingsPtr(v *UserPoolUserAttributeUpdateSettingsArgs) UserPoolUserAttributeUpdateSettingsPtrInput { + return (*userPoolUserAttributeUpdateSettingsPtrType)(v) +} + +func (*userPoolUserAttributeUpdateSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**UserPoolUserAttributeUpdateSettings)(nil)).Elem() +} + +func (i *userPoolUserAttributeUpdateSettingsPtrType) ToUserPoolUserAttributeUpdateSettingsPtrOutput() UserPoolUserAttributeUpdateSettingsPtrOutput { + return i.ToUserPoolUserAttributeUpdateSettingsPtrOutputWithContext(context.Background()) +} + +func (i *userPoolUserAttributeUpdateSettingsPtrType) ToUserPoolUserAttributeUpdateSettingsPtrOutputWithContext(ctx context.Context) UserPoolUserAttributeUpdateSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserPoolUserAttributeUpdateSettingsPtrOutput) +} + +type UserPoolUserAttributeUpdateSettingsOutput struct{ *pulumi.OutputState } + +func (UserPoolUserAttributeUpdateSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserPoolUserAttributeUpdateSettings)(nil)).Elem() +} + +func (o UserPoolUserAttributeUpdateSettingsOutput) ToUserPoolUserAttributeUpdateSettingsOutput() UserPoolUserAttributeUpdateSettingsOutput { + return o +} + +func (o UserPoolUserAttributeUpdateSettingsOutput) ToUserPoolUserAttributeUpdateSettingsOutputWithContext(ctx context.Context) UserPoolUserAttributeUpdateSettingsOutput { + return o +} + +func (o UserPoolUserAttributeUpdateSettingsOutput) ToUserPoolUserAttributeUpdateSettingsPtrOutput() UserPoolUserAttributeUpdateSettingsPtrOutput { + return o.ToUserPoolUserAttributeUpdateSettingsPtrOutputWithContext(context.Background()) +} + +func (o UserPoolUserAttributeUpdateSettingsOutput) ToUserPoolUserAttributeUpdateSettingsPtrOutputWithContext(ctx context.Context) UserPoolUserAttributeUpdateSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v UserPoolUserAttributeUpdateSettings) *UserPoolUserAttributeUpdateSettings { + return &v + }).(UserPoolUserAttributeUpdateSettingsPtrOutput) +} + +// A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `autoVerifiedAttributes`. Valid values: `email`, `phoneNumber`. +func (o UserPoolUserAttributeUpdateSettingsOutput) AttributesRequireVerificationBeforeUpdates() pulumi.StringArrayOutput { + return o.ApplyT(func(v UserPoolUserAttributeUpdateSettings) []string { + return v.AttributesRequireVerificationBeforeUpdates + }).(pulumi.StringArrayOutput) +} + +type UserPoolUserAttributeUpdateSettingsPtrOutput struct{ *pulumi.OutputState } + +func (UserPoolUserAttributeUpdateSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UserPoolUserAttributeUpdateSettings)(nil)).Elem() +} + +func (o UserPoolUserAttributeUpdateSettingsPtrOutput) ToUserPoolUserAttributeUpdateSettingsPtrOutput() UserPoolUserAttributeUpdateSettingsPtrOutput { + return o +} + +func (o UserPoolUserAttributeUpdateSettingsPtrOutput) ToUserPoolUserAttributeUpdateSettingsPtrOutputWithContext(ctx context.Context) UserPoolUserAttributeUpdateSettingsPtrOutput { + return o +} + +func (o UserPoolUserAttributeUpdateSettingsPtrOutput) Elem() UserPoolUserAttributeUpdateSettingsOutput { + return o.ApplyT(func(v *UserPoolUserAttributeUpdateSettings) UserPoolUserAttributeUpdateSettings { + if v != nil { + return *v + } + var ret UserPoolUserAttributeUpdateSettings + return ret + }).(UserPoolUserAttributeUpdateSettingsOutput) +} + +// A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `autoVerifiedAttributes`. Valid values: `email`, `phoneNumber`. +func (o UserPoolUserAttributeUpdateSettingsPtrOutput) AttributesRequireVerificationBeforeUpdates() pulumi.StringArrayOutput { + return o.ApplyT(func(v *UserPoolUserAttributeUpdateSettings) []string { + if v == nil { + return nil + } + return v.AttributesRequireVerificationBeforeUpdates + }).(pulumi.StringArrayOutput) +} + type UserPoolUserPoolAddOns struct { // Mode for advanced security, must be one of `OFF`, `AUDIT` or `ENFORCED`. AdvancedSecurityMode string `pulumi:"advancedSecurityMode"` @@ -6337,6 +6476,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*UserPoolSmsConfigurationPtrInput)(nil)).Elem(), UserPoolSmsConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserPoolSoftwareTokenMfaConfigurationInput)(nil)).Elem(), UserPoolSoftwareTokenMfaConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserPoolSoftwareTokenMfaConfigurationPtrInput)(nil)).Elem(), UserPoolSoftwareTokenMfaConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserPoolUserAttributeUpdateSettingsInput)(nil)).Elem(), UserPoolUserAttributeUpdateSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserPoolUserAttributeUpdateSettingsPtrInput)(nil)).Elem(), UserPoolUserAttributeUpdateSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserPoolUserPoolAddOnsInput)(nil)).Elem(), UserPoolUserPoolAddOnsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserPoolUserPoolAddOnsPtrInput)(nil)).Elem(), UserPoolUserPoolAddOnsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserPoolUsernameConfigurationInput)(nil)).Elem(), UserPoolUsernameConfigurationArgs{}) @@ -6413,6 +6554,8 @@ func init() { pulumi.RegisterOutputType(UserPoolSmsConfigurationPtrOutput{}) pulumi.RegisterOutputType(UserPoolSoftwareTokenMfaConfigurationOutput{}) pulumi.RegisterOutputType(UserPoolSoftwareTokenMfaConfigurationPtrOutput{}) + pulumi.RegisterOutputType(UserPoolUserAttributeUpdateSettingsOutput{}) + pulumi.RegisterOutputType(UserPoolUserAttributeUpdateSettingsPtrOutput{}) pulumi.RegisterOutputType(UserPoolUserPoolAddOnsOutput{}) pulumi.RegisterOutputType(UserPoolUserPoolAddOnsPtrOutput{}) pulumi.RegisterOutputType(UserPoolUsernameConfigurationOutput{}) diff --git a/sdk/go/aws/cognito/userPool.go b/sdk/go/aws/cognito/userPool.go index 3a373ea8476..97ab6138029 100644 --- a/sdk/go/aws/cognito/userPool.go +++ b/sdk/go/aws/cognito/userPool.go @@ -170,6 +170,8 @@ type UserPool struct { Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + // Configuration block for user attribute update settings. Detailed below. + UserAttributeUpdateSettings UserPoolUserAttributeUpdateSettingsPtrOutput `pulumi:"userAttributeUpdateSettings"` // Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. UserPoolAddOns UserPoolUserPoolAddOnsPtrOutput `pulumi:"userPoolAddOns"` // Whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with `aliasAttributes`. @@ -261,6 +263,8 @@ type userPoolState struct { Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll map[string]string `pulumi:"tagsAll"` + // Configuration block for user attribute update settings. Detailed below. + UserAttributeUpdateSettings *UserPoolUserAttributeUpdateSettings `pulumi:"userAttributeUpdateSettings"` // Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. UserPoolAddOns *UserPoolUserPoolAddOns `pulumi:"userPoolAddOns"` // Whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with `aliasAttributes`. @@ -324,6 +328,8 @@ type UserPoolState struct { Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapInput + // Configuration block for user attribute update settings. Detailed below. + UserAttributeUpdateSettings UserPoolUserAttributeUpdateSettingsPtrInput // Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. UserPoolAddOns UserPoolUserPoolAddOnsPtrInput // Whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with `aliasAttributes`. @@ -375,6 +381,8 @@ type userPoolArgs struct { SoftwareTokenMfaConfiguration *UserPoolSoftwareTokenMfaConfiguration `pulumi:"softwareTokenMfaConfiguration"` // Map of tags to assign to the User Pool. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // Configuration block for user attribute update settings. Detailed below. + UserAttributeUpdateSettings *UserPoolUserAttributeUpdateSettings `pulumi:"userAttributeUpdateSettings"` // Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. UserPoolAddOns *UserPoolUserPoolAddOns `pulumi:"userPoolAddOns"` // Whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with `aliasAttributes`. @@ -423,6 +431,8 @@ type UserPoolArgs struct { SoftwareTokenMfaConfiguration UserPoolSoftwareTokenMfaConfigurationPtrInput // Map of tags to assign to the User Pool. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // Configuration block for user attribute update settings. Detailed below. + UserAttributeUpdateSettings UserPoolUserAttributeUpdateSettingsPtrInput // Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. UserPoolAddOns UserPoolUserPoolAddOnsPtrInput // Whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with `aliasAttributes`. @@ -652,6 +662,11 @@ func (o UserPoolOutput) TagsAll() pulumi.StringMapOutput { return o.ApplyT(func(v *UserPool) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) } +// Configuration block for user attribute update settings. Detailed below. +func (o UserPoolOutput) UserAttributeUpdateSettings() UserPoolUserAttributeUpdateSettingsPtrOutput { + return o.ApplyT(func(v *UserPool) UserPoolUserAttributeUpdateSettingsPtrOutput { return v.UserAttributeUpdateSettings }).(UserPoolUserAttributeUpdateSettingsPtrOutput) +} + // Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. func (o UserPoolOutput) UserPoolAddOns() UserPoolUserPoolAddOnsPtrOutput { return o.ApplyT(func(v *UserPool) UserPoolUserPoolAddOnsPtrOutput { return v.UserPoolAddOns }).(UserPoolUserPoolAddOnsPtrOutput) diff --git a/sdk/go/aws/comprehend/documentClassifier.go b/sdk/go/aws/comprehend/documentClassifier.go new file mode 100644 index 00000000000..e537762e491 --- /dev/null +++ b/sdk/go/aws/comprehend/documentClassifier.go @@ -0,0 +1,540 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package comprehend + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// ## Example Usage +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/comprehend" +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// documents, err := s3.NewBucketObjectv2(ctx, "documents", nil) +// if err != nil { +// return err +// } +// _, err = comprehend.NewDocumentClassifier(ctx, "example", &comprehend.DocumentClassifierArgs{ +// DataAccessRoleArn: pulumi.Any(aws_iam_role.Example.Arn), +// LanguageCode: pulumi.String("en"), +// InputDataConfig: &comprehend.DocumentClassifierInputDataConfigArgs{ +// S3Uri: documents.ID().ApplyT(func(id string) (string, error) { +// return fmt.Sprintf("s3://%v/%v", aws_s3_bucket.Test.Bucket, id), nil +// }).(pulumi.StringOutput), +// }, +// }, pulumi.DependsOn([]pulumi.Resource{ +// aws_iam_role_policy.Example, +// })) +// if err != nil { +// return err +// } +// _, err = s3.NewBucketObjectv2(ctx, "entities", nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Comprehend Document Classifier can be imported using the ARN, e.g., +// +// ```sh +// +// $ pulumi import aws:comprehend/documentClassifier:DocumentClassifier example arn:aws:comprehend:us-west-2:123456789012:document_classifier/example +// +// ``` +type DocumentClassifier struct { + pulumi.CustomResourceState + + // ARN of the Document Classifier version. + Arn pulumi.StringOutput `pulumi:"arn"` + // The ARN for an IAM Role which allows Comprehend to read the training and testing data. + DataAccessRoleArn pulumi.StringOutput `pulumi:"dataAccessRoleArn"` + // Configuration for the training and testing data. + // See the `inputDataConfig` Configuration Block section below. + InputDataConfig DocumentClassifierInputDataConfigOutput `pulumi:"inputDataConfig"` + // Two-letter language code for the language. + // One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + LanguageCode pulumi.StringOutput `pulumi:"languageCode"` + // The document classification mode. + // One of `MULTI_CLASS` or `MULTI_LABEL`. + // `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + Mode pulumi.StringPtrOutput `pulumi:"mode"` + // KMS Key used to encrypt trained Document Classifiers. + // Can be a KMS Key ID or a KMS Key ARN. + ModelKmsKeyId pulumi.StringPtrOutput `pulumi:"modelKmsKeyId"` + // Name for the Document Classifier. + // Has a maximum length of 63 characters. + // Can contain upper- and lower-case letters, numbers, and hypen (`-`). + Name pulumi.StringOutput `pulumi:"name"` + // Configuration for the output results of training. + // See the `outputDataConfig` Configuration Block section below. + OutputDataConfig DocumentClassifierOutputDataConfigOutput `pulumi:"outputDataConfig"` + // A map of tags to assign to the resource. If configured with a provider [`defaultTags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + VersionName pulumi.StringOutput `pulumi:"versionName"` + // Creates a unique version name beginning with the specified prefix. + // Has a maximum length of 37 characters. + // Can contain upper- and lower-case letters, numbers, and hypen (`-`). + // Conflicts with `versionName`. + VersionNamePrefix pulumi.StringOutput `pulumi:"versionNamePrefix"` + // KMS Key used to encrypt storage volumes during job processing. + // Can be a KMS Key ID or a KMS Key ARN. + VolumeKmsKeyId pulumi.StringPtrOutput `pulumi:"volumeKmsKeyId"` + // Configuration parameters for VPC to contain Document Classifier resources. + // See the `vpcConfig` Configuration Block section below. + VpcConfig DocumentClassifierVpcConfigPtrOutput `pulumi:"vpcConfig"` +} + +// NewDocumentClassifier registers a new resource with the given unique name, arguments, and options. +func NewDocumentClassifier(ctx *pulumi.Context, + name string, args *DocumentClassifierArgs, opts ...pulumi.ResourceOption) (*DocumentClassifier, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DataAccessRoleArn == nil { + return nil, errors.New("invalid value for required argument 'DataAccessRoleArn'") + } + if args.InputDataConfig == nil { + return nil, errors.New("invalid value for required argument 'InputDataConfig'") + } + if args.LanguageCode == nil { + return nil, errors.New("invalid value for required argument 'LanguageCode'") + } + var resource DocumentClassifier + err := ctx.RegisterResource("aws:comprehend/documentClassifier:DocumentClassifier", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDocumentClassifier gets an existing DocumentClassifier 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 GetDocumentClassifier(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DocumentClassifierState, opts ...pulumi.ResourceOption) (*DocumentClassifier, error) { + var resource DocumentClassifier + err := ctx.ReadResource("aws:comprehend/documentClassifier:DocumentClassifier", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DocumentClassifier resources. +type documentClassifierState struct { + // ARN of the Document Classifier version. + Arn *string `pulumi:"arn"` + // The ARN for an IAM Role which allows Comprehend to read the training and testing data. + DataAccessRoleArn *string `pulumi:"dataAccessRoleArn"` + // Configuration for the training and testing data. + // See the `inputDataConfig` Configuration Block section below. + InputDataConfig *DocumentClassifierInputDataConfig `pulumi:"inputDataConfig"` + // Two-letter language code for the language. + // One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + LanguageCode *string `pulumi:"languageCode"` + // The document classification mode. + // One of `MULTI_CLASS` or `MULTI_LABEL`. + // `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + Mode *string `pulumi:"mode"` + // KMS Key used to encrypt trained Document Classifiers. + // Can be a KMS Key ID or a KMS Key ARN. + ModelKmsKeyId *string `pulumi:"modelKmsKeyId"` + // Name for the Document Classifier. + // Has a maximum length of 63 characters. + // Can contain upper- and lower-case letters, numbers, and hypen (`-`). + Name *string `pulumi:"name"` + // Configuration for the output results of training. + // See the `outputDataConfig` Configuration Block section below. + OutputDataConfig *DocumentClassifierOutputDataConfig `pulumi:"outputDataConfig"` + // A map of tags to assign to the resource. If configured with a provider [`defaultTags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + TagsAll map[string]string `pulumi:"tagsAll"` + VersionName *string `pulumi:"versionName"` + // Creates a unique version name beginning with the specified prefix. + // Has a maximum length of 37 characters. + // Can contain upper- and lower-case letters, numbers, and hypen (`-`). + // Conflicts with `versionName`. + VersionNamePrefix *string `pulumi:"versionNamePrefix"` + // KMS Key used to encrypt storage volumes during job processing. + // Can be a KMS Key ID or a KMS Key ARN. + VolumeKmsKeyId *string `pulumi:"volumeKmsKeyId"` + // Configuration parameters for VPC to contain Document Classifier resources. + // See the `vpcConfig` Configuration Block section below. + VpcConfig *DocumentClassifierVpcConfig `pulumi:"vpcConfig"` +} + +type DocumentClassifierState struct { + // ARN of the Document Classifier version. + Arn pulumi.StringPtrInput + // The ARN for an IAM Role which allows Comprehend to read the training and testing data. + DataAccessRoleArn pulumi.StringPtrInput + // Configuration for the training and testing data. + // See the `inputDataConfig` Configuration Block section below. + InputDataConfig DocumentClassifierInputDataConfigPtrInput + // Two-letter language code for the language. + // One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + LanguageCode pulumi.StringPtrInput + // The document classification mode. + // One of `MULTI_CLASS` or `MULTI_LABEL`. + // `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + Mode pulumi.StringPtrInput + // KMS Key used to encrypt trained Document Classifiers. + // Can be a KMS Key ID or a KMS Key ARN. + ModelKmsKeyId pulumi.StringPtrInput + // Name for the Document Classifier. + // Has a maximum length of 63 characters. + // Can contain upper- and lower-case letters, numbers, and hypen (`-`). + Name pulumi.StringPtrInput + // Configuration for the output results of training. + // See the `outputDataConfig` Configuration Block section below. + OutputDataConfig DocumentClassifierOutputDataConfigPtrInput + // A map of tags to assign to the resource. If configured with a provider [`defaultTags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + TagsAll pulumi.StringMapInput + VersionName pulumi.StringPtrInput + // Creates a unique version name beginning with the specified prefix. + // Has a maximum length of 37 characters. + // Can contain upper- and lower-case letters, numbers, and hypen (`-`). + // Conflicts with `versionName`. + VersionNamePrefix pulumi.StringPtrInput + // KMS Key used to encrypt storage volumes during job processing. + // Can be a KMS Key ID or a KMS Key ARN. + VolumeKmsKeyId pulumi.StringPtrInput + // Configuration parameters for VPC to contain Document Classifier resources. + // See the `vpcConfig` Configuration Block section below. + VpcConfig DocumentClassifierVpcConfigPtrInput +} + +func (DocumentClassifierState) ElementType() reflect.Type { + return reflect.TypeOf((*documentClassifierState)(nil)).Elem() +} + +type documentClassifierArgs struct { + // The ARN for an IAM Role which allows Comprehend to read the training and testing data. + DataAccessRoleArn string `pulumi:"dataAccessRoleArn"` + // Configuration for the training and testing data. + // See the `inputDataConfig` Configuration Block section below. + InputDataConfig DocumentClassifierInputDataConfig `pulumi:"inputDataConfig"` + // Two-letter language code for the language. + // One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + LanguageCode string `pulumi:"languageCode"` + // The document classification mode. + // One of `MULTI_CLASS` or `MULTI_LABEL`. + // `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + Mode *string `pulumi:"mode"` + // KMS Key used to encrypt trained Document Classifiers. + // Can be a KMS Key ID or a KMS Key ARN. + ModelKmsKeyId *string `pulumi:"modelKmsKeyId"` + // Name for the Document Classifier. + // Has a maximum length of 63 characters. + // Can contain upper- and lower-case letters, numbers, and hypen (`-`). + Name *string `pulumi:"name"` + // Configuration for the output results of training. + // See the `outputDataConfig` Configuration Block section below. + OutputDataConfig *DocumentClassifierOutputDataConfig `pulumi:"outputDataConfig"` + // A map of tags to assign to the resource. If configured with a provider [`defaultTags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + TagsAll map[string]string `pulumi:"tagsAll"` + VersionName *string `pulumi:"versionName"` + // Creates a unique version name beginning with the specified prefix. + // Has a maximum length of 37 characters. + // Can contain upper- and lower-case letters, numbers, and hypen (`-`). + // Conflicts with `versionName`. + VersionNamePrefix *string `pulumi:"versionNamePrefix"` + // KMS Key used to encrypt storage volumes during job processing. + // Can be a KMS Key ID or a KMS Key ARN. + VolumeKmsKeyId *string `pulumi:"volumeKmsKeyId"` + // Configuration parameters for VPC to contain Document Classifier resources. + // See the `vpcConfig` Configuration Block section below. + VpcConfig *DocumentClassifierVpcConfig `pulumi:"vpcConfig"` +} + +// The set of arguments for constructing a DocumentClassifier resource. +type DocumentClassifierArgs struct { + // The ARN for an IAM Role which allows Comprehend to read the training and testing data. + DataAccessRoleArn pulumi.StringInput + // Configuration for the training and testing data. + // See the `inputDataConfig` Configuration Block section below. + InputDataConfig DocumentClassifierInputDataConfigInput + // Two-letter language code for the language. + // One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + LanguageCode pulumi.StringInput + // The document classification mode. + // One of `MULTI_CLASS` or `MULTI_LABEL`. + // `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + Mode pulumi.StringPtrInput + // KMS Key used to encrypt trained Document Classifiers. + // Can be a KMS Key ID or a KMS Key ARN. + ModelKmsKeyId pulumi.StringPtrInput + // Name for the Document Classifier. + // Has a maximum length of 63 characters. + // Can contain upper- and lower-case letters, numbers, and hypen (`-`). + Name pulumi.StringPtrInput + // Configuration for the output results of training. + // See the `outputDataConfig` Configuration Block section below. + OutputDataConfig DocumentClassifierOutputDataConfigPtrInput + // A map of tags to assign to the resource. If configured with a provider [`defaultTags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + TagsAll pulumi.StringMapInput + VersionName pulumi.StringPtrInput + // Creates a unique version name beginning with the specified prefix. + // Has a maximum length of 37 characters. + // Can contain upper- and lower-case letters, numbers, and hypen (`-`). + // Conflicts with `versionName`. + VersionNamePrefix pulumi.StringPtrInput + // KMS Key used to encrypt storage volumes during job processing. + // Can be a KMS Key ID or a KMS Key ARN. + VolumeKmsKeyId pulumi.StringPtrInput + // Configuration parameters for VPC to contain Document Classifier resources. + // See the `vpcConfig` Configuration Block section below. + VpcConfig DocumentClassifierVpcConfigPtrInput +} + +func (DocumentClassifierArgs) ElementType() reflect.Type { + return reflect.TypeOf((*documentClassifierArgs)(nil)).Elem() +} + +type DocumentClassifierInput interface { + pulumi.Input + + ToDocumentClassifierOutput() DocumentClassifierOutput + ToDocumentClassifierOutputWithContext(ctx context.Context) DocumentClassifierOutput +} + +func (*DocumentClassifier) ElementType() reflect.Type { + return reflect.TypeOf((**DocumentClassifier)(nil)).Elem() +} + +func (i *DocumentClassifier) ToDocumentClassifierOutput() DocumentClassifierOutput { + return i.ToDocumentClassifierOutputWithContext(context.Background()) +} + +func (i *DocumentClassifier) ToDocumentClassifierOutputWithContext(ctx context.Context) DocumentClassifierOutput { + return pulumi.ToOutputWithContext(ctx, i).(DocumentClassifierOutput) +} + +// DocumentClassifierArrayInput is an input type that accepts DocumentClassifierArray and DocumentClassifierArrayOutput values. +// You can construct a concrete instance of `DocumentClassifierArrayInput` via: +// +// DocumentClassifierArray{ DocumentClassifierArgs{...} } +type DocumentClassifierArrayInput interface { + pulumi.Input + + ToDocumentClassifierArrayOutput() DocumentClassifierArrayOutput + ToDocumentClassifierArrayOutputWithContext(context.Context) DocumentClassifierArrayOutput +} + +type DocumentClassifierArray []DocumentClassifierInput + +func (DocumentClassifierArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DocumentClassifier)(nil)).Elem() +} + +func (i DocumentClassifierArray) ToDocumentClassifierArrayOutput() DocumentClassifierArrayOutput { + return i.ToDocumentClassifierArrayOutputWithContext(context.Background()) +} + +func (i DocumentClassifierArray) ToDocumentClassifierArrayOutputWithContext(ctx context.Context) DocumentClassifierArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DocumentClassifierArrayOutput) +} + +// DocumentClassifierMapInput is an input type that accepts DocumentClassifierMap and DocumentClassifierMapOutput values. +// You can construct a concrete instance of `DocumentClassifierMapInput` via: +// +// DocumentClassifierMap{ "key": DocumentClassifierArgs{...} } +type DocumentClassifierMapInput interface { + pulumi.Input + + ToDocumentClassifierMapOutput() DocumentClassifierMapOutput + ToDocumentClassifierMapOutputWithContext(context.Context) DocumentClassifierMapOutput +} + +type DocumentClassifierMap map[string]DocumentClassifierInput + +func (DocumentClassifierMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DocumentClassifier)(nil)).Elem() +} + +func (i DocumentClassifierMap) ToDocumentClassifierMapOutput() DocumentClassifierMapOutput { + return i.ToDocumentClassifierMapOutputWithContext(context.Background()) +} + +func (i DocumentClassifierMap) ToDocumentClassifierMapOutputWithContext(ctx context.Context) DocumentClassifierMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DocumentClassifierMapOutput) +} + +type DocumentClassifierOutput struct{ *pulumi.OutputState } + +func (DocumentClassifierOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DocumentClassifier)(nil)).Elem() +} + +func (o DocumentClassifierOutput) ToDocumentClassifierOutput() DocumentClassifierOutput { + return o +} + +func (o DocumentClassifierOutput) ToDocumentClassifierOutputWithContext(ctx context.Context) DocumentClassifierOutput { + return o +} + +// ARN of the Document Classifier version. +func (o DocumentClassifierOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *DocumentClassifier) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The ARN for an IAM Role which allows Comprehend to read the training and testing data. +func (o DocumentClassifierOutput) DataAccessRoleArn() pulumi.StringOutput { + return o.ApplyT(func(v *DocumentClassifier) pulumi.StringOutput { return v.DataAccessRoleArn }).(pulumi.StringOutput) +} + +// Configuration for the training and testing data. +// See the `inputDataConfig` Configuration Block section below. +func (o DocumentClassifierOutput) InputDataConfig() DocumentClassifierInputDataConfigOutput { + return o.ApplyT(func(v *DocumentClassifier) DocumentClassifierInputDataConfigOutput { return v.InputDataConfig }).(DocumentClassifierInputDataConfigOutput) +} + +// Two-letter language code for the language. +// One of `en`, `es`, `fr`, `it`, `de`, or `pt`. +func (o DocumentClassifierOutput) LanguageCode() pulumi.StringOutput { + return o.ApplyT(func(v *DocumentClassifier) pulumi.StringOutput { return v.LanguageCode }).(pulumi.StringOutput) +} + +// The document classification mode. +// One of `MULTI_CLASS` or `MULTI_LABEL`. +// `MULTI_CLASS` is also known as "Single Label" in the AWS Console. +func (o DocumentClassifierOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DocumentClassifier) pulumi.StringPtrOutput { return v.Mode }).(pulumi.StringPtrOutput) +} + +// KMS Key used to encrypt trained Document Classifiers. +// Can be a KMS Key ID or a KMS Key ARN. +func (o DocumentClassifierOutput) ModelKmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DocumentClassifier) pulumi.StringPtrOutput { return v.ModelKmsKeyId }).(pulumi.StringPtrOutput) +} + +// Name for the Document Classifier. +// Has a maximum length of 63 characters. +// Can contain upper- and lower-case letters, numbers, and hypen (`-`). +func (o DocumentClassifierOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DocumentClassifier) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Configuration for the output results of training. +// See the `outputDataConfig` Configuration Block section below. +func (o DocumentClassifierOutput) OutputDataConfig() DocumentClassifierOutputDataConfigOutput { + return o.ApplyT(func(v *DocumentClassifier) DocumentClassifierOutputDataConfigOutput { return v.OutputDataConfig }).(DocumentClassifierOutputDataConfigOutput) +} + +// A map of tags to assign to the resource. If configured with a provider [`defaultTags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +func (o DocumentClassifierOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *DocumentClassifier) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). +func (o DocumentClassifierOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *DocumentClassifier) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +func (o DocumentClassifierOutput) VersionName() pulumi.StringOutput { + return o.ApplyT(func(v *DocumentClassifier) pulumi.StringOutput { return v.VersionName }).(pulumi.StringOutput) +} + +// Creates a unique version name beginning with the specified prefix. +// Has a maximum length of 37 characters. +// Can contain upper- and lower-case letters, numbers, and hypen (`-`). +// Conflicts with `versionName`. +func (o DocumentClassifierOutput) VersionNamePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *DocumentClassifier) pulumi.StringOutput { return v.VersionNamePrefix }).(pulumi.StringOutput) +} + +// KMS Key used to encrypt storage volumes during job processing. +// Can be a KMS Key ID or a KMS Key ARN. +func (o DocumentClassifierOutput) VolumeKmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DocumentClassifier) pulumi.StringPtrOutput { return v.VolumeKmsKeyId }).(pulumi.StringPtrOutput) +} + +// Configuration parameters for VPC to contain Document Classifier resources. +// See the `vpcConfig` Configuration Block section below. +func (o DocumentClassifierOutput) VpcConfig() DocumentClassifierVpcConfigPtrOutput { + return o.ApplyT(func(v *DocumentClassifier) DocumentClassifierVpcConfigPtrOutput { return v.VpcConfig }).(DocumentClassifierVpcConfigPtrOutput) +} + +type DocumentClassifierArrayOutput struct{ *pulumi.OutputState } + +func (DocumentClassifierArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DocumentClassifier)(nil)).Elem() +} + +func (o DocumentClassifierArrayOutput) ToDocumentClassifierArrayOutput() DocumentClassifierArrayOutput { + return o +} + +func (o DocumentClassifierArrayOutput) ToDocumentClassifierArrayOutputWithContext(ctx context.Context) DocumentClassifierArrayOutput { + return o +} + +func (o DocumentClassifierArrayOutput) Index(i pulumi.IntInput) DocumentClassifierOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DocumentClassifier { + return vs[0].([]*DocumentClassifier)[vs[1].(int)] + }).(DocumentClassifierOutput) +} + +type DocumentClassifierMapOutput struct{ *pulumi.OutputState } + +func (DocumentClassifierMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DocumentClassifier)(nil)).Elem() +} + +func (o DocumentClassifierMapOutput) ToDocumentClassifierMapOutput() DocumentClassifierMapOutput { + return o +} + +func (o DocumentClassifierMapOutput) ToDocumentClassifierMapOutputWithContext(ctx context.Context) DocumentClassifierMapOutput { + return o +} + +func (o DocumentClassifierMapOutput) MapIndex(k pulumi.StringInput) DocumentClassifierOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DocumentClassifier { + return vs[0].(map[string]*DocumentClassifier)[vs[1].(string)] + }).(DocumentClassifierOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DocumentClassifierInput)(nil)).Elem(), &DocumentClassifier{}) + pulumi.RegisterInputType(reflect.TypeOf((*DocumentClassifierArrayInput)(nil)).Elem(), DocumentClassifierArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DocumentClassifierMapInput)(nil)).Elem(), DocumentClassifierMap{}) + pulumi.RegisterOutputType(DocumentClassifierOutput{}) + pulumi.RegisterOutputType(DocumentClassifierArrayOutput{}) + pulumi.RegisterOutputType(DocumentClassifierMapOutput{}) +} diff --git a/sdk/go/aws/comprehend/init.go b/sdk/go/aws/comprehend/init.go index 5d25f34605f..69f9581c606 100644 --- a/sdk/go/aws/comprehend/init.go +++ b/sdk/go/aws/comprehend/init.go @@ -21,6 +21,8 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "aws:comprehend/documentClassifier:DocumentClassifier": + r = &DocumentClassifier{} case "aws:comprehend/entityRecognizer:EntityRecognizer": r = &EntityRecognizer{} default: @@ -36,6 +38,11 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "aws", + "comprehend/documentClassifier", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "comprehend/entityRecognizer", diff --git a/sdk/go/aws/comprehend/pulumiTypes.go b/sdk/go/aws/comprehend/pulumiTypes.go index 266e929c38a..4598b13a3ca 100644 --- a/sdk/go/aws/comprehend/pulumiTypes.go +++ b/sdk/go/aws/comprehend/pulumiTypes.go @@ -10,6 +10,731 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +type DocumentClassifierInputDataConfig struct { + // List of training datasets produced by Amazon SageMaker Ground Truth. + // Used if `dataFormat` is `AUGMENTED_MANIFEST`. + // See the `augmentedManifests` Configuration Block section below. + AugmentedManifests []DocumentClassifierInputDataConfigAugmentedManifest `pulumi:"augmentedManifests"` + // The format for the training data. + // One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. + DataFormat *string `pulumi:"dataFormat"` + // Delimiter between labels when training a multi-label classifier. + // Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\`, `:`, `;`, `>`, `?`, `/`, ``, and ``. + // Default is `|`. + LabelDelimiter *string `pulumi:"labelDelimiter"` + // Destination path for the output documents. + // The full path to the output file will be returned in `outputS3Uri`. + S3Uri *string `pulumi:"s3Uri"` + TestS3Uri *string `pulumi:"testS3Uri"` +} + +// DocumentClassifierInputDataConfigInput is an input type that accepts DocumentClassifierInputDataConfigArgs and DocumentClassifierInputDataConfigOutput values. +// You can construct a concrete instance of `DocumentClassifierInputDataConfigInput` via: +// +// DocumentClassifierInputDataConfigArgs{...} +type DocumentClassifierInputDataConfigInput interface { + pulumi.Input + + ToDocumentClassifierInputDataConfigOutput() DocumentClassifierInputDataConfigOutput + ToDocumentClassifierInputDataConfigOutputWithContext(context.Context) DocumentClassifierInputDataConfigOutput +} + +type DocumentClassifierInputDataConfigArgs struct { + // List of training datasets produced by Amazon SageMaker Ground Truth. + // Used if `dataFormat` is `AUGMENTED_MANIFEST`. + // See the `augmentedManifests` Configuration Block section below. + AugmentedManifests DocumentClassifierInputDataConfigAugmentedManifestArrayInput `pulumi:"augmentedManifests"` + // The format for the training data. + // One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. + DataFormat pulumi.StringPtrInput `pulumi:"dataFormat"` + // Delimiter between labels when training a multi-label classifier. + // Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\`, `:`, `;`, `>`, `?`, `/`, ``, and ``. + // Default is `|`. + LabelDelimiter pulumi.StringPtrInput `pulumi:"labelDelimiter"` + // Destination path for the output documents. + // The full path to the output file will be returned in `outputS3Uri`. + S3Uri pulumi.StringPtrInput `pulumi:"s3Uri"` + TestS3Uri pulumi.StringPtrInput `pulumi:"testS3Uri"` +} + +func (DocumentClassifierInputDataConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DocumentClassifierInputDataConfig)(nil)).Elem() +} + +func (i DocumentClassifierInputDataConfigArgs) ToDocumentClassifierInputDataConfigOutput() DocumentClassifierInputDataConfigOutput { + return i.ToDocumentClassifierInputDataConfigOutputWithContext(context.Background()) +} + +func (i DocumentClassifierInputDataConfigArgs) ToDocumentClassifierInputDataConfigOutputWithContext(ctx context.Context) DocumentClassifierInputDataConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DocumentClassifierInputDataConfigOutput) +} + +func (i DocumentClassifierInputDataConfigArgs) ToDocumentClassifierInputDataConfigPtrOutput() DocumentClassifierInputDataConfigPtrOutput { + return i.ToDocumentClassifierInputDataConfigPtrOutputWithContext(context.Background()) +} + +func (i DocumentClassifierInputDataConfigArgs) ToDocumentClassifierInputDataConfigPtrOutputWithContext(ctx context.Context) DocumentClassifierInputDataConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DocumentClassifierInputDataConfigOutput).ToDocumentClassifierInputDataConfigPtrOutputWithContext(ctx) +} + +// DocumentClassifierInputDataConfigPtrInput is an input type that accepts DocumentClassifierInputDataConfigArgs, DocumentClassifierInputDataConfigPtr and DocumentClassifierInputDataConfigPtrOutput values. +// You can construct a concrete instance of `DocumentClassifierInputDataConfigPtrInput` via: +// +// DocumentClassifierInputDataConfigArgs{...} +// +// or: +// +// nil +type DocumentClassifierInputDataConfigPtrInput interface { + pulumi.Input + + ToDocumentClassifierInputDataConfigPtrOutput() DocumentClassifierInputDataConfigPtrOutput + ToDocumentClassifierInputDataConfigPtrOutputWithContext(context.Context) DocumentClassifierInputDataConfigPtrOutput +} + +type documentClassifierInputDataConfigPtrType DocumentClassifierInputDataConfigArgs + +func DocumentClassifierInputDataConfigPtr(v *DocumentClassifierInputDataConfigArgs) DocumentClassifierInputDataConfigPtrInput { + return (*documentClassifierInputDataConfigPtrType)(v) +} + +func (*documentClassifierInputDataConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DocumentClassifierInputDataConfig)(nil)).Elem() +} + +func (i *documentClassifierInputDataConfigPtrType) ToDocumentClassifierInputDataConfigPtrOutput() DocumentClassifierInputDataConfigPtrOutput { + return i.ToDocumentClassifierInputDataConfigPtrOutputWithContext(context.Background()) +} + +func (i *documentClassifierInputDataConfigPtrType) ToDocumentClassifierInputDataConfigPtrOutputWithContext(ctx context.Context) DocumentClassifierInputDataConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DocumentClassifierInputDataConfigPtrOutput) +} + +type DocumentClassifierInputDataConfigOutput struct{ *pulumi.OutputState } + +func (DocumentClassifierInputDataConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DocumentClassifierInputDataConfig)(nil)).Elem() +} + +func (o DocumentClassifierInputDataConfigOutput) ToDocumentClassifierInputDataConfigOutput() DocumentClassifierInputDataConfigOutput { + return o +} + +func (o DocumentClassifierInputDataConfigOutput) ToDocumentClassifierInputDataConfigOutputWithContext(ctx context.Context) DocumentClassifierInputDataConfigOutput { + return o +} + +func (o DocumentClassifierInputDataConfigOutput) ToDocumentClassifierInputDataConfigPtrOutput() DocumentClassifierInputDataConfigPtrOutput { + return o.ToDocumentClassifierInputDataConfigPtrOutputWithContext(context.Background()) +} + +func (o DocumentClassifierInputDataConfigOutput) ToDocumentClassifierInputDataConfigPtrOutputWithContext(ctx context.Context) DocumentClassifierInputDataConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DocumentClassifierInputDataConfig) *DocumentClassifierInputDataConfig { + return &v + }).(DocumentClassifierInputDataConfigPtrOutput) +} + +// List of training datasets produced by Amazon SageMaker Ground Truth. +// Used if `dataFormat` is `AUGMENTED_MANIFEST`. +// See the `augmentedManifests` Configuration Block section below. +func (o DocumentClassifierInputDataConfigOutput) AugmentedManifests() DocumentClassifierInputDataConfigAugmentedManifestArrayOutput { + return o.ApplyT(func(v DocumentClassifierInputDataConfig) []DocumentClassifierInputDataConfigAugmentedManifest { + return v.AugmentedManifests + }).(DocumentClassifierInputDataConfigAugmentedManifestArrayOutput) +} + +// The format for the training data. +// One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. +func (o DocumentClassifierInputDataConfigOutput) DataFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v DocumentClassifierInputDataConfig) *string { return v.DataFormat }).(pulumi.StringPtrOutput) +} + +// Delimiter between labels when training a multi-label classifier. +// Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\`, `:`, `;`, `>`, `?`, `/`, ``, and ``. +// Default is `|`. +func (o DocumentClassifierInputDataConfigOutput) LabelDelimiter() pulumi.StringPtrOutput { + return o.ApplyT(func(v DocumentClassifierInputDataConfig) *string { return v.LabelDelimiter }).(pulumi.StringPtrOutput) +} + +// Destination path for the output documents. +// The full path to the output file will be returned in `outputS3Uri`. +func (o DocumentClassifierInputDataConfigOutput) S3Uri() pulumi.StringPtrOutput { + return o.ApplyT(func(v DocumentClassifierInputDataConfig) *string { return v.S3Uri }).(pulumi.StringPtrOutput) +} + +func (o DocumentClassifierInputDataConfigOutput) TestS3Uri() pulumi.StringPtrOutput { + return o.ApplyT(func(v DocumentClassifierInputDataConfig) *string { return v.TestS3Uri }).(pulumi.StringPtrOutput) +} + +type DocumentClassifierInputDataConfigPtrOutput struct{ *pulumi.OutputState } + +func (DocumentClassifierInputDataConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DocumentClassifierInputDataConfig)(nil)).Elem() +} + +func (o DocumentClassifierInputDataConfigPtrOutput) ToDocumentClassifierInputDataConfigPtrOutput() DocumentClassifierInputDataConfigPtrOutput { + return o +} + +func (o DocumentClassifierInputDataConfigPtrOutput) ToDocumentClassifierInputDataConfigPtrOutputWithContext(ctx context.Context) DocumentClassifierInputDataConfigPtrOutput { + return o +} + +func (o DocumentClassifierInputDataConfigPtrOutput) Elem() DocumentClassifierInputDataConfigOutput { + return o.ApplyT(func(v *DocumentClassifierInputDataConfig) DocumentClassifierInputDataConfig { + if v != nil { + return *v + } + var ret DocumentClassifierInputDataConfig + return ret + }).(DocumentClassifierInputDataConfigOutput) +} + +// List of training datasets produced by Amazon SageMaker Ground Truth. +// Used if `dataFormat` is `AUGMENTED_MANIFEST`. +// See the `augmentedManifests` Configuration Block section below. +func (o DocumentClassifierInputDataConfigPtrOutput) AugmentedManifests() DocumentClassifierInputDataConfigAugmentedManifestArrayOutput { + return o.ApplyT(func(v *DocumentClassifierInputDataConfig) []DocumentClassifierInputDataConfigAugmentedManifest { + if v == nil { + return nil + } + return v.AugmentedManifests + }).(DocumentClassifierInputDataConfigAugmentedManifestArrayOutput) +} + +// The format for the training data. +// One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. +func (o DocumentClassifierInputDataConfigPtrOutput) DataFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DocumentClassifierInputDataConfig) *string { + if v == nil { + return nil + } + return v.DataFormat + }).(pulumi.StringPtrOutput) +} + +// Delimiter between labels when training a multi-label classifier. +// Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\`, `:`, `;`, `>`, `?`, `/`, ``, and ``. +// Default is `|`. +func (o DocumentClassifierInputDataConfigPtrOutput) LabelDelimiter() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DocumentClassifierInputDataConfig) *string { + if v == nil { + return nil + } + return v.LabelDelimiter + }).(pulumi.StringPtrOutput) +} + +// Destination path for the output documents. +// The full path to the output file will be returned in `outputS3Uri`. +func (o DocumentClassifierInputDataConfigPtrOutput) S3Uri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DocumentClassifierInputDataConfig) *string { + if v == nil { + return nil + } + return v.S3Uri + }).(pulumi.StringPtrOutput) +} + +func (o DocumentClassifierInputDataConfigPtrOutput) TestS3Uri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DocumentClassifierInputDataConfig) *string { + if v == nil { + return nil + } + return v.TestS3Uri + }).(pulumi.StringPtrOutput) +} + +type DocumentClassifierInputDataConfigAugmentedManifest struct { + // Location of annotation files. + AnnotationDataS3Uri *string `pulumi:"annotationDataS3Uri"` + // The JSON attribute that contains the annotations for the training documents. + AttributeNames []string `pulumi:"attributeNames"` + // Type of augmented manifest. + // One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. + DocumentType *string `pulumi:"documentType"` + // Destination path for the output documents. + // The full path to the output file will be returned in `outputS3Uri`. + S3Uri string `pulumi:"s3Uri"` + // Location of source PDF files. + SourceDocumentsS3Uri *string `pulumi:"sourceDocumentsS3Uri"` + // Purpose of data in augmented manifest. + // One of `TRAIN` or `TEST`. + Split *string `pulumi:"split"` +} + +// DocumentClassifierInputDataConfigAugmentedManifestInput is an input type that accepts DocumentClassifierInputDataConfigAugmentedManifestArgs and DocumentClassifierInputDataConfigAugmentedManifestOutput values. +// You can construct a concrete instance of `DocumentClassifierInputDataConfigAugmentedManifestInput` via: +// +// DocumentClassifierInputDataConfigAugmentedManifestArgs{...} +type DocumentClassifierInputDataConfigAugmentedManifestInput interface { + pulumi.Input + + ToDocumentClassifierInputDataConfigAugmentedManifestOutput() DocumentClassifierInputDataConfigAugmentedManifestOutput + ToDocumentClassifierInputDataConfigAugmentedManifestOutputWithContext(context.Context) DocumentClassifierInputDataConfigAugmentedManifestOutput +} + +type DocumentClassifierInputDataConfigAugmentedManifestArgs struct { + // Location of annotation files. + AnnotationDataS3Uri pulumi.StringPtrInput `pulumi:"annotationDataS3Uri"` + // The JSON attribute that contains the annotations for the training documents. + AttributeNames pulumi.StringArrayInput `pulumi:"attributeNames"` + // Type of augmented manifest. + // One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. + DocumentType pulumi.StringPtrInput `pulumi:"documentType"` + // Destination path for the output documents. + // The full path to the output file will be returned in `outputS3Uri`. + S3Uri pulumi.StringInput `pulumi:"s3Uri"` + // Location of source PDF files. + SourceDocumentsS3Uri pulumi.StringPtrInput `pulumi:"sourceDocumentsS3Uri"` + // Purpose of data in augmented manifest. + // One of `TRAIN` or `TEST`. + Split pulumi.StringPtrInput `pulumi:"split"` +} + +func (DocumentClassifierInputDataConfigAugmentedManifestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DocumentClassifierInputDataConfigAugmentedManifest)(nil)).Elem() +} + +func (i DocumentClassifierInputDataConfigAugmentedManifestArgs) ToDocumentClassifierInputDataConfigAugmentedManifestOutput() DocumentClassifierInputDataConfigAugmentedManifestOutput { + return i.ToDocumentClassifierInputDataConfigAugmentedManifestOutputWithContext(context.Background()) +} + +func (i DocumentClassifierInputDataConfigAugmentedManifestArgs) ToDocumentClassifierInputDataConfigAugmentedManifestOutputWithContext(ctx context.Context) DocumentClassifierInputDataConfigAugmentedManifestOutput { + return pulumi.ToOutputWithContext(ctx, i).(DocumentClassifierInputDataConfigAugmentedManifestOutput) +} + +// DocumentClassifierInputDataConfigAugmentedManifestArrayInput is an input type that accepts DocumentClassifierInputDataConfigAugmentedManifestArray and DocumentClassifierInputDataConfigAugmentedManifestArrayOutput values. +// You can construct a concrete instance of `DocumentClassifierInputDataConfigAugmentedManifestArrayInput` via: +// +// DocumentClassifierInputDataConfigAugmentedManifestArray{ DocumentClassifierInputDataConfigAugmentedManifestArgs{...} } +type DocumentClassifierInputDataConfigAugmentedManifestArrayInput interface { + pulumi.Input + + ToDocumentClassifierInputDataConfigAugmentedManifestArrayOutput() DocumentClassifierInputDataConfigAugmentedManifestArrayOutput + ToDocumentClassifierInputDataConfigAugmentedManifestArrayOutputWithContext(context.Context) DocumentClassifierInputDataConfigAugmentedManifestArrayOutput +} + +type DocumentClassifierInputDataConfigAugmentedManifestArray []DocumentClassifierInputDataConfigAugmentedManifestInput + +func (DocumentClassifierInputDataConfigAugmentedManifestArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DocumentClassifierInputDataConfigAugmentedManifest)(nil)).Elem() +} + +func (i DocumentClassifierInputDataConfigAugmentedManifestArray) ToDocumentClassifierInputDataConfigAugmentedManifestArrayOutput() DocumentClassifierInputDataConfigAugmentedManifestArrayOutput { + return i.ToDocumentClassifierInputDataConfigAugmentedManifestArrayOutputWithContext(context.Background()) +} + +func (i DocumentClassifierInputDataConfigAugmentedManifestArray) ToDocumentClassifierInputDataConfigAugmentedManifestArrayOutputWithContext(ctx context.Context) DocumentClassifierInputDataConfigAugmentedManifestArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DocumentClassifierInputDataConfigAugmentedManifestArrayOutput) +} + +type DocumentClassifierInputDataConfigAugmentedManifestOutput struct{ *pulumi.OutputState } + +func (DocumentClassifierInputDataConfigAugmentedManifestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DocumentClassifierInputDataConfigAugmentedManifest)(nil)).Elem() +} + +func (o DocumentClassifierInputDataConfigAugmentedManifestOutput) ToDocumentClassifierInputDataConfigAugmentedManifestOutput() DocumentClassifierInputDataConfigAugmentedManifestOutput { + return o +} + +func (o DocumentClassifierInputDataConfigAugmentedManifestOutput) ToDocumentClassifierInputDataConfigAugmentedManifestOutputWithContext(ctx context.Context) DocumentClassifierInputDataConfigAugmentedManifestOutput { + return o +} + +// Location of annotation files. +func (o DocumentClassifierInputDataConfigAugmentedManifestOutput) AnnotationDataS3Uri() pulumi.StringPtrOutput { + return o.ApplyT(func(v DocumentClassifierInputDataConfigAugmentedManifest) *string { return v.AnnotationDataS3Uri }).(pulumi.StringPtrOutput) +} + +// The JSON attribute that contains the annotations for the training documents. +func (o DocumentClassifierInputDataConfigAugmentedManifestOutput) AttributeNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v DocumentClassifierInputDataConfigAugmentedManifest) []string { return v.AttributeNames }).(pulumi.StringArrayOutput) +} + +// Type of augmented manifest. +// One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. +func (o DocumentClassifierInputDataConfigAugmentedManifestOutput) DocumentType() pulumi.StringPtrOutput { + return o.ApplyT(func(v DocumentClassifierInputDataConfigAugmentedManifest) *string { return v.DocumentType }).(pulumi.StringPtrOutput) +} + +// Destination path for the output documents. +// The full path to the output file will be returned in `outputS3Uri`. +func (o DocumentClassifierInputDataConfigAugmentedManifestOutput) S3Uri() pulumi.StringOutput { + return o.ApplyT(func(v DocumentClassifierInputDataConfigAugmentedManifest) string { return v.S3Uri }).(pulumi.StringOutput) +} + +// Location of source PDF files. +func (o DocumentClassifierInputDataConfigAugmentedManifestOutput) SourceDocumentsS3Uri() pulumi.StringPtrOutput { + return o.ApplyT(func(v DocumentClassifierInputDataConfigAugmentedManifest) *string { return v.SourceDocumentsS3Uri }).(pulumi.StringPtrOutput) +} + +// Purpose of data in augmented manifest. +// One of `TRAIN` or `TEST`. +func (o DocumentClassifierInputDataConfigAugmentedManifestOutput) Split() pulumi.StringPtrOutput { + return o.ApplyT(func(v DocumentClassifierInputDataConfigAugmentedManifest) *string { return v.Split }).(pulumi.StringPtrOutput) +} + +type DocumentClassifierInputDataConfigAugmentedManifestArrayOutput struct{ *pulumi.OutputState } + +func (DocumentClassifierInputDataConfigAugmentedManifestArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DocumentClassifierInputDataConfigAugmentedManifest)(nil)).Elem() +} + +func (o DocumentClassifierInputDataConfigAugmentedManifestArrayOutput) ToDocumentClassifierInputDataConfigAugmentedManifestArrayOutput() DocumentClassifierInputDataConfigAugmentedManifestArrayOutput { + return o +} + +func (o DocumentClassifierInputDataConfigAugmentedManifestArrayOutput) ToDocumentClassifierInputDataConfigAugmentedManifestArrayOutputWithContext(ctx context.Context) DocumentClassifierInputDataConfigAugmentedManifestArrayOutput { + return o +} + +func (o DocumentClassifierInputDataConfigAugmentedManifestArrayOutput) Index(i pulumi.IntInput) DocumentClassifierInputDataConfigAugmentedManifestOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DocumentClassifierInputDataConfigAugmentedManifest { + return vs[0].([]DocumentClassifierInputDataConfigAugmentedManifest)[vs[1].(int)] + }).(DocumentClassifierInputDataConfigAugmentedManifestOutput) +} + +type DocumentClassifierOutputDataConfig struct { + // KMS Key used to encrypt the output documents. + // Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. + KmsKeyId *string `pulumi:"kmsKeyId"` + // Full path for the output documents. + OutputS3Uri *string `pulumi:"outputS3Uri"` + // Destination path for the output documents. + // The full path to the output file will be returned in `outputS3Uri`. + S3Uri string `pulumi:"s3Uri"` +} + +// DocumentClassifierOutputDataConfigInput is an input type that accepts DocumentClassifierOutputDataConfigArgs and DocumentClassifierOutputDataConfigOutput values. +// You can construct a concrete instance of `DocumentClassifierOutputDataConfigInput` via: +// +// DocumentClassifierOutputDataConfigArgs{...} +type DocumentClassifierOutputDataConfigInput interface { + pulumi.Input + + ToDocumentClassifierOutputDataConfigOutput() DocumentClassifierOutputDataConfigOutput + ToDocumentClassifierOutputDataConfigOutputWithContext(context.Context) DocumentClassifierOutputDataConfigOutput +} + +type DocumentClassifierOutputDataConfigArgs struct { + // KMS Key used to encrypt the output documents. + // Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. + KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` + // Full path for the output documents. + OutputS3Uri pulumi.StringPtrInput `pulumi:"outputS3Uri"` + // Destination path for the output documents. + // The full path to the output file will be returned in `outputS3Uri`. + S3Uri pulumi.StringInput `pulumi:"s3Uri"` +} + +func (DocumentClassifierOutputDataConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DocumentClassifierOutputDataConfig)(nil)).Elem() +} + +func (i DocumentClassifierOutputDataConfigArgs) ToDocumentClassifierOutputDataConfigOutput() DocumentClassifierOutputDataConfigOutput { + return i.ToDocumentClassifierOutputDataConfigOutputWithContext(context.Background()) +} + +func (i DocumentClassifierOutputDataConfigArgs) ToDocumentClassifierOutputDataConfigOutputWithContext(ctx context.Context) DocumentClassifierOutputDataConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DocumentClassifierOutputDataConfigOutput) +} + +func (i DocumentClassifierOutputDataConfigArgs) ToDocumentClassifierOutputDataConfigPtrOutput() DocumentClassifierOutputDataConfigPtrOutput { + return i.ToDocumentClassifierOutputDataConfigPtrOutputWithContext(context.Background()) +} + +func (i DocumentClassifierOutputDataConfigArgs) ToDocumentClassifierOutputDataConfigPtrOutputWithContext(ctx context.Context) DocumentClassifierOutputDataConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DocumentClassifierOutputDataConfigOutput).ToDocumentClassifierOutputDataConfigPtrOutputWithContext(ctx) +} + +// DocumentClassifierOutputDataConfigPtrInput is an input type that accepts DocumentClassifierOutputDataConfigArgs, DocumentClassifierOutputDataConfigPtr and DocumentClassifierOutputDataConfigPtrOutput values. +// You can construct a concrete instance of `DocumentClassifierOutputDataConfigPtrInput` via: +// +// DocumentClassifierOutputDataConfigArgs{...} +// +// or: +// +// nil +type DocumentClassifierOutputDataConfigPtrInput interface { + pulumi.Input + + ToDocumentClassifierOutputDataConfigPtrOutput() DocumentClassifierOutputDataConfigPtrOutput + ToDocumentClassifierOutputDataConfigPtrOutputWithContext(context.Context) DocumentClassifierOutputDataConfigPtrOutput +} + +type documentClassifierOutputDataConfigPtrType DocumentClassifierOutputDataConfigArgs + +func DocumentClassifierOutputDataConfigPtr(v *DocumentClassifierOutputDataConfigArgs) DocumentClassifierOutputDataConfigPtrInput { + return (*documentClassifierOutputDataConfigPtrType)(v) +} + +func (*documentClassifierOutputDataConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DocumentClassifierOutputDataConfig)(nil)).Elem() +} + +func (i *documentClassifierOutputDataConfigPtrType) ToDocumentClassifierOutputDataConfigPtrOutput() DocumentClassifierOutputDataConfigPtrOutput { + return i.ToDocumentClassifierOutputDataConfigPtrOutputWithContext(context.Background()) +} + +func (i *documentClassifierOutputDataConfigPtrType) ToDocumentClassifierOutputDataConfigPtrOutputWithContext(ctx context.Context) DocumentClassifierOutputDataConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DocumentClassifierOutputDataConfigPtrOutput) +} + +type DocumentClassifierOutputDataConfigOutput struct{ *pulumi.OutputState } + +func (DocumentClassifierOutputDataConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DocumentClassifierOutputDataConfig)(nil)).Elem() +} + +func (o DocumentClassifierOutputDataConfigOutput) ToDocumentClassifierOutputDataConfigOutput() DocumentClassifierOutputDataConfigOutput { + return o +} + +func (o DocumentClassifierOutputDataConfigOutput) ToDocumentClassifierOutputDataConfigOutputWithContext(ctx context.Context) DocumentClassifierOutputDataConfigOutput { + return o +} + +func (o DocumentClassifierOutputDataConfigOutput) ToDocumentClassifierOutputDataConfigPtrOutput() DocumentClassifierOutputDataConfigPtrOutput { + return o.ToDocumentClassifierOutputDataConfigPtrOutputWithContext(context.Background()) +} + +func (o DocumentClassifierOutputDataConfigOutput) ToDocumentClassifierOutputDataConfigPtrOutputWithContext(ctx context.Context) DocumentClassifierOutputDataConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DocumentClassifierOutputDataConfig) *DocumentClassifierOutputDataConfig { + return &v + }).(DocumentClassifierOutputDataConfigPtrOutput) +} + +// KMS Key used to encrypt the output documents. +// Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. +func (o DocumentClassifierOutputDataConfigOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v DocumentClassifierOutputDataConfig) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) +} + +// Full path for the output documents. +func (o DocumentClassifierOutputDataConfigOutput) OutputS3Uri() pulumi.StringPtrOutput { + return o.ApplyT(func(v DocumentClassifierOutputDataConfig) *string { return v.OutputS3Uri }).(pulumi.StringPtrOutput) +} + +// Destination path for the output documents. +// The full path to the output file will be returned in `outputS3Uri`. +func (o DocumentClassifierOutputDataConfigOutput) S3Uri() pulumi.StringOutput { + return o.ApplyT(func(v DocumentClassifierOutputDataConfig) string { return v.S3Uri }).(pulumi.StringOutput) +} + +type DocumentClassifierOutputDataConfigPtrOutput struct{ *pulumi.OutputState } + +func (DocumentClassifierOutputDataConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DocumentClassifierOutputDataConfig)(nil)).Elem() +} + +func (o DocumentClassifierOutputDataConfigPtrOutput) ToDocumentClassifierOutputDataConfigPtrOutput() DocumentClassifierOutputDataConfigPtrOutput { + return o +} + +func (o DocumentClassifierOutputDataConfigPtrOutput) ToDocumentClassifierOutputDataConfigPtrOutputWithContext(ctx context.Context) DocumentClassifierOutputDataConfigPtrOutput { + return o +} + +func (o DocumentClassifierOutputDataConfigPtrOutput) Elem() DocumentClassifierOutputDataConfigOutput { + return o.ApplyT(func(v *DocumentClassifierOutputDataConfig) DocumentClassifierOutputDataConfig { + if v != nil { + return *v + } + var ret DocumentClassifierOutputDataConfig + return ret + }).(DocumentClassifierOutputDataConfigOutput) +} + +// KMS Key used to encrypt the output documents. +// Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. +func (o DocumentClassifierOutputDataConfigPtrOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DocumentClassifierOutputDataConfig) *string { + if v == nil { + return nil + } + return v.KmsKeyId + }).(pulumi.StringPtrOutput) +} + +// Full path for the output documents. +func (o DocumentClassifierOutputDataConfigPtrOutput) OutputS3Uri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DocumentClassifierOutputDataConfig) *string { + if v == nil { + return nil + } + return v.OutputS3Uri + }).(pulumi.StringPtrOutput) +} + +// Destination path for the output documents. +// The full path to the output file will be returned in `outputS3Uri`. +func (o DocumentClassifierOutputDataConfigPtrOutput) S3Uri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DocumentClassifierOutputDataConfig) *string { + if v == nil { + return nil + } + return &v.S3Uri + }).(pulumi.StringPtrOutput) +} + +type DocumentClassifierVpcConfig struct { + // List of security group IDs. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // List of VPC subnets. + Subnets []string `pulumi:"subnets"` +} + +// DocumentClassifierVpcConfigInput is an input type that accepts DocumentClassifierVpcConfigArgs and DocumentClassifierVpcConfigOutput values. +// You can construct a concrete instance of `DocumentClassifierVpcConfigInput` via: +// +// DocumentClassifierVpcConfigArgs{...} +type DocumentClassifierVpcConfigInput interface { + pulumi.Input + + ToDocumentClassifierVpcConfigOutput() DocumentClassifierVpcConfigOutput + ToDocumentClassifierVpcConfigOutputWithContext(context.Context) DocumentClassifierVpcConfigOutput +} + +type DocumentClassifierVpcConfigArgs struct { + // List of security group IDs. + SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"` + // List of VPC subnets. + Subnets pulumi.StringArrayInput `pulumi:"subnets"` +} + +func (DocumentClassifierVpcConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DocumentClassifierVpcConfig)(nil)).Elem() +} + +func (i DocumentClassifierVpcConfigArgs) ToDocumentClassifierVpcConfigOutput() DocumentClassifierVpcConfigOutput { + return i.ToDocumentClassifierVpcConfigOutputWithContext(context.Background()) +} + +func (i DocumentClassifierVpcConfigArgs) ToDocumentClassifierVpcConfigOutputWithContext(ctx context.Context) DocumentClassifierVpcConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DocumentClassifierVpcConfigOutput) +} + +func (i DocumentClassifierVpcConfigArgs) ToDocumentClassifierVpcConfigPtrOutput() DocumentClassifierVpcConfigPtrOutput { + return i.ToDocumentClassifierVpcConfigPtrOutputWithContext(context.Background()) +} + +func (i DocumentClassifierVpcConfigArgs) ToDocumentClassifierVpcConfigPtrOutputWithContext(ctx context.Context) DocumentClassifierVpcConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DocumentClassifierVpcConfigOutput).ToDocumentClassifierVpcConfigPtrOutputWithContext(ctx) +} + +// DocumentClassifierVpcConfigPtrInput is an input type that accepts DocumentClassifierVpcConfigArgs, DocumentClassifierVpcConfigPtr and DocumentClassifierVpcConfigPtrOutput values. +// You can construct a concrete instance of `DocumentClassifierVpcConfigPtrInput` via: +// +// DocumentClassifierVpcConfigArgs{...} +// +// or: +// +// nil +type DocumentClassifierVpcConfigPtrInput interface { + pulumi.Input + + ToDocumentClassifierVpcConfigPtrOutput() DocumentClassifierVpcConfigPtrOutput + ToDocumentClassifierVpcConfigPtrOutputWithContext(context.Context) DocumentClassifierVpcConfigPtrOutput +} + +type documentClassifierVpcConfigPtrType DocumentClassifierVpcConfigArgs + +func DocumentClassifierVpcConfigPtr(v *DocumentClassifierVpcConfigArgs) DocumentClassifierVpcConfigPtrInput { + return (*documentClassifierVpcConfigPtrType)(v) +} + +func (*documentClassifierVpcConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DocumentClassifierVpcConfig)(nil)).Elem() +} + +func (i *documentClassifierVpcConfigPtrType) ToDocumentClassifierVpcConfigPtrOutput() DocumentClassifierVpcConfigPtrOutput { + return i.ToDocumentClassifierVpcConfigPtrOutputWithContext(context.Background()) +} + +func (i *documentClassifierVpcConfigPtrType) ToDocumentClassifierVpcConfigPtrOutputWithContext(ctx context.Context) DocumentClassifierVpcConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DocumentClassifierVpcConfigPtrOutput) +} + +type DocumentClassifierVpcConfigOutput struct{ *pulumi.OutputState } + +func (DocumentClassifierVpcConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DocumentClassifierVpcConfig)(nil)).Elem() +} + +func (o DocumentClassifierVpcConfigOutput) ToDocumentClassifierVpcConfigOutput() DocumentClassifierVpcConfigOutput { + return o +} + +func (o DocumentClassifierVpcConfigOutput) ToDocumentClassifierVpcConfigOutputWithContext(ctx context.Context) DocumentClassifierVpcConfigOutput { + return o +} + +func (o DocumentClassifierVpcConfigOutput) ToDocumentClassifierVpcConfigPtrOutput() DocumentClassifierVpcConfigPtrOutput { + return o.ToDocumentClassifierVpcConfigPtrOutputWithContext(context.Background()) +} + +func (o DocumentClassifierVpcConfigOutput) ToDocumentClassifierVpcConfigPtrOutputWithContext(ctx context.Context) DocumentClassifierVpcConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DocumentClassifierVpcConfig) *DocumentClassifierVpcConfig { + return &v + }).(DocumentClassifierVpcConfigPtrOutput) +} + +// List of security group IDs. +func (o DocumentClassifierVpcConfigOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v DocumentClassifierVpcConfig) []string { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// List of VPC subnets. +func (o DocumentClassifierVpcConfigOutput) Subnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v DocumentClassifierVpcConfig) []string { return v.Subnets }).(pulumi.StringArrayOutput) +} + +type DocumentClassifierVpcConfigPtrOutput struct{ *pulumi.OutputState } + +func (DocumentClassifierVpcConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DocumentClassifierVpcConfig)(nil)).Elem() +} + +func (o DocumentClassifierVpcConfigPtrOutput) ToDocumentClassifierVpcConfigPtrOutput() DocumentClassifierVpcConfigPtrOutput { + return o +} + +func (o DocumentClassifierVpcConfigPtrOutput) ToDocumentClassifierVpcConfigPtrOutputWithContext(ctx context.Context) DocumentClassifierVpcConfigPtrOutput { + return o +} + +func (o DocumentClassifierVpcConfigPtrOutput) Elem() DocumentClassifierVpcConfigOutput { + return o.ApplyT(func(v *DocumentClassifierVpcConfig) DocumentClassifierVpcConfig { + if v != nil { + return *v + } + var ret DocumentClassifierVpcConfig + return ret + }).(DocumentClassifierVpcConfigOutput) +} + +// List of security group IDs. +func (o DocumentClassifierVpcConfigPtrOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DocumentClassifierVpcConfig) []string { + if v == nil { + return nil + } + return v.SecurityGroupIds + }).(pulumi.StringArrayOutput) +} + +// List of VPC subnets. +func (o DocumentClassifierVpcConfigPtrOutput) Subnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DocumentClassifierVpcConfig) []string { + if v == nil { + return nil + } + return v.Subnets + }).(pulumi.StringArrayOutput) +} + type EntityRecognizerInputDataConfig struct { // Specifies location of the document annotation data. // See the `annotations` Configuration Block section below. @@ -1163,6 +1888,14 @@ func (o EntityRecognizerVpcConfigPtrOutput) Subnets() pulumi.StringArrayOutput { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DocumentClassifierInputDataConfigInput)(nil)).Elem(), DocumentClassifierInputDataConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DocumentClassifierInputDataConfigPtrInput)(nil)).Elem(), DocumentClassifierInputDataConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DocumentClassifierInputDataConfigAugmentedManifestInput)(nil)).Elem(), DocumentClassifierInputDataConfigAugmentedManifestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DocumentClassifierInputDataConfigAugmentedManifestArrayInput)(nil)).Elem(), DocumentClassifierInputDataConfigAugmentedManifestArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DocumentClassifierOutputDataConfigInput)(nil)).Elem(), DocumentClassifierOutputDataConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DocumentClassifierOutputDataConfigPtrInput)(nil)).Elem(), DocumentClassifierOutputDataConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DocumentClassifierVpcConfigInput)(nil)).Elem(), DocumentClassifierVpcConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DocumentClassifierVpcConfigPtrInput)(nil)).Elem(), DocumentClassifierVpcConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EntityRecognizerInputDataConfigInput)(nil)).Elem(), EntityRecognizerInputDataConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EntityRecognizerInputDataConfigPtrInput)(nil)).Elem(), EntityRecognizerInputDataConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EntityRecognizerInputDataConfigAnnotationsInput)(nil)).Elem(), EntityRecognizerInputDataConfigAnnotationsArgs{}) @@ -1177,6 +1910,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*EntityRecognizerInputDataConfigEntityTypeArrayInput)(nil)).Elem(), EntityRecognizerInputDataConfigEntityTypeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*EntityRecognizerVpcConfigInput)(nil)).Elem(), EntityRecognizerVpcConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EntityRecognizerVpcConfigPtrInput)(nil)).Elem(), EntityRecognizerVpcConfigArgs{}) + pulumi.RegisterOutputType(DocumentClassifierInputDataConfigOutput{}) + pulumi.RegisterOutputType(DocumentClassifierInputDataConfigPtrOutput{}) + pulumi.RegisterOutputType(DocumentClassifierInputDataConfigAugmentedManifestOutput{}) + pulumi.RegisterOutputType(DocumentClassifierInputDataConfigAugmentedManifestArrayOutput{}) + pulumi.RegisterOutputType(DocumentClassifierOutputDataConfigOutput{}) + pulumi.RegisterOutputType(DocumentClassifierOutputDataConfigPtrOutput{}) + pulumi.RegisterOutputType(DocumentClassifierVpcConfigOutput{}) + pulumi.RegisterOutputType(DocumentClassifierVpcConfigPtrOutput{}) pulumi.RegisterOutputType(EntityRecognizerInputDataConfigOutput{}) pulumi.RegisterOutputType(EntityRecognizerInputDataConfigPtrOutput{}) pulumi.RegisterOutputType(EntityRecognizerInputDataConfigAnnotationsOutput{}) diff --git a/sdk/go/aws/directconnect/connection.go b/sdk/go/aws/directconnect/connection.go index a6d3862d2ff..7e267339e6f 100644 --- a/sdk/go/aws/directconnect/connection.go +++ b/sdk/go/aws/directconnect/connection.go @@ -74,6 +74,8 @@ type Connection struct { Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + // The VLAN ID. + VlanId pulumi.StringOutput `pulumi:"vlanId"` } // NewConnection registers a new resource with the given unique name, arguments, and options. @@ -133,6 +135,8 @@ type connectionState struct { Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll map[string]string `pulumi:"tagsAll"` + // The VLAN ID. + VlanId *string `pulumi:"vlanId"` } type ConnectionState struct { @@ -158,6 +162,8 @@ type ConnectionState struct { Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapInput + // The VLAN ID. + VlanId pulumi.StringPtrInput } func (ConnectionState) ElementType() reflect.Type { @@ -333,6 +339,11 @@ func (o ConnectionOutput) TagsAll() pulumi.StringMapOutput { return o.ApplyT(func(v *Connection) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) } +// The VLAN ID. +func (o ConnectionOutput) VlanId() pulumi.StringOutput { + return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.VlanId }).(pulumi.StringOutput) +} + type ConnectionArrayOutput struct{ *pulumi.OutputState } func (ConnectionArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/aws/directconnect/getConnection.go b/sdk/go/aws/directconnect/getConnection.go index 6d6503f59ce..aa0526f053b 100644 --- a/sdk/go/aws/directconnect/getConnection.go +++ b/sdk/go/aws/directconnect/getConnection.go @@ -73,6 +73,8 @@ type LookupConnectionResult struct { ProviderName string `pulumi:"providerName"` // Map of tags for the resource. Tags map[string]string `pulumi:"tags"` + // The VLAN ID. + VlanId string `pulumi:"vlanId"` } func LookupConnectionOutput(ctx *pulumi.Context, args LookupConnectionOutputArgs, opts ...pulumi.InvokeOption) LookupConnectionResultOutput { @@ -159,6 +161,11 @@ func (o LookupConnectionResultOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v LookupConnectionResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } +// The VLAN ID. +func (o LookupConnectionResultOutput) VlanId() pulumi.StringOutput { + return o.ApplyT(func(v LookupConnectionResult) string { return v.VlanId }).(pulumi.StringOutput) +} + func init() { pulumi.RegisterOutputType(LookupConnectionResultOutput{}) } diff --git a/sdk/go/aws/ebs/volume.go b/sdk/go/aws/ebs/volume.go index c5c52e00fd3..cf5311e2799 100644 --- a/sdk/go/aws/ebs/volume.go +++ b/sdk/go/aws/ebs/volume.go @@ -43,7 +43,7 @@ import ( // // ``` // -// > **NOTE**: At least one of `size` or `snapshotId` is required when specifying an EBS volume +// > **NOTE:** At least one of `size` or `snapshotId` is required when specifying an EBS volume // // ## Import // diff --git a/sdk/go/aws/ec2/defaultVpc.go b/sdk/go/aws/ec2/defaultVpc.go index 99fd7dd8ac4..003f7ee04f7 100644 --- a/sdk/go/aws/ec2/defaultVpc.go +++ b/sdk/go/aws/ec2/defaultVpc.go @@ -63,10 +63,11 @@ type DefaultVpc struct { // Deprecated: With the retirement of EC2-Classic the enable_classiclink attribute has been deprecated and will be removed in a future version. EnableClassiclink pulumi.BoolOutput `pulumi:"enableClassiclink"` // Deprecated: With the retirement of EC2-Classic the enable_classiclink_dns_support attribute has been deprecated and will be removed in a future version. - EnableClassiclinkDnsSupport pulumi.BoolOutput `pulumi:"enableClassiclinkDnsSupport"` - EnableDnsHostnames pulumi.BoolPtrOutput `pulumi:"enableDnsHostnames"` - EnableDnsSupport pulumi.BoolPtrOutput `pulumi:"enableDnsSupport"` - ExistingDefaultVpc pulumi.BoolOutput `pulumi:"existingDefaultVpc"` + EnableClassiclinkDnsSupport pulumi.BoolOutput `pulumi:"enableClassiclinkDnsSupport"` + EnableDnsHostnames pulumi.BoolPtrOutput `pulumi:"enableDnsHostnames"` + EnableDnsSupport pulumi.BoolPtrOutput `pulumi:"enableDnsSupport"` + EnableNetworkAddressUsageMetrics pulumi.BoolPtrOutput `pulumi:"enableNetworkAddressUsageMetrics"` + ExistingDefaultVpc pulumi.BoolOutput `pulumi:"existingDefaultVpc"` // Whether destroying the resource deletes the default VPC. Default: `false` ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"` // The allowed tenancy of instances launched into the VPC @@ -122,10 +123,11 @@ type defaultVpcState struct { // Deprecated: With the retirement of EC2-Classic the enable_classiclink attribute has been deprecated and will be removed in a future version. EnableClassiclink *bool `pulumi:"enableClassiclink"` // Deprecated: With the retirement of EC2-Classic the enable_classiclink_dns_support attribute has been deprecated and will be removed in a future version. - EnableClassiclinkDnsSupport *bool `pulumi:"enableClassiclinkDnsSupport"` - EnableDnsHostnames *bool `pulumi:"enableDnsHostnames"` - EnableDnsSupport *bool `pulumi:"enableDnsSupport"` - ExistingDefaultVpc *bool `pulumi:"existingDefaultVpc"` + EnableClassiclinkDnsSupport *bool `pulumi:"enableClassiclinkDnsSupport"` + EnableDnsHostnames *bool `pulumi:"enableDnsHostnames"` + EnableDnsSupport *bool `pulumi:"enableDnsSupport"` + EnableNetworkAddressUsageMetrics *bool `pulumi:"enableNetworkAddressUsageMetrics"` + ExistingDefaultVpc *bool `pulumi:"existingDefaultVpc"` // Whether destroying the resource deletes the default VPC. Default: `false` ForceDestroy *bool `pulumi:"forceDestroy"` // The allowed tenancy of instances launched into the VPC @@ -153,10 +155,11 @@ type DefaultVpcState struct { // Deprecated: With the retirement of EC2-Classic the enable_classiclink attribute has been deprecated and will be removed in a future version. EnableClassiclink pulumi.BoolPtrInput // Deprecated: With the retirement of EC2-Classic the enable_classiclink_dns_support attribute has been deprecated and will be removed in a future version. - EnableClassiclinkDnsSupport pulumi.BoolPtrInput - EnableDnsHostnames pulumi.BoolPtrInput - EnableDnsSupport pulumi.BoolPtrInput - ExistingDefaultVpc pulumi.BoolPtrInput + EnableClassiclinkDnsSupport pulumi.BoolPtrInput + EnableDnsHostnames pulumi.BoolPtrInput + EnableDnsSupport pulumi.BoolPtrInput + EnableNetworkAddressUsageMetrics pulumi.BoolPtrInput + ExistingDefaultVpc pulumi.BoolPtrInput // Whether destroying the resource deletes the default VPC. Default: `false` ForceDestroy pulumi.BoolPtrInput // The allowed tenancy of instances launched into the VPC @@ -181,9 +184,10 @@ type defaultVpcArgs struct { // Deprecated: With the retirement of EC2-Classic the enable_classiclink attribute has been deprecated and will be removed in a future version. EnableClassiclink *bool `pulumi:"enableClassiclink"` // Deprecated: With the retirement of EC2-Classic the enable_classiclink_dns_support attribute has been deprecated and will be removed in a future version. - EnableClassiclinkDnsSupport *bool `pulumi:"enableClassiclinkDnsSupport"` - EnableDnsHostnames *bool `pulumi:"enableDnsHostnames"` - EnableDnsSupport *bool `pulumi:"enableDnsSupport"` + EnableClassiclinkDnsSupport *bool `pulumi:"enableClassiclinkDnsSupport"` + EnableDnsHostnames *bool `pulumi:"enableDnsHostnames"` + EnableDnsSupport *bool `pulumi:"enableDnsSupport"` + EnableNetworkAddressUsageMetrics *bool `pulumi:"enableNetworkAddressUsageMetrics"` // Whether destroying the resource deletes the default VPC. Default: `false` ForceDestroy *bool `pulumi:"forceDestroy"` Ipv6CidrBlock *string `pulumi:"ipv6CidrBlock"` @@ -199,9 +203,10 @@ type DefaultVpcArgs struct { // Deprecated: With the retirement of EC2-Classic the enable_classiclink attribute has been deprecated and will be removed in a future version. EnableClassiclink pulumi.BoolPtrInput // Deprecated: With the retirement of EC2-Classic the enable_classiclink_dns_support attribute has been deprecated and will be removed in a future version. - EnableClassiclinkDnsSupport pulumi.BoolPtrInput - EnableDnsHostnames pulumi.BoolPtrInput - EnableDnsSupport pulumi.BoolPtrInput + EnableClassiclinkDnsSupport pulumi.BoolPtrInput + EnableDnsHostnames pulumi.BoolPtrInput + EnableDnsSupport pulumi.BoolPtrInput + EnableNetworkAddressUsageMetrics pulumi.BoolPtrInput // Whether destroying the resource deletes the default VPC. Default: `false` ForceDestroy pulumi.BoolPtrInput Ipv6CidrBlock pulumi.StringPtrInput @@ -345,6 +350,10 @@ func (o DefaultVpcOutput) EnableDnsSupport() pulumi.BoolPtrOutput { return o.ApplyT(func(v *DefaultVpc) pulumi.BoolPtrOutput { return v.EnableDnsSupport }).(pulumi.BoolPtrOutput) } +func (o DefaultVpcOutput) EnableNetworkAddressUsageMetrics() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *DefaultVpc) pulumi.BoolPtrOutput { return v.EnableNetworkAddressUsageMetrics }).(pulumi.BoolPtrOutput) +} + func (o DefaultVpcOutput) ExistingDefaultVpc() pulumi.BoolOutput { return o.ApplyT(func(v *DefaultVpc) pulumi.BoolOutput { return v.ExistingDefaultVpc }).(pulumi.BoolOutput) } diff --git a/sdk/go/aws/ec2/getNatGateway.go b/sdk/go/aws/ec2/getNatGateway.go index a3aea9a8512..c7819f06866 100644 --- a/sdk/go/aws/ec2/getNatGateway.go +++ b/sdk/go/aws/ec2/getNatGateway.go @@ -21,14 +21,11 @@ import ( // // "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// cfg := config.New(ctx, "") -// subnetId := cfg.RequireObject("subnetId") // _, err := ec2.LookupNatGateway(ctx, &ec2.LookupNatGatewayArgs{ // SubnetId: pulumi.StringRef(aws_subnet.Public.Id), // }, nil) diff --git a/sdk/go/aws/ec2/getVpc.go b/sdk/go/aws/ec2/getVpc.go index 7868294239d..909bc1c1f6d 100644 --- a/sdk/go/aws/ec2/getVpc.go +++ b/sdk/go/aws/ec2/getVpc.go @@ -57,9 +57,11 @@ type LookupVpcResult struct { // Whether or not the VPC has DNS hostname support EnableDnsHostnames bool `pulumi:"enableDnsHostnames"` // Whether or not the VPC has DNS support - EnableDnsSupport bool `pulumi:"enableDnsSupport"` - Filters []GetVpcFilter `pulumi:"filters"` - Id string `pulumi:"id"` + EnableDnsSupport bool `pulumi:"enableDnsSupport"` + // Whether Network Address Usage metrics are enabled for your VPC + EnableNetworkAddressUsageMetrics bool `pulumi:"enableNetworkAddressUsageMetrics"` + Filters []GetVpcFilter `pulumi:"filters"` + Id string `pulumi:"id"` // Allowed tenancy of instances launched into the // selected VPC. May be any of `"default"`, `"dedicated"`, or `"host"`. InstanceTenancy string `pulumi:"instanceTenancy"` @@ -161,6 +163,11 @@ func (o LookupVpcResultOutput) EnableDnsSupport() pulumi.BoolOutput { return o.ApplyT(func(v LookupVpcResult) bool { return v.EnableDnsSupport }).(pulumi.BoolOutput) } +// Whether Network Address Usage metrics are enabled for your VPC +func (o LookupVpcResultOutput) EnableNetworkAddressUsageMetrics() pulumi.BoolOutput { + return o.ApplyT(func(v LookupVpcResult) bool { return v.EnableNetworkAddressUsageMetrics }).(pulumi.BoolOutput) +} + func (o LookupVpcResultOutput) Filters() GetVpcFilterArrayOutput { return o.ApplyT(func(v LookupVpcResult) []GetVpcFilter { return v.Filters }).(GetVpcFilterArrayOutput) } diff --git a/sdk/go/aws/ec2/getVpcIamPools.go b/sdk/go/aws/ec2/getVpcIamPools.go new file mode 100644 index 00000000000..0f27fedf30f --- /dev/null +++ b/sdk/go/aws/ec2/getVpcIamPools.go @@ -0,0 +1,135 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ec2 + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// `ec2.getVpcIamPools` provides details about IPAM pools. +// +// This resource can prove useful when IPAM pools are created in another root +// module and you need the pool ids as input variables. For example, pools +// can be shared via RAM and used to create vpcs with CIDRs from that pool. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := ec2.GetVpcIamPools(ctx, &ec2.GetVpcIamPoolsArgs{ +// Filters: []ec2.GetVpcIamPoolsFilter{ +// ec2.GetVpcIamPoolsFilter{ +// Name: "description", +// Values: []string{ +// "*test*", +// }, +// }, +// ec2.GetVpcIamPoolsFilter{ +// Name: "address-family", +// Values: []string{ +// "ipv4", +// }, +// }, +// }, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetVpcIamPools(ctx *pulumi.Context, args *GetVpcIamPoolsArgs, opts ...pulumi.InvokeOption) (*GetVpcIamPoolsResult, error) { + var rv GetVpcIamPoolsResult + err := ctx.Invoke("aws:ec2/getVpcIamPools:getVpcIamPools", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getVpcIamPools. +type GetVpcIamPoolsArgs struct { + // Custom filter block as described below. + Filters []GetVpcIamPoolsFilter `pulumi:"filters"` +} + +// A collection of values returned by getVpcIamPools. +type GetVpcIamPoolsResult struct { + Filters []GetVpcIamPoolsFilter `pulumi:"filters"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // List of IPAM pools and their attributes. See below for details + IpamPools []GetVpcIamPoolsIpamPool `pulumi:"ipamPools"` +} + +func GetVpcIamPoolsOutput(ctx *pulumi.Context, args GetVpcIamPoolsOutputArgs, opts ...pulumi.InvokeOption) GetVpcIamPoolsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetVpcIamPoolsResult, error) { + args := v.(GetVpcIamPoolsArgs) + r, err := GetVpcIamPools(ctx, &args, opts...) + var s GetVpcIamPoolsResult + if r != nil { + s = *r + } + return s, err + }).(GetVpcIamPoolsResultOutput) +} + +// A collection of arguments for invoking getVpcIamPools. +type GetVpcIamPoolsOutputArgs struct { + // Custom filter block as described below. + Filters GetVpcIamPoolsFilterArrayInput `pulumi:"filters"` +} + +func (GetVpcIamPoolsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcIamPoolsArgs)(nil)).Elem() +} + +// A collection of values returned by getVpcIamPools. +type GetVpcIamPoolsResultOutput struct{ *pulumi.OutputState } + +func (GetVpcIamPoolsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcIamPoolsResult)(nil)).Elem() +} + +func (o GetVpcIamPoolsResultOutput) ToGetVpcIamPoolsResultOutput() GetVpcIamPoolsResultOutput { + return o +} + +func (o GetVpcIamPoolsResultOutput) ToGetVpcIamPoolsResultOutputWithContext(ctx context.Context) GetVpcIamPoolsResultOutput { + return o +} + +func (o GetVpcIamPoolsResultOutput) Filters() GetVpcIamPoolsFilterArrayOutput { + return o.ApplyT(func(v GetVpcIamPoolsResult) []GetVpcIamPoolsFilter { return v.Filters }).(GetVpcIamPoolsFilterArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetVpcIamPoolsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetVpcIamPoolsResult) string { return v.Id }).(pulumi.StringOutput) +} + +// List of IPAM pools and their attributes. See below for details +func (o GetVpcIamPoolsResultOutput) IpamPools() GetVpcIamPoolsIpamPoolArrayOutput { + return o.ApplyT(func(v GetVpcIamPoolsResult) []GetVpcIamPoolsIpamPool { return v.IpamPools }).(GetVpcIamPoolsIpamPoolArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetVpcIamPoolsResultOutput{}) +} diff --git a/sdk/go/aws/ec2/networkInterface.go b/sdk/go/aws/ec2/networkInterface.go index 1e302f56571..02290cd7e5f 100644 --- a/sdk/go/aws/ec2/networkInterface.go +++ b/sdk/go/aws/ec2/networkInterface.go @@ -92,7 +92,8 @@ type NetworkInterface struct { // One or more IPv4 prefixes assigned to the network interface. Ipv4Prefixes pulumi.StringArrayOutput `pulumi:"ipv4Prefixes"` // Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6Addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. - Ipv6AddressCount pulumi.IntOutput `pulumi:"ipv6AddressCount"` + Ipv6AddressCount pulumi.IntOutput `pulumi:"ipv6AddressCount"` + // Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. Ipv6AddressListEnabled pulumi.BoolPtrOutput `pulumi:"ipv6AddressListEnabled"` // List of private IPs to assign to the ENI in sequential order. Ipv6AddressLists pulumi.StringArrayOutput `pulumi:"ipv6AddressLists"` @@ -174,7 +175,8 @@ type networkInterfaceState struct { // One or more IPv4 prefixes assigned to the network interface. Ipv4Prefixes []string `pulumi:"ipv4Prefixes"` // Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6Addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. - Ipv6AddressCount *int `pulumi:"ipv6AddressCount"` + Ipv6AddressCount *int `pulumi:"ipv6AddressCount"` + // Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. Ipv6AddressListEnabled *bool `pulumi:"ipv6AddressListEnabled"` // List of private IPs to assign to the ENI in sequential order. Ipv6AddressLists []string `pulumi:"ipv6AddressLists"` @@ -225,7 +227,8 @@ type NetworkInterfaceState struct { // One or more IPv4 prefixes assigned to the network interface. Ipv4Prefixes pulumi.StringArrayInput // Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6Addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. - Ipv6AddressCount pulumi.IntPtrInput + Ipv6AddressCount pulumi.IntPtrInput + // Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. Ipv6AddressListEnabled pulumi.BoolPtrInput // List of private IPs to assign to the ENI in sequential order. Ipv6AddressLists pulumi.StringArrayInput @@ -278,7 +281,8 @@ type networkInterfaceArgs struct { // One or more IPv4 prefixes assigned to the network interface. Ipv4Prefixes []string `pulumi:"ipv4Prefixes"` // Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6Addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. - Ipv6AddressCount *int `pulumi:"ipv6AddressCount"` + Ipv6AddressCount *int `pulumi:"ipv6AddressCount"` + // Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. Ipv6AddressListEnabled *bool `pulumi:"ipv6AddressListEnabled"` // List of private IPs to assign to the ENI in sequential order. Ipv6AddressLists []string `pulumi:"ipv6AddressLists"` @@ -320,7 +324,8 @@ type NetworkInterfaceArgs struct { // One or more IPv4 prefixes assigned to the network interface. Ipv4Prefixes pulumi.StringArrayInput // Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6Addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. - Ipv6AddressCount pulumi.IntPtrInput + Ipv6AddressCount pulumi.IntPtrInput + // Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. Ipv6AddressListEnabled pulumi.BoolPtrInput // List of private IPs to assign to the ENI in sequential order. Ipv6AddressLists pulumi.StringArrayInput @@ -471,6 +476,7 @@ func (o NetworkInterfaceOutput) Ipv6AddressCount() pulumi.IntOutput { return o.ApplyT(func(v *NetworkInterface) pulumi.IntOutput { return v.Ipv6AddressCount }).(pulumi.IntOutput) } +// Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. func (o NetworkInterfaceOutput) Ipv6AddressListEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *NetworkInterface) pulumi.BoolPtrOutput { return v.Ipv6AddressListEnabled }).(pulumi.BoolPtrOutput) } diff --git a/sdk/go/aws/ec2/pulumiTypes.go b/sdk/go/aws/ec2/pulumiTypes.go index 3f9ddb89d8a..371d68df506 100644 --- a/sdk/go/aws/ec2/pulumiTypes.go +++ b/sdk/go/aws/ec2/pulumiTypes.go @@ -53298,6 +53298,353 @@ func (o GetVpcIamPoolFilterArrayOutput) Index(i pulumi.IntInput) GetVpcIamPoolFi }).(GetVpcIamPoolFilterOutput) } +type GetVpcIamPoolsFilter struct { + Name string `pulumi:"name"` + Values []string `pulumi:"values"` +} + +// GetVpcIamPoolsFilterInput is an input type that accepts GetVpcIamPoolsFilterArgs and GetVpcIamPoolsFilterOutput values. +// You can construct a concrete instance of `GetVpcIamPoolsFilterInput` via: +// +// GetVpcIamPoolsFilterArgs{...} +type GetVpcIamPoolsFilterInput interface { + pulumi.Input + + ToGetVpcIamPoolsFilterOutput() GetVpcIamPoolsFilterOutput + ToGetVpcIamPoolsFilterOutputWithContext(context.Context) GetVpcIamPoolsFilterOutput +} + +type GetVpcIamPoolsFilterArgs struct { + Name pulumi.StringInput `pulumi:"name"` + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetVpcIamPoolsFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcIamPoolsFilter)(nil)).Elem() +} + +func (i GetVpcIamPoolsFilterArgs) ToGetVpcIamPoolsFilterOutput() GetVpcIamPoolsFilterOutput { + return i.ToGetVpcIamPoolsFilterOutputWithContext(context.Background()) +} + +func (i GetVpcIamPoolsFilterArgs) ToGetVpcIamPoolsFilterOutputWithContext(ctx context.Context) GetVpcIamPoolsFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcIamPoolsFilterOutput) +} + +// GetVpcIamPoolsFilterArrayInput is an input type that accepts GetVpcIamPoolsFilterArray and GetVpcIamPoolsFilterArrayOutput values. +// You can construct a concrete instance of `GetVpcIamPoolsFilterArrayInput` via: +// +// GetVpcIamPoolsFilterArray{ GetVpcIamPoolsFilterArgs{...} } +type GetVpcIamPoolsFilterArrayInput interface { + pulumi.Input + + ToGetVpcIamPoolsFilterArrayOutput() GetVpcIamPoolsFilterArrayOutput + ToGetVpcIamPoolsFilterArrayOutputWithContext(context.Context) GetVpcIamPoolsFilterArrayOutput +} + +type GetVpcIamPoolsFilterArray []GetVpcIamPoolsFilterInput + +func (GetVpcIamPoolsFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpcIamPoolsFilter)(nil)).Elem() +} + +func (i GetVpcIamPoolsFilterArray) ToGetVpcIamPoolsFilterArrayOutput() GetVpcIamPoolsFilterArrayOutput { + return i.ToGetVpcIamPoolsFilterArrayOutputWithContext(context.Background()) +} + +func (i GetVpcIamPoolsFilterArray) ToGetVpcIamPoolsFilterArrayOutputWithContext(ctx context.Context) GetVpcIamPoolsFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcIamPoolsFilterArrayOutput) +} + +type GetVpcIamPoolsFilterOutput struct{ *pulumi.OutputState } + +func (GetVpcIamPoolsFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcIamPoolsFilter)(nil)).Elem() +} + +func (o GetVpcIamPoolsFilterOutput) ToGetVpcIamPoolsFilterOutput() GetVpcIamPoolsFilterOutput { + return o +} + +func (o GetVpcIamPoolsFilterOutput) ToGetVpcIamPoolsFilterOutputWithContext(ctx context.Context) GetVpcIamPoolsFilterOutput { + return o +} + +func (o GetVpcIamPoolsFilterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetVpcIamPoolsFilter) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetVpcIamPoolsFilterOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVpcIamPoolsFilter) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetVpcIamPoolsFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetVpcIamPoolsFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpcIamPoolsFilter)(nil)).Elem() +} + +func (o GetVpcIamPoolsFilterArrayOutput) ToGetVpcIamPoolsFilterArrayOutput() GetVpcIamPoolsFilterArrayOutput { + return o +} + +func (o GetVpcIamPoolsFilterArrayOutput) ToGetVpcIamPoolsFilterArrayOutputWithContext(ctx context.Context) GetVpcIamPoolsFilterArrayOutput { + return o +} + +func (o GetVpcIamPoolsFilterArrayOutput) Index(i pulumi.IntInput) GetVpcIamPoolsFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVpcIamPoolsFilter { + return vs[0].([]GetVpcIamPoolsFilter)[vs[1].(int)] + }).(GetVpcIamPoolsFilterOutput) +} + +type GetVpcIamPoolsIpamPool struct { + // IP protocol assigned to this pool. + AddressFamily string `pulumi:"addressFamily"` + // A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. + AllocationDefaultNetmaskLength int `pulumi:"allocationDefaultNetmaskLength"` + // The maximum netmask length that will be required for CIDR allocations in this pool. + AllocationMaxNetmaskLength int `pulumi:"allocationMaxNetmaskLength"` + // The minimum netmask length that will be required for CIDR allocations in this pool. + AllocationMinNetmaskLength int `pulumi:"allocationMinNetmaskLength"` + // Tags that are required to create resources in using this pool. + AllocationResourceTags map[string]string `pulumi:"allocationResourceTags"` + // ARN of the pool + Arn string `pulumi:"arn"` + // If enabled, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. + AutoImport bool `pulumi:"autoImport"` + // Limits which service in AWS that the pool can be used in. "ec2", for example, allows users to use space for Elastic IP addresses and VPCs. + AwsService string `pulumi:"awsService"` + // Description for the IPAM pool. + Description string `pulumi:"description"` + // ID of the IPAM pool. + Id *string `pulumi:"id"` + IpamPoolId string `pulumi:"ipamPoolId"` + // ID of the scope the pool belongs to. + IpamScopeId string `pulumi:"ipamScopeId"` + IpamScopeType string `pulumi:"ipamScopeType"` + // Locale is the Region where your pool is available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region. + Locale string `pulumi:"locale"` + PoolDepth int `pulumi:"poolDepth"` + // Defines whether or not IPv6 pool space is publicly ∂advertisable over the internet. + PubliclyAdvertisable bool `pulumi:"publiclyAdvertisable"` + // ID of the source IPAM pool. + SourceIpamPoolId string `pulumi:"sourceIpamPoolId"` + State string `pulumi:"state"` + // Map of tags to assigned to the resource. + Tags map[string]string `pulumi:"tags"` +} + +// GetVpcIamPoolsIpamPoolInput is an input type that accepts GetVpcIamPoolsIpamPoolArgs and GetVpcIamPoolsIpamPoolOutput values. +// You can construct a concrete instance of `GetVpcIamPoolsIpamPoolInput` via: +// +// GetVpcIamPoolsIpamPoolArgs{...} +type GetVpcIamPoolsIpamPoolInput interface { + pulumi.Input + + ToGetVpcIamPoolsIpamPoolOutput() GetVpcIamPoolsIpamPoolOutput + ToGetVpcIamPoolsIpamPoolOutputWithContext(context.Context) GetVpcIamPoolsIpamPoolOutput +} + +type GetVpcIamPoolsIpamPoolArgs struct { + // IP protocol assigned to this pool. + AddressFamily pulumi.StringInput `pulumi:"addressFamily"` + // A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. + AllocationDefaultNetmaskLength pulumi.IntInput `pulumi:"allocationDefaultNetmaskLength"` + // The maximum netmask length that will be required for CIDR allocations in this pool. + AllocationMaxNetmaskLength pulumi.IntInput `pulumi:"allocationMaxNetmaskLength"` + // The minimum netmask length that will be required for CIDR allocations in this pool. + AllocationMinNetmaskLength pulumi.IntInput `pulumi:"allocationMinNetmaskLength"` + // Tags that are required to create resources in using this pool. + AllocationResourceTags pulumi.StringMapInput `pulumi:"allocationResourceTags"` + // ARN of the pool + Arn pulumi.StringInput `pulumi:"arn"` + // If enabled, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. + AutoImport pulumi.BoolInput `pulumi:"autoImport"` + // Limits which service in AWS that the pool can be used in. "ec2", for example, allows users to use space for Elastic IP addresses and VPCs. + AwsService pulumi.StringInput `pulumi:"awsService"` + // Description for the IPAM pool. + Description pulumi.StringInput `pulumi:"description"` + // ID of the IPAM pool. + Id pulumi.StringPtrInput `pulumi:"id"` + IpamPoolId pulumi.StringInput `pulumi:"ipamPoolId"` + // ID of the scope the pool belongs to. + IpamScopeId pulumi.StringInput `pulumi:"ipamScopeId"` + IpamScopeType pulumi.StringInput `pulumi:"ipamScopeType"` + // Locale is the Region where your pool is available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region. + Locale pulumi.StringInput `pulumi:"locale"` + PoolDepth pulumi.IntInput `pulumi:"poolDepth"` + // Defines whether or not IPv6 pool space is publicly ∂advertisable over the internet. + PubliclyAdvertisable pulumi.BoolInput `pulumi:"publiclyAdvertisable"` + // ID of the source IPAM pool. + SourceIpamPoolId pulumi.StringInput `pulumi:"sourceIpamPoolId"` + State pulumi.StringInput `pulumi:"state"` + // Map of tags to assigned to the resource. + Tags pulumi.StringMapInput `pulumi:"tags"` +} + +func (GetVpcIamPoolsIpamPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcIamPoolsIpamPool)(nil)).Elem() +} + +func (i GetVpcIamPoolsIpamPoolArgs) ToGetVpcIamPoolsIpamPoolOutput() GetVpcIamPoolsIpamPoolOutput { + return i.ToGetVpcIamPoolsIpamPoolOutputWithContext(context.Background()) +} + +func (i GetVpcIamPoolsIpamPoolArgs) ToGetVpcIamPoolsIpamPoolOutputWithContext(ctx context.Context) GetVpcIamPoolsIpamPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcIamPoolsIpamPoolOutput) +} + +// GetVpcIamPoolsIpamPoolArrayInput is an input type that accepts GetVpcIamPoolsIpamPoolArray and GetVpcIamPoolsIpamPoolArrayOutput values. +// You can construct a concrete instance of `GetVpcIamPoolsIpamPoolArrayInput` via: +// +// GetVpcIamPoolsIpamPoolArray{ GetVpcIamPoolsIpamPoolArgs{...} } +type GetVpcIamPoolsIpamPoolArrayInput interface { + pulumi.Input + + ToGetVpcIamPoolsIpamPoolArrayOutput() GetVpcIamPoolsIpamPoolArrayOutput + ToGetVpcIamPoolsIpamPoolArrayOutputWithContext(context.Context) GetVpcIamPoolsIpamPoolArrayOutput +} + +type GetVpcIamPoolsIpamPoolArray []GetVpcIamPoolsIpamPoolInput + +func (GetVpcIamPoolsIpamPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpcIamPoolsIpamPool)(nil)).Elem() +} + +func (i GetVpcIamPoolsIpamPoolArray) ToGetVpcIamPoolsIpamPoolArrayOutput() GetVpcIamPoolsIpamPoolArrayOutput { + return i.ToGetVpcIamPoolsIpamPoolArrayOutputWithContext(context.Background()) +} + +func (i GetVpcIamPoolsIpamPoolArray) ToGetVpcIamPoolsIpamPoolArrayOutputWithContext(ctx context.Context) GetVpcIamPoolsIpamPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcIamPoolsIpamPoolArrayOutput) +} + +type GetVpcIamPoolsIpamPoolOutput struct{ *pulumi.OutputState } + +func (GetVpcIamPoolsIpamPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcIamPoolsIpamPool)(nil)).Elem() +} + +func (o GetVpcIamPoolsIpamPoolOutput) ToGetVpcIamPoolsIpamPoolOutput() GetVpcIamPoolsIpamPoolOutput { + return o +} + +func (o GetVpcIamPoolsIpamPoolOutput) ToGetVpcIamPoolsIpamPoolOutputWithContext(ctx context.Context) GetVpcIamPoolsIpamPoolOutput { + return o +} + +// IP protocol assigned to this pool. +func (o GetVpcIamPoolsIpamPoolOutput) AddressFamily() pulumi.StringOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) string { return v.AddressFamily }).(pulumi.StringOutput) +} + +// A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. +func (o GetVpcIamPoolsIpamPoolOutput) AllocationDefaultNetmaskLength() pulumi.IntOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) int { return v.AllocationDefaultNetmaskLength }).(pulumi.IntOutput) +} + +// The maximum netmask length that will be required for CIDR allocations in this pool. +func (o GetVpcIamPoolsIpamPoolOutput) AllocationMaxNetmaskLength() pulumi.IntOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) int { return v.AllocationMaxNetmaskLength }).(pulumi.IntOutput) +} + +// The minimum netmask length that will be required for CIDR allocations in this pool. +func (o GetVpcIamPoolsIpamPoolOutput) AllocationMinNetmaskLength() pulumi.IntOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) int { return v.AllocationMinNetmaskLength }).(pulumi.IntOutput) +} + +// Tags that are required to create resources in using this pool. +func (o GetVpcIamPoolsIpamPoolOutput) AllocationResourceTags() pulumi.StringMapOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) map[string]string { return v.AllocationResourceTags }).(pulumi.StringMapOutput) +} + +// ARN of the pool +func (o GetVpcIamPoolsIpamPoolOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) string { return v.Arn }).(pulumi.StringOutput) +} + +// If enabled, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. +func (o GetVpcIamPoolsIpamPoolOutput) AutoImport() pulumi.BoolOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) bool { return v.AutoImport }).(pulumi.BoolOutput) +} + +// Limits which service in AWS that the pool can be used in. "ec2", for example, allows users to use space for Elastic IP addresses and VPCs. +func (o GetVpcIamPoolsIpamPoolOutput) AwsService() pulumi.StringOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) string { return v.AwsService }).(pulumi.StringOutput) +} + +// Description for the IPAM pool. +func (o GetVpcIamPoolsIpamPoolOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) string { return v.Description }).(pulumi.StringOutput) +} + +// ID of the IPAM pool. +func (o GetVpcIamPoolsIpamPoolOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o GetVpcIamPoolsIpamPoolOutput) IpamPoolId() pulumi.StringOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) string { return v.IpamPoolId }).(pulumi.StringOutput) +} + +// ID of the scope the pool belongs to. +func (o GetVpcIamPoolsIpamPoolOutput) IpamScopeId() pulumi.StringOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) string { return v.IpamScopeId }).(pulumi.StringOutput) +} + +func (o GetVpcIamPoolsIpamPoolOutput) IpamScopeType() pulumi.StringOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) string { return v.IpamScopeType }).(pulumi.StringOutput) +} + +// Locale is the Region where your pool is available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region. +func (o GetVpcIamPoolsIpamPoolOutput) Locale() pulumi.StringOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) string { return v.Locale }).(pulumi.StringOutput) +} + +func (o GetVpcIamPoolsIpamPoolOutput) PoolDepth() pulumi.IntOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) int { return v.PoolDepth }).(pulumi.IntOutput) +} + +// Defines whether or not IPv6 pool space is publicly ∂advertisable over the internet. +func (o GetVpcIamPoolsIpamPoolOutput) PubliclyAdvertisable() pulumi.BoolOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) bool { return v.PubliclyAdvertisable }).(pulumi.BoolOutput) +} + +// ID of the source IPAM pool. +func (o GetVpcIamPoolsIpamPoolOutput) SourceIpamPoolId() pulumi.StringOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) string { return v.SourceIpamPoolId }).(pulumi.StringOutput) +} + +func (o GetVpcIamPoolsIpamPoolOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) string { return v.State }).(pulumi.StringOutput) +} + +// Map of tags to assigned to the resource. +func (o GetVpcIamPoolsIpamPoolOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v GetVpcIamPoolsIpamPool) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +type GetVpcIamPoolsIpamPoolArrayOutput struct{ *pulumi.OutputState } + +func (GetVpcIamPoolsIpamPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpcIamPoolsIpamPool)(nil)).Elem() +} + +func (o GetVpcIamPoolsIpamPoolArrayOutput) ToGetVpcIamPoolsIpamPoolArrayOutput() GetVpcIamPoolsIpamPoolArrayOutput { + return o +} + +func (o GetVpcIamPoolsIpamPoolArrayOutput) ToGetVpcIamPoolsIpamPoolArrayOutputWithContext(ctx context.Context) GetVpcIamPoolsIpamPoolArrayOutput { + return o +} + +func (o GetVpcIamPoolsIpamPoolArrayOutput) Index(i pulumi.IntInput) GetVpcIamPoolsIpamPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVpcIamPoolsIpamPool { + return vs[0].([]GetVpcIamPoolsIpamPool)[vs[1].(int)] + }).(GetVpcIamPoolsIpamPoolOutput) +} + type GetVpcPeeringConnectionCidrBlockSet struct { // Primary CIDR block of the requester VPC of the specific VPC Peering Connection to retrieve. CidrBlock string `pulumi:"cidrBlock"` @@ -54734,6 +55081,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetVpcIamPoolCidrsIpamPoolCidrArrayInput)(nil)).Elem(), GetVpcIamPoolCidrsIpamPoolCidrArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVpcIamPoolFilterInput)(nil)).Elem(), GetVpcIamPoolFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVpcIamPoolFilterArrayInput)(nil)).Elem(), GetVpcIamPoolFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpcIamPoolsFilterInput)(nil)).Elem(), GetVpcIamPoolsFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpcIamPoolsFilterArrayInput)(nil)).Elem(), GetVpcIamPoolsFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpcIamPoolsIpamPoolInput)(nil)).Elem(), GetVpcIamPoolsIpamPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpcIamPoolsIpamPoolArrayInput)(nil)).Elem(), GetVpcIamPoolsIpamPoolArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVpcPeeringConnectionCidrBlockSetInput)(nil)).Elem(), GetVpcPeeringConnectionCidrBlockSetArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVpcPeeringConnectionCidrBlockSetArrayInput)(nil)).Elem(), GetVpcPeeringConnectionCidrBlockSetArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVpcPeeringConnectionFilterInput)(nil)).Elem(), GetVpcPeeringConnectionFilterArgs{}) @@ -55539,6 +55890,10 @@ func init() { pulumi.RegisterOutputType(GetVpcIamPoolCidrsIpamPoolCidrArrayOutput{}) pulumi.RegisterOutputType(GetVpcIamPoolFilterOutput{}) pulumi.RegisterOutputType(GetVpcIamPoolFilterArrayOutput{}) + pulumi.RegisterOutputType(GetVpcIamPoolsFilterOutput{}) + pulumi.RegisterOutputType(GetVpcIamPoolsFilterArrayOutput{}) + pulumi.RegisterOutputType(GetVpcIamPoolsIpamPoolOutput{}) + pulumi.RegisterOutputType(GetVpcIamPoolsIpamPoolArrayOutput{}) pulumi.RegisterOutputType(GetVpcPeeringConnectionCidrBlockSetOutput{}) pulumi.RegisterOutputType(GetVpcPeeringConnectionCidrBlockSetArrayOutput{}) pulumi.RegisterOutputType(GetVpcPeeringConnectionFilterOutput{}) diff --git a/sdk/go/aws/ec2/securityGroupRule.go b/sdk/go/aws/ec2/securityGroupRule.go index 9acffc374e4..7f5e21881f9 100644 --- a/sdk/go/aws/ec2/securityGroupRule.go +++ b/sdk/go/aws/ec2/securityGroupRule.go @@ -15,8 +15,8 @@ import ( // `egress` group rule, which can be added to external Security Groups. // // > **NOTE on Security Groups and Security Group Rules:** This provider currently -// provides both a standalone Security Group Rule resource (a single `ingress` or -// `egress` rule), and a Security Group resource with `ingress` and `egress` rules +// provides both a standalone Security Group Rule resource (one or many `ingress` or +// `egress` rules), and a Security Group resource with `ingress` and `egress` rules // defined in-line. At this time you cannot use a Security Group with in-line rules // in conjunction with any Security Group Rule resources. Doing so will cause // a conflict of rule settings and will overwrite rules. diff --git a/sdk/go/aws/ec2/vpc.go b/sdk/go/aws/ec2/vpc.go index c6c55f21182..0953b0478cf 100644 --- a/sdk/go/aws/ec2/vpc.go +++ b/sdk/go/aws/ec2/vpc.go @@ -167,8 +167,10 @@ type Vpc struct { EnableClassiclinkDnsSupport pulumi.BoolOutput `pulumi:"enableClassiclinkDnsSupport"` // A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false. EnableDnsHostnames pulumi.BoolOutput `pulumi:"enableDnsHostnames"` - // A boolean flag to enable/disable DNS support in the VPC. Defaults true. + // A boolean flag to enable/disable DNS support in the VPC. Defaults to true. EnableDnsSupport pulumi.BoolPtrOutput `pulumi:"enableDnsSupport"` + // Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + EnableNetworkAddressUsageMetrics pulumi.BoolOutput `pulumi:"enableNetworkAddressUsageMetrics"` // A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. InstanceTenancy pulumi.StringPtrOutput `pulumi:"instanceTenancy"` // The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Using IPAM you can monitor IP address usage throughout your AWS Organization. @@ -252,8 +254,10 @@ type vpcState struct { EnableClassiclinkDnsSupport *bool `pulumi:"enableClassiclinkDnsSupport"` // A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false. EnableDnsHostnames *bool `pulumi:"enableDnsHostnames"` - // A boolean flag to enable/disable DNS support in the VPC. Defaults true. + // A boolean flag to enable/disable DNS support in the VPC. Defaults to true. EnableDnsSupport *bool `pulumi:"enableDnsSupport"` + // Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + EnableNetworkAddressUsageMetrics *bool `pulumi:"enableNetworkAddressUsageMetrics"` // A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. InstanceTenancy *string `pulumi:"instanceTenancy"` // The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Using IPAM you can monitor IP address usage throughout your AWS Organization. @@ -309,8 +313,10 @@ type VpcState struct { EnableClassiclinkDnsSupport pulumi.BoolPtrInput // A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false. EnableDnsHostnames pulumi.BoolPtrInput - // A boolean flag to enable/disable DNS support in the VPC. Defaults true. + // A boolean flag to enable/disable DNS support in the VPC. Defaults to true. EnableDnsSupport pulumi.BoolPtrInput + // Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + EnableNetworkAddressUsageMetrics pulumi.BoolPtrInput // A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. InstanceTenancy pulumi.StringPtrInput // The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Using IPAM you can monitor IP address usage throughout your AWS Organization. @@ -361,8 +367,10 @@ type vpcArgs struct { EnableClassiclinkDnsSupport *bool `pulumi:"enableClassiclinkDnsSupport"` // A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false. EnableDnsHostnames *bool `pulumi:"enableDnsHostnames"` - // A boolean flag to enable/disable DNS support in the VPC. Defaults true. + // A boolean flag to enable/disable DNS support in the VPC. Defaults to true. EnableDnsSupport *bool `pulumi:"enableDnsSupport"` + // Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + EnableNetworkAddressUsageMetrics *bool `pulumi:"enableNetworkAddressUsageMetrics"` // A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. InstanceTenancy *string `pulumi:"instanceTenancy"` // The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Using IPAM you can monitor IP address usage throughout your AWS Organization. @@ -400,8 +408,10 @@ type VpcArgs struct { EnableClassiclinkDnsSupport pulumi.BoolPtrInput // A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false. EnableDnsHostnames pulumi.BoolPtrInput - // A boolean flag to enable/disable DNS support in the VPC. Defaults true. + // A boolean flag to enable/disable DNS support in the VPC. Defaults to true. EnableDnsSupport pulumi.BoolPtrInput + // Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + EnableNetworkAddressUsageMetrics pulumi.BoolPtrInput // A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. InstanceTenancy pulumi.StringPtrInput // The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Using IPAM you can monitor IP address usage throughout your AWS Organization. @@ -563,11 +573,16 @@ func (o VpcOutput) EnableDnsHostnames() pulumi.BoolOutput { return o.ApplyT(func(v *Vpc) pulumi.BoolOutput { return v.EnableDnsHostnames }).(pulumi.BoolOutput) } -// A boolean flag to enable/disable DNS support in the VPC. Defaults true. +// A boolean flag to enable/disable DNS support in the VPC. Defaults to true. func (o VpcOutput) EnableDnsSupport() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Vpc) pulumi.BoolPtrOutput { return v.EnableDnsSupport }).(pulumi.BoolPtrOutput) } +// Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. +func (o VpcOutput) EnableNetworkAddressUsageMetrics() pulumi.BoolOutput { + return o.ApplyT(func(v *Vpc) pulumi.BoolOutput { return v.EnableNetworkAddressUsageMetrics }).(pulumi.BoolOutput) +} + // A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. func (o VpcOutput) InstanceTenancy() pulumi.StringPtrOutput { return o.ApplyT(func(v *Vpc) pulumi.StringPtrOutput { return v.InstanceTenancy }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/ec2clientvpn/route.go b/sdk/go/aws/ec2clientvpn/route.go index 51cc1b17ded..5ec0450bbc3 100644 --- a/sdk/go/aws/ec2clientvpn/route.go +++ b/sdk/go/aws/ec2clientvpn/route.go @@ -80,7 +80,7 @@ type Route struct { // The ID of the Client VPN endpoint. ClientVpnEndpointId pulumi.StringOutput `pulumi:"clientVpnEndpointId"` - // A brief description of the authorization rule. + // A brief description of the route. Description pulumi.StringPtrOutput `pulumi:"description"` // The IPv4 address range, in CIDR notation, of the route destination. DestinationCidrBlock pulumi.StringOutput `pulumi:"destinationCidrBlock"` @@ -132,7 +132,7 @@ func GetRoute(ctx *pulumi.Context, type routeState struct { // The ID of the Client VPN endpoint. ClientVpnEndpointId *string `pulumi:"clientVpnEndpointId"` - // A brief description of the authorization rule. + // A brief description of the route. Description *string `pulumi:"description"` // The IPv4 address range, in CIDR notation, of the route destination. DestinationCidrBlock *string `pulumi:"destinationCidrBlock"` @@ -147,7 +147,7 @@ type routeState struct { type RouteState struct { // The ID of the Client VPN endpoint. ClientVpnEndpointId pulumi.StringPtrInput - // A brief description of the authorization rule. + // A brief description of the route. Description pulumi.StringPtrInput // The IPv4 address range, in CIDR notation, of the route destination. DestinationCidrBlock pulumi.StringPtrInput @@ -166,7 +166,7 @@ func (RouteState) ElementType() reflect.Type { type routeArgs struct { // The ID of the Client VPN endpoint. ClientVpnEndpointId string `pulumi:"clientVpnEndpointId"` - // A brief description of the authorization rule. + // A brief description of the route. Description *string `pulumi:"description"` // The IPv4 address range, in CIDR notation, of the route destination. DestinationCidrBlock string `pulumi:"destinationCidrBlock"` @@ -178,7 +178,7 @@ type routeArgs struct { type RouteArgs struct { // The ID of the Client VPN endpoint. ClientVpnEndpointId pulumi.StringInput - // A brief description of the authorization rule. + // A brief description of the route. Description pulumi.StringPtrInput // The IPv4 address range, in CIDR notation, of the route destination. DestinationCidrBlock pulumi.StringInput @@ -278,7 +278,7 @@ func (o RouteOutput) ClientVpnEndpointId() pulumi.StringOutput { return o.ApplyT(func(v *Route) pulumi.StringOutput { return v.ClientVpnEndpointId }).(pulumi.StringOutput) } -// A brief description of the authorization rule. +// A brief description of the route. func (o RouteOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *Route) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/ec2transitgateway/connectPeer.go b/sdk/go/aws/ec2transitgateway/connectPeer.go index 659137ef2d3..318ed4b1c03 100644 --- a/sdk/go/aws/ec2transitgateway/connectPeer.go +++ b/sdk/go/aws/ec2transitgateway/connectPeer.go @@ -35,8 +35,10 @@ import ( // return err // } // _, err = ec2transitgateway.NewConnectPeer(ctx, "exampleConnectPeer", &ec2transitgateway.ConnectPeerArgs{ -// PeerAddress: pulumi.String("10.1.2.3"), -// InsideCidrBlocks: pulumi.StringArray("169.254.100.0/29"), +// PeerAddress: pulumi.String("10.1.2.3"), +// InsideCidrBlocks: pulumi.StringArray{ +// pulumi.String("169.254.100.0/29"), +// }, // TransitGatewayAttachmentId: exampleConnect.ID(), // }) // if err != nil { diff --git a/sdk/go/aws/elasticache/getCluster.go b/sdk/go/aws/elasticache/getCluster.go index 7ed57dc4087..bdb9456be9b 100644 --- a/sdk/go/aws/elasticache/getCluster.go +++ b/sdk/go/aws/elasticache/getCluster.go @@ -10,7 +10,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Use this data source to get information about an Elasticache Cluster +// Use this data source to get information about an ElastiCache Cluster // // ## Example Usage // diff --git a/sdk/go/aws/elasticache/getReplicationGroup.go b/sdk/go/aws/elasticache/getReplicationGroup.go index aef80f580d4..a30ee0edc24 100644 --- a/sdk/go/aws/elasticache/getReplicationGroup.go +++ b/sdk/go/aws/elasticache/getReplicationGroup.go @@ -10,7 +10,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Use this data source to get information about an Elasticache Replication Group. +// Use this data source to get information about an ElastiCache Replication Group. // // ## Example Usage // diff --git a/sdk/go/aws/elasticache/getUser.go b/sdk/go/aws/elasticache/getUser.go index 4b9fd917d9f..e9b99db3e03 100644 --- a/sdk/go/aws/elasticache/getUser.go +++ b/sdk/go/aws/elasticache/getUser.go @@ -10,7 +10,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Use this data source to get information about an Elasticache User. +// Use this data source to get information about an ElastiCache User. // // ## Example Usage // diff --git a/sdk/go/aws/elasticache/globalReplicationGroup.go b/sdk/go/aws/elasticache/globalReplicationGroup.go index 48d05d286f4..f52bbaa3ef2 100644 --- a/sdk/go/aws/elasticache/globalReplicationGroup.go +++ b/sdk/go/aws/elasticache/globalReplicationGroup.go @@ -29,7 +29,13 @@ type GlobalReplicationGroup struct { AtRestEncryptionEnabled pulumi.BoolOutput `pulumi:"atRestEncryptionEnabled"` // A flag that indicate whether AuthToken (password) is enabled. AuthTokenEnabled pulumi.BoolOutput `pulumi:"authTokenEnabled"` - // The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + // When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + AutomaticFailoverEnabled pulumi.BoolOutput `pulumi:"automaticFailoverEnabled"` + // The instance class used. + // See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + // and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // When creating, by default the Global Replication Group inherits the node type of the primary replication group. CacheNodeType pulumi.StringOutput `pulumi:"cacheNodeType"` // Indicates whether the Global Datastore is cluster enabled. ClusterEnabled pulumi.BoolOutput `pulumi:"clusterEnabled"` @@ -103,7 +109,13 @@ type globalReplicationGroupState struct { AtRestEncryptionEnabled *bool `pulumi:"atRestEncryptionEnabled"` // A flag that indicate whether AuthToken (password) is enabled. AuthTokenEnabled *bool `pulumi:"authTokenEnabled"` - // The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + // When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + AutomaticFailoverEnabled *bool `pulumi:"automaticFailoverEnabled"` + // The instance class used. + // See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + // and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // When creating, by default the Global Replication Group inherits the node type of the primary replication group. CacheNodeType *string `pulumi:"cacheNodeType"` // Indicates whether the Global Datastore is cluster enabled. ClusterEnabled *bool `pulumi:"clusterEnabled"` @@ -143,7 +155,13 @@ type GlobalReplicationGroupState struct { AtRestEncryptionEnabled pulumi.BoolPtrInput // A flag that indicate whether AuthToken (password) is enabled. AuthTokenEnabled pulumi.BoolPtrInput - // The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + // When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + AutomaticFailoverEnabled pulumi.BoolPtrInput + // The instance class used. + // See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + // and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // When creating, by default the Global Replication Group inherits the node type of the primary replication group. CacheNodeType pulumi.StringPtrInput // Indicates whether the Global Datastore is cluster enabled. ClusterEnabled pulumi.BoolPtrInput @@ -181,6 +199,14 @@ func (GlobalReplicationGroupState) ElementType() reflect.Type { } type globalReplicationGroupArgs struct { + // Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + // When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + AutomaticFailoverEnabled *bool `pulumi:"automaticFailoverEnabled"` + // The instance class used. + // See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + // and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // When creating, by default the Global Replication Group inherits the node type of the primary replication group. + CacheNodeType *string `pulumi:"cacheNodeType"` // Redis version to use for the Global Replication Group. // When creating, by default the Global Replication Group inherits the version of the primary replication group. // If a version is specified, the Global Replication Group and all member replication groups will be upgraded to this version. @@ -204,6 +230,14 @@ type globalReplicationGroupArgs struct { // The set of arguments for constructing a GlobalReplicationGroup resource. type GlobalReplicationGroupArgs struct { + // Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + // When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + AutomaticFailoverEnabled pulumi.BoolPtrInput + // The instance class used. + // See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + // and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + // When creating, by default the Global Replication Group inherits the node type of the primary replication group. + CacheNodeType pulumi.StringPtrInput // Redis version to use for the Global Replication Group. // When creating, by default the Global Replication Group inherits the version of the primary replication group. // If a version is specified, the Global Replication Group and all member replication groups will be upgraded to this version. @@ -327,7 +361,16 @@ func (o GlobalReplicationGroupOutput) AuthTokenEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *GlobalReplicationGroup) pulumi.BoolOutput { return v.AuthTokenEnabled }).(pulumi.BoolOutput) } -// The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). +// Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. +// When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. +func (o GlobalReplicationGroupOutput) AutomaticFailoverEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *GlobalReplicationGroup) pulumi.BoolOutput { return v.AutomaticFailoverEnabled }).(pulumi.BoolOutput) +} + +// The instance class used. +// See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) +// and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). +// When creating, by default the Global Replication Group inherits the node type of the primary replication group. func (o GlobalReplicationGroupOutput) CacheNodeType() pulumi.StringOutput { return o.ApplyT(func(v *GlobalReplicationGroup) pulumi.StringOutput { return v.CacheNodeType }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/elasticache/parameterGroup.go b/sdk/go/aws/elasticache/parameterGroup.go index db0632420d5..1cff5dfd2cd 100644 --- a/sdk/go/aws/elasticache/parameterGroup.go +++ b/sdk/go/aws/elasticache/parameterGroup.go @@ -13,7 +13,7 @@ import ( // Provides an ElastiCache parameter group resource. // -// > **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an Elasticache API limitation. Leave that parameter configured with any value to workaround the issue. +// > **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an ElastiCache API limitation. Leave that parameter configured with any value to workaround the issue. // // ## Example Usage // diff --git a/sdk/go/aws/elasticache/subnetGroup.go b/sdk/go/aws/elasticache/subnetGroup.go index c92160ea2a5..bef1ff09e3e 100644 --- a/sdk/go/aws/elasticache/subnetGroup.go +++ b/sdk/go/aws/elasticache/subnetGroup.go @@ -81,7 +81,7 @@ type SubnetGroup struct { Arn pulumi.StringOutput `pulumi:"arn"` // Description for the cache subnet group. Defaults to "Managed by Pulumi". Description pulumi.StringOutput `pulumi:"description"` - // Name for the cache subnet group. Elasticache converts this name to lowercase. + // Name for the cache subnet group. ElastiCache converts this name to lowercase. Name pulumi.StringOutput `pulumi:"name"` // List of VPC Subnet IDs for the cache subnet group SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"` @@ -129,7 +129,7 @@ type subnetGroupState struct { Arn *string `pulumi:"arn"` // Description for the cache subnet group. Defaults to "Managed by Pulumi". Description *string `pulumi:"description"` - // Name for the cache subnet group. Elasticache converts this name to lowercase. + // Name for the cache subnet group. ElastiCache converts this name to lowercase. Name *string `pulumi:"name"` // List of VPC Subnet IDs for the cache subnet group SubnetIds []string `pulumi:"subnetIds"` @@ -143,7 +143,7 @@ type SubnetGroupState struct { Arn pulumi.StringPtrInput // Description for the cache subnet group. Defaults to "Managed by Pulumi". Description pulumi.StringPtrInput - // Name for the cache subnet group. Elasticache converts this name to lowercase. + // Name for the cache subnet group. ElastiCache converts this name to lowercase. Name pulumi.StringPtrInput // List of VPC Subnet IDs for the cache subnet group SubnetIds pulumi.StringArrayInput @@ -160,7 +160,7 @@ func (SubnetGroupState) ElementType() reflect.Type { type subnetGroupArgs struct { // Description for the cache subnet group. Defaults to "Managed by Pulumi". Description *string `pulumi:"description"` - // Name for the cache subnet group. Elasticache converts this name to lowercase. + // Name for the cache subnet group. ElastiCache converts this name to lowercase. Name *string `pulumi:"name"` // List of VPC Subnet IDs for the cache subnet group SubnetIds []string `pulumi:"subnetIds"` @@ -172,7 +172,7 @@ type subnetGroupArgs struct { type SubnetGroupArgs struct { // Description for the cache subnet group. Defaults to "Managed by Pulumi". Description pulumi.StringPtrInput - // Name for the cache subnet group. Elasticache converts this name to lowercase. + // Name for the cache subnet group. ElastiCache converts this name to lowercase. Name pulumi.StringPtrInput // List of VPC Subnet IDs for the cache subnet group SubnetIds pulumi.StringArrayInput @@ -276,7 +276,7 @@ func (o SubnetGroupOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *SubnetGroup) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } -// Name for the cache subnet group. Elasticache converts this name to lowercase. +// Name for the cache subnet group. ElastiCache converts this name to lowercase. func (o SubnetGroupOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *SubnetGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/emrcontainers/virtualCluster.go b/sdk/go/aws/emrcontainers/virtualCluster.go index baac40b9646..74b87ced143 100644 --- a/sdk/go/aws/emrcontainers/virtualCluster.go +++ b/sdk/go/aws/emrcontainers/virtualCluster.go @@ -50,11 +50,11 @@ import ( // // ## Import // -// EKS Clusters can be imported using the `name`, e.g. +// EKS Clusters can be imported using the `id`, e.g. // // ```sh // -// $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example +// $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example a1b2c3d4e5f6g7h8i9j10k11l // // ``` type VirtualCluster struct { diff --git a/sdk/go/aws/globalaccelerator/accelerator.go b/sdk/go/aws/globalaccelerator/accelerator.go index ca03d1577f9..117de904b55 100644 --- a/sdk/go/aws/globalaccelerator/accelerator.go +++ b/sdk/go/aws/globalaccelerator/accelerator.go @@ -34,6 +34,9 @@ import ( // }, // Enabled: pulumi.Bool(true), // IpAddressType: pulumi.String("IPV4"), +// IpAddresses: pulumi.StringArray{ +// pulumi.String("1.2.3.4"), +// }, // }) // if err != nil { // return err @@ -68,6 +71,8 @@ type Accelerator struct { HostedZoneId pulumi.StringOutput `pulumi:"hostedZoneId"` // The value for the address type. Defaults to `IPV4`. Valid values: `IPV4`, `DUAL_STACK`. IpAddressType pulumi.StringPtrOutput `pulumi:"ipAddressType"` + // The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + IpAddresses pulumi.StringArrayOutput `pulumi:"ipAddresses"` // IP address set associated with the accelerator. IpSets AcceleratorIpSetArrayOutput `pulumi:"ipSets"` // The name of the accelerator. @@ -119,6 +124,8 @@ type acceleratorState struct { HostedZoneId *string `pulumi:"hostedZoneId"` // The value for the address type. Defaults to `IPV4`. Valid values: `IPV4`, `DUAL_STACK`. IpAddressType *string `pulumi:"ipAddressType"` + // The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + IpAddresses []string `pulumi:"ipAddresses"` // IP address set associated with the accelerator. IpSets []AcceleratorIpSet `pulumi:"ipSets"` // The name of the accelerator. @@ -142,6 +149,8 @@ type AcceleratorState struct { HostedZoneId pulumi.StringPtrInput // The value for the address type. Defaults to `IPV4`. Valid values: `IPV4`, `DUAL_STACK`. IpAddressType pulumi.StringPtrInput + // The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + IpAddresses pulumi.StringArrayInput // IP address set associated with the accelerator. IpSets AcceleratorIpSetArrayInput // The name of the accelerator. @@ -163,6 +172,8 @@ type acceleratorArgs struct { Enabled *bool `pulumi:"enabled"` // The value for the address type. Defaults to `IPV4`. Valid values: `IPV4`, `DUAL_STACK`. IpAddressType *string `pulumi:"ipAddressType"` + // The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + IpAddresses []string `pulumi:"ipAddresses"` // The name of the accelerator. Name *string `pulumi:"name"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -177,6 +188,8 @@ type AcceleratorArgs struct { Enabled pulumi.BoolPtrInput // The value for the address type. Defaults to `IPV4`. Valid values: `IPV4`, `DUAL_STACK`. IpAddressType pulumi.StringPtrInput + // The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + IpAddresses pulumi.StringArrayInput // The name of the accelerator. Name pulumi.StringPtrInput // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -297,6 +310,11 @@ func (o AcceleratorOutput) IpAddressType() pulumi.StringPtrOutput { return o.ApplyT(func(v *Accelerator) pulumi.StringPtrOutput { return v.IpAddressType }).(pulumi.StringPtrOutput) } +// The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. +func (o AcceleratorOutput) IpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Accelerator) pulumi.StringArrayOutput { return v.IpAddresses }).(pulumi.StringArrayOutput) +} + // IP address set associated with the accelerator. func (o AcceleratorOutput) IpSets() AcceleratorIpSetArrayOutput { return o.ApplyT(func(v *Accelerator) AcceleratorIpSetArrayOutput { return v.IpSets }).(AcceleratorIpSetArrayOutput) diff --git a/sdk/go/aws/globalaccelerator/pulumiTypes.go b/sdk/go/aws/globalaccelerator/pulumiTypes.go index 1c3c8857a70..e8177dd6f82 100644 --- a/sdk/go/aws/globalaccelerator/pulumiTypes.go +++ b/sdk/go/aws/globalaccelerator/pulumiTypes.go @@ -186,7 +186,7 @@ func (o AcceleratorAttributesPtrOutput) FlowLogsS3Prefix() pulumi.StringPtrOutpu } type AcceleratorIpSet struct { - // A list of IP addresses in the IP address set. + // The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. IpAddresses []string `pulumi:"ipAddresses"` // The type of IP addresses included in this IP set. IpFamily *string `pulumi:"ipFamily"` @@ -204,7 +204,7 @@ type AcceleratorIpSetInput interface { } type AcceleratorIpSetArgs struct { - // A list of IP addresses in the IP address set. + // The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. IpAddresses pulumi.StringArrayInput `pulumi:"ipAddresses"` // The type of IP addresses included in this IP set. IpFamily pulumi.StringPtrInput `pulumi:"ipFamily"` @@ -261,7 +261,7 @@ func (o AcceleratorIpSetOutput) ToAcceleratorIpSetOutputWithContext(ctx context. return o } -// A list of IP addresses in the IP address set. +// The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. func (o AcceleratorIpSetOutput) IpAddresses() pulumi.StringArrayOutput { return o.ApplyT(func(v AcceleratorIpSet) []string { return v.IpAddresses }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/aws/identitystore/group.go b/sdk/go/aws/identitystore/group.go index dc2c3d9897f..52e1ef79f52 100644 --- a/sdk/go/aws/identitystore/group.go +++ b/sdk/go/aws/identitystore/group.go @@ -33,7 +33,7 @@ type Group struct { ExternalIds GroupExternalIdArrayOutput `pulumi:"externalIds"` // The identifier of the newly created group in the identity store. GroupId pulumi.StringOutput `pulumi:"groupId"` - // The globally unique identifier for the identity store.. + // The globally unique identifier for the identity store. IdentityStoreId pulumi.StringOutput `pulumi:"identityStoreId"` } @@ -80,7 +80,7 @@ type groupState struct { ExternalIds []GroupExternalId `pulumi:"externalIds"` // The identifier of the newly created group in the identity store. GroupId *string `pulumi:"groupId"` - // The globally unique identifier for the identity store.. + // The globally unique identifier for the identity store. IdentityStoreId *string `pulumi:"identityStoreId"` } @@ -93,7 +93,7 @@ type GroupState struct { ExternalIds GroupExternalIdArrayInput // The identifier of the newly created group in the identity store. GroupId pulumi.StringPtrInput - // The globally unique identifier for the identity store.. + // The globally unique identifier for the identity store. IdentityStoreId pulumi.StringPtrInput } @@ -106,7 +106,7 @@ type groupArgs struct { Description *string `pulumi:"description"` // A string containing the name of the group. This value is commonly displayed when the group is referenced. DisplayName string `pulumi:"displayName"` - // The globally unique identifier for the identity store.. + // The globally unique identifier for the identity store. IdentityStoreId string `pulumi:"identityStoreId"` } @@ -116,7 +116,7 @@ type GroupArgs struct { Description pulumi.StringPtrInput // A string containing the name of the group. This value is commonly displayed when the group is referenced. DisplayName pulumi.StringInput - // The globally unique identifier for the identity store.. + // The globally unique identifier for the identity store. IdentityStoreId pulumi.StringInput } @@ -227,7 +227,7 @@ func (o GroupOutput) GroupId() pulumi.StringOutput { return o.ApplyT(func(v *Group) pulumi.StringOutput { return v.GroupId }).(pulumi.StringOutput) } -// The globally unique identifier for the identity store.. +// The globally unique identifier for the identity store. func (o GroupOutput) IdentityStoreId() pulumi.StringOutput { return o.ApplyT(func(v *Group) pulumi.StringOutput { return v.IdentityStoreId }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/identitystore/pulumiTypes.go b/sdk/go/aws/identitystore/pulumiTypes.go index 9eda9876bdf..e9d60ff0666 100644 --- a/sdk/go/aws/identitystore/pulumiTypes.go +++ b/sdk/go/aws/identitystore/pulumiTypes.go @@ -563,7 +563,7 @@ func (o UserEmailsPtrOutput) Value() pulumi.StringPtrOutput { type UserExternalId struct { // The identifier issued to this resource by an external identity provider. - Id *bool `pulumi:"id"` + Id *string `pulumi:"id"` // The issuer for an external identifier. Issuer *string `pulumi:"issuer"` } @@ -581,7 +581,7 @@ type UserExternalIdInput interface { type UserExternalIdArgs struct { // The identifier issued to this resource by an external identity provider. - Id pulumi.BoolPtrInput `pulumi:"id"` + Id pulumi.StringPtrInput `pulumi:"id"` // The issuer for an external identifier. Issuer pulumi.StringPtrInput `pulumi:"issuer"` } @@ -638,8 +638,8 @@ func (o UserExternalIdOutput) ToUserExternalIdOutputWithContext(ctx context.Cont } // The identifier issued to this resource by an external identity provider. -func (o UserExternalIdOutput) Id() pulumi.BoolPtrOutput { - return o.ApplyT(func(v UserExternalId) *bool { return v.Id }).(pulumi.BoolPtrOutput) +func (o UserExternalIdOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v UserExternalId) *string { return v.Id }).(pulumi.StringPtrOutput) } // The issuer for an external identifier. @@ -1927,7 +1927,7 @@ func (o GetUserEmailArrayOutput) Index(i pulumi.IntInput) GetUserEmailOutput { type GetUserExternalId struct { // The identifier issued to this resource by an external identity provider. - Id bool `pulumi:"id"` + Id string `pulumi:"id"` // The issuer for an external identifier. Issuer string `pulumi:"issuer"` } @@ -1945,7 +1945,7 @@ type GetUserExternalIdInput interface { type GetUserExternalIdArgs struct { // The identifier issued to this resource by an external identity provider. - Id pulumi.BoolInput `pulumi:"id"` + Id pulumi.StringInput `pulumi:"id"` // The issuer for an external identifier. Issuer pulumi.StringInput `pulumi:"issuer"` } @@ -2002,8 +2002,8 @@ func (o GetUserExternalIdOutput) ToGetUserExternalIdOutputWithContext(ctx contex } // The identifier issued to this resource by an external identity provider. -func (o GetUserExternalIdOutput) Id() pulumi.BoolOutput { - return o.ApplyT(func(v GetUserExternalId) bool { return v.Id }).(pulumi.BoolOutput) +func (o GetUserExternalIdOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetUserExternalId) string { return v.Id }).(pulumi.StringOutput) } // The issuer for an external identifier. diff --git a/sdk/go/aws/inspector2/delegatedAdminAccount.go b/sdk/go/aws/inspector2/delegatedAdminAccount.go new file mode 100644 index 00000000000..3af09db504f --- /dev/null +++ b/sdk/go/aws/inspector2/delegatedAdminAccount.go @@ -0,0 +1,268 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package inspector2 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// ## Example Usage +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws" +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/inspector2" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// current, err := aws.GetCallerIdentity(ctx, nil, nil) +// if err != nil { +// return err +// } +// _, err = inspector2.NewDelegatedAdminAccount(ctx, "example", &inspector2.DelegatedAdminAccountArgs{ +// AccountId: pulumi.String(current.AccountId), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Inspector V2 Delegated Admin Account can be imported using the `account_id`, e.g., +// +// ```sh +// +// $ pulumi import aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount example 012345678901 +// +// ``` +type DelegatedAdminAccount struct { + pulumi.CustomResourceState + + // Account to enable as delegated admin account. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // Status of this delegated admin account. + RelationshipStatus pulumi.StringOutput `pulumi:"relationshipStatus"` +} + +// NewDelegatedAdminAccount registers a new resource with the given unique name, arguments, and options. +func NewDelegatedAdminAccount(ctx *pulumi.Context, + name string, args *DelegatedAdminAccountArgs, opts ...pulumi.ResourceOption) (*DelegatedAdminAccount, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AccountId == nil { + return nil, errors.New("invalid value for required argument 'AccountId'") + } + var resource DelegatedAdminAccount + err := ctx.RegisterResource("aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDelegatedAdminAccount gets an existing DelegatedAdminAccount 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 GetDelegatedAdminAccount(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DelegatedAdminAccountState, opts ...pulumi.ResourceOption) (*DelegatedAdminAccount, error) { + var resource DelegatedAdminAccount + err := ctx.ReadResource("aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DelegatedAdminAccount resources. +type delegatedAdminAccountState struct { + // Account to enable as delegated admin account. + AccountId *string `pulumi:"accountId"` + // Status of this delegated admin account. + RelationshipStatus *string `pulumi:"relationshipStatus"` +} + +type DelegatedAdminAccountState struct { + // Account to enable as delegated admin account. + AccountId pulumi.StringPtrInput + // Status of this delegated admin account. + RelationshipStatus pulumi.StringPtrInput +} + +func (DelegatedAdminAccountState) ElementType() reflect.Type { + return reflect.TypeOf((*delegatedAdminAccountState)(nil)).Elem() +} + +type delegatedAdminAccountArgs struct { + // Account to enable as delegated admin account. + AccountId string `pulumi:"accountId"` +} + +// The set of arguments for constructing a DelegatedAdminAccount resource. +type DelegatedAdminAccountArgs struct { + // Account to enable as delegated admin account. + AccountId pulumi.StringInput +} + +func (DelegatedAdminAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*delegatedAdminAccountArgs)(nil)).Elem() +} + +type DelegatedAdminAccountInput interface { + pulumi.Input + + ToDelegatedAdminAccountOutput() DelegatedAdminAccountOutput + ToDelegatedAdminAccountOutputWithContext(ctx context.Context) DelegatedAdminAccountOutput +} + +func (*DelegatedAdminAccount) ElementType() reflect.Type { + return reflect.TypeOf((**DelegatedAdminAccount)(nil)).Elem() +} + +func (i *DelegatedAdminAccount) ToDelegatedAdminAccountOutput() DelegatedAdminAccountOutput { + return i.ToDelegatedAdminAccountOutputWithContext(context.Background()) +} + +func (i *DelegatedAdminAccount) ToDelegatedAdminAccountOutputWithContext(ctx context.Context) DelegatedAdminAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(DelegatedAdminAccountOutput) +} + +// DelegatedAdminAccountArrayInput is an input type that accepts DelegatedAdminAccountArray and DelegatedAdminAccountArrayOutput values. +// You can construct a concrete instance of `DelegatedAdminAccountArrayInput` via: +// +// DelegatedAdminAccountArray{ DelegatedAdminAccountArgs{...} } +type DelegatedAdminAccountArrayInput interface { + pulumi.Input + + ToDelegatedAdminAccountArrayOutput() DelegatedAdminAccountArrayOutput + ToDelegatedAdminAccountArrayOutputWithContext(context.Context) DelegatedAdminAccountArrayOutput +} + +type DelegatedAdminAccountArray []DelegatedAdminAccountInput + +func (DelegatedAdminAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DelegatedAdminAccount)(nil)).Elem() +} + +func (i DelegatedAdminAccountArray) ToDelegatedAdminAccountArrayOutput() DelegatedAdminAccountArrayOutput { + return i.ToDelegatedAdminAccountArrayOutputWithContext(context.Background()) +} + +func (i DelegatedAdminAccountArray) ToDelegatedAdminAccountArrayOutputWithContext(ctx context.Context) DelegatedAdminAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DelegatedAdminAccountArrayOutput) +} + +// DelegatedAdminAccountMapInput is an input type that accepts DelegatedAdminAccountMap and DelegatedAdminAccountMapOutput values. +// You can construct a concrete instance of `DelegatedAdminAccountMapInput` via: +// +// DelegatedAdminAccountMap{ "key": DelegatedAdminAccountArgs{...} } +type DelegatedAdminAccountMapInput interface { + pulumi.Input + + ToDelegatedAdminAccountMapOutput() DelegatedAdminAccountMapOutput + ToDelegatedAdminAccountMapOutputWithContext(context.Context) DelegatedAdminAccountMapOutput +} + +type DelegatedAdminAccountMap map[string]DelegatedAdminAccountInput + +func (DelegatedAdminAccountMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DelegatedAdminAccount)(nil)).Elem() +} + +func (i DelegatedAdminAccountMap) ToDelegatedAdminAccountMapOutput() DelegatedAdminAccountMapOutput { + return i.ToDelegatedAdminAccountMapOutputWithContext(context.Background()) +} + +func (i DelegatedAdminAccountMap) ToDelegatedAdminAccountMapOutputWithContext(ctx context.Context) DelegatedAdminAccountMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DelegatedAdminAccountMapOutput) +} + +type DelegatedAdminAccountOutput struct{ *pulumi.OutputState } + +func (DelegatedAdminAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DelegatedAdminAccount)(nil)).Elem() +} + +func (o DelegatedAdminAccountOutput) ToDelegatedAdminAccountOutput() DelegatedAdminAccountOutput { + return o +} + +func (o DelegatedAdminAccountOutput) ToDelegatedAdminAccountOutputWithContext(ctx context.Context) DelegatedAdminAccountOutput { + return o +} + +// Account to enable as delegated admin account. +func (o DelegatedAdminAccountOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *DelegatedAdminAccount) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// Status of this delegated admin account. +func (o DelegatedAdminAccountOutput) RelationshipStatus() pulumi.StringOutput { + return o.ApplyT(func(v *DelegatedAdminAccount) pulumi.StringOutput { return v.RelationshipStatus }).(pulumi.StringOutput) +} + +type DelegatedAdminAccountArrayOutput struct{ *pulumi.OutputState } + +func (DelegatedAdminAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DelegatedAdminAccount)(nil)).Elem() +} + +func (o DelegatedAdminAccountArrayOutput) ToDelegatedAdminAccountArrayOutput() DelegatedAdminAccountArrayOutput { + return o +} + +func (o DelegatedAdminAccountArrayOutput) ToDelegatedAdminAccountArrayOutputWithContext(ctx context.Context) DelegatedAdminAccountArrayOutput { + return o +} + +func (o DelegatedAdminAccountArrayOutput) Index(i pulumi.IntInput) DelegatedAdminAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DelegatedAdminAccount { + return vs[0].([]*DelegatedAdminAccount)[vs[1].(int)] + }).(DelegatedAdminAccountOutput) +} + +type DelegatedAdminAccountMapOutput struct{ *pulumi.OutputState } + +func (DelegatedAdminAccountMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DelegatedAdminAccount)(nil)).Elem() +} + +func (o DelegatedAdminAccountMapOutput) ToDelegatedAdminAccountMapOutput() DelegatedAdminAccountMapOutput { + return o +} + +func (o DelegatedAdminAccountMapOutput) ToDelegatedAdminAccountMapOutputWithContext(ctx context.Context) DelegatedAdminAccountMapOutput { + return o +} + +func (o DelegatedAdminAccountMapOutput) MapIndex(k pulumi.StringInput) DelegatedAdminAccountOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DelegatedAdminAccount { + return vs[0].(map[string]*DelegatedAdminAccount)[vs[1].(string)] + }).(DelegatedAdminAccountOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DelegatedAdminAccountInput)(nil)).Elem(), &DelegatedAdminAccount{}) + pulumi.RegisterInputType(reflect.TypeOf((*DelegatedAdminAccountArrayInput)(nil)).Elem(), DelegatedAdminAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DelegatedAdminAccountMapInput)(nil)).Elem(), DelegatedAdminAccountMap{}) + pulumi.RegisterOutputType(DelegatedAdminAccountOutput{}) + pulumi.RegisterOutputType(DelegatedAdminAccountArrayOutput{}) + pulumi.RegisterOutputType(DelegatedAdminAccountMapOutput{}) +} diff --git a/sdk/go/aws/inspector2/init.go b/sdk/go/aws/inspector2/init.go index ae784fd6130..ab2c3910d60 100644 --- a/sdk/go/aws/inspector2/init.go +++ b/sdk/go/aws/inspector2/init.go @@ -21,6 +21,8 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount": + r = &DelegatedAdminAccount{} case "aws:inspector2/organizationConfiguration:OrganizationConfiguration": r = &OrganizationConfiguration{} default: @@ -36,6 +38,11 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "aws", + "inspector2/delegatedAdminAccount", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "inspector2/organizationConfiguration", diff --git a/sdk/go/aws/networkmanager/link.go b/sdk/go/aws/networkmanager/link.go index ba12a917bbf..f3b496327b3 100644 --- a/sdk/go/aws/networkmanager/link.go +++ b/sdk/go/aws/networkmanager/link.go @@ -29,7 +29,7 @@ import ( // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := networkmanager.NewLink(ctx, "example", &networkmanager.LinkArgs{ // GlobalNetworkId: pulumi.Any(aws_networkmanager_global_network.Example.Id), -// SiteId: pulumi.Any(aws_networkmanager_global_site.Example.Id), +// SiteId: pulumi.Any(aws_networkmanager_site.Example.Id), // Bandwidth: &networkmanager.LinkBandwidthArgs{ // UploadSpeed: pulumi.Int(10), // DownloadSpeed: pulumi.Int(50), diff --git a/sdk/go/aws/opsworks/customLayer.go b/sdk/go/aws/opsworks/customLayer.go index 3a722a49f58..d61893697ab 100644 --- a/sdk/go/aws/opsworks/customLayer.go +++ b/sdk/go/aws/opsworks/customLayer.go @@ -83,6 +83,8 @@ type CustomLayer struct { InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + // Load-based auto scaling configuration. See Load Based AutoScaling + LoadBasedAutoScaling CustomLayerLoadBasedAutoScalingOutput `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name pulumi.StringOutput `pulumi:"name"` // A short, machine-readable name for the layer, which will be used to identify it in the Chef node JSON. @@ -165,6 +167,8 @@ type customLayerState struct { InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + // Load-based auto scaling configuration. See Load Based AutoScaling + LoadBasedAutoScaling *CustomLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // A short, machine-readable name for the layer, which will be used to identify it in the Chef node JSON. @@ -213,6 +217,8 @@ type CustomLayerState struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + // Load-based auto scaling configuration. See Load Based AutoScaling + LoadBasedAutoScaling CustomLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // A short, machine-readable name for the layer, which will be used to identify it in the Chef node JSON. @@ -263,6 +269,8 @@ type customLayerArgs struct { InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + // Load-based auto scaling configuration. See Load Based AutoScaling + LoadBasedAutoScaling *CustomLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // A short, machine-readable name for the layer, which will be used to identify it in the Chef node JSON. @@ -308,6 +316,8 @@ type CustomLayerArgs struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + // Load-based auto scaling configuration. See Load Based AutoScaling + LoadBasedAutoScaling CustomLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // A short, machine-readable name for the layer, which will be used to identify it in the Chef node JSON. @@ -494,6 +504,11 @@ func (o CustomLayerOutput) InstanceShutdownTimeout() pulumi.IntPtrOutput { return o.ApplyT(func(v *CustomLayer) pulumi.IntPtrOutput { return v.InstanceShutdownTimeout }).(pulumi.IntPtrOutput) } +// Load-based auto scaling configuration. See Load Based AutoScaling +func (o CustomLayerOutput) LoadBasedAutoScaling() CustomLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *CustomLayer) CustomLayerLoadBasedAutoScalingOutput { return v.LoadBasedAutoScaling }).(CustomLayerLoadBasedAutoScalingOutput) +} + // A human-readable name for the layer. func (o CustomLayerOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *CustomLayer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/aws/opsworks/ecsClusterLayer.go b/sdk/go/aws/opsworks/ecsClusterLayer.go index fefdfb0db72..6e282271617 100644 --- a/sdk/go/aws/opsworks/ecsClusterLayer.go +++ b/sdk/go/aws/opsworks/ecsClusterLayer.go @@ -73,7 +73,8 @@ type EcsClusterLayer struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling EcsClusterLayerLoadBasedAutoScalingOutput `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name pulumi.StringOutput `pulumi:"name"` // ID of the stack the layer will belong to. @@ -153,7 +154,8 @@ type ecsClusterLayerState struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *EcsClusterLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // ID of the stack the layer will belong to. @@ -200,6 +202,7 @@ type EcsClusterLayerState struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling EcsClusterLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // ID of the stack the layer will belong to. @@ -247,7 +250,8 @@ type ecsClusterLayerArgs struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *EcsClusterLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // ID of the stack the layer will belong to. @@ -292,6 +296,7 @@ type EcsClusterLayerArgs struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling EcsClusterLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // ID of the stack the layer will belong to. @@ -482,6 +487,10 @@ func (o EcsClusterLayerOutput) InstanceShutdownTimeout() pulumi.IntPtrOutput { return o.ApplyT(func(v *EcsClusterLayer) pulumi.IntPtrOutput { return v.InstanceShutdownTimeout }).(pulumi.IntPtrOutput) } +func (o EcsClusterLayerOutput) LoadBasedAutoScaling() EcsClusterLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *EcsClusterLayer) EcsClusterLayerLoadBasedAutoScalingOutput { return v.LoadBasedAutoScaling }).(EcsClusterLayerLoadBasedAutoScalingOutput) +} + // A human-readable name for the layer. func (o EcsClusterLayerOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *EcsClusterLayer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/aws/opsworks/gangliaLayer.go b/sdk/go/aws/opsworks/gangliaLayer.go index 903a386dbd7..821eb5d04c3 100644 --- a/sdk/go/aws/opsworks/gangliaLayer.go +++ b/sdk/go/aws/opsworks/gangliaLayer.go @@ -71,7 +71,8 @@ type GangliaLayer struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling GangliaLayerLoadBasedAutoScalingOutput `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name pulumi.StringOutput `pulumi:"name"` // The password to use for Ganglia. @@ -156,7 +157,8 @@ type gangliaLayerState struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *GangliaLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // The password to use for Ganglia. @@ -208,6 +210,7 @@ type GangliaLayerState struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling GangliaLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // The password to use for Ganglia. @@ -260,7 +263,8 @@ type gangliaLayerArgs struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *GangliaLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // The password to use for Ganglia. @@ -309,6 +313,7 @@ type GangliaLayerArgs struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling GangliaLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // The password to use for Ganglia. @@ -498,6 +503,10 @@ func (o GangliaLayerOutput) InstanceShutdownTimeout() pulumi.IntPtrOutput { return o.ApplyT(func(v *GangliaLayer) pulumi.IntPtrOutput { return v.InstanceShutdownTimeout }).(pulumi.IntPtrOutput) } +func (o GangliaLayerOutput) LoadBasedAutoScaling() GangliaLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *GangliaLayer) GangliaLayerLoadBasedAutoScalingOutput { return v.LoadBasedAutoScaling }).(GangliaLayerLoadBasedAutoScalingOutput) +} + // A human-readable name for the layer. func (o GangliaLayerOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *GangliaLayer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/aws/opsworks/haproxyLayer.go b/sdk/go/aws/opsworks/haproxyLayer.go index 283a9ed4a3c..b30afb395f5 100644 --- a/sdk/go/aws/opsworks/haproxyLayer.go +++ b/sdk/go/aws/opsworks/haproxyLayer.go @@ -75,7 +75,8 @@ type HaproxyLayer struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling HaproxyLayerLoadBasedAutoScalingOutput `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name pulumi.StringOutput `pulumi:"name"` // ID of the stack the layer will belong to. @@ -166,7 +167,8 @@ type haproxyLayerState struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *HaproxyLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // ID of the stack the layer will belong to. @@ -224,6 +226,7 @@ type HaproxyLayerState struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling HaproxyLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // ID of the stack the layer will belong to. @@ -282,7 +285,8 @@ type haproxyLayerArgs struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *HaproxyLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // ID of the stack the layer will belong to. @@ -337,6 +341,7 @@ type HaproxyLayerArgs struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling HaproxyLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // ID of the stack the layer will belong to. @@ -538,6 +543,10 @@ func (o HaproxyLayerOutput) InstanceShutdownTimeout() pulumi.IntPtrOutput { return o.ApplyT(func(v *HaproxyLayer) pulumi.IntPtrOutput { return v.InstanceShutdownTimeout }).(pulumi.IntPtrOutput) } +func (o HaproxyLayerOutput) LoadBasedAutoScaling() HaproxyLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *HaproxyLayer) HaproxyLayerLoadBasedAutoScalingOutput { return v.LoadBasedAutoScaling }).(HaproxyLayerLoadBasedAutoScalingOutput) +} + // A human-readable name for the layer. func (o HaproxyLayerOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *HaproxyLayer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/aws/opsworks/javaAppLayer.go b/sdk/go/aws/opsworks/javaAppLayer.go index 29ba70fddfc..cef40aeaf12 100644 --- a/sdk/go/aws/opsworks/javaAppLayer.go +++ b/sdk/go/aws/opsworks/javaAppLayer.go @@ -80,7 +80,8 @@ type JavaAppLayer struct { // Keyword for the type of JVM to use. Defaults to `openjdk`. JvmType pulumi.StringPtrOutput `pulumi:"jvmType"` // Version of JVM to use. Defaults to "7". - JvmVersion pulumi.StringPtrOutput `pulumi:"jvmVersion"` + JvmVersion pulumi.StringPtrOutput `pulumi:"jvmVersion"` + LoadBasedAutoScaling JavaAppLayerLoadBasedAutoScalingOutput `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name pulumi.StringOutput `pulumi:"name"` // ID of the stack the layer will belong to. @@ -166,7 +167,8 @@ type javaAppLayerState struct { // Keyword for the type of JVM to use. Defaults to `openjdk`. JvmType *string `pulumi:"jvmType"` // Version of JVM to use. Defaults to "7". - JvmVersion *string `pulumi:"jvmVersion"` + JvmVersion *string `pulumi:"jvmVersion"` + LoadBasedAutoScaling *JavaAppLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // ID of the stack the layer will belong to. @@ -221,7 +223,8 @@ type JavaAppLayerState struct { // Keyword for the type of JVM to use. Defaults to `openjdk`. JvmType pulumi.StringPtrInput // Version of JVM to use. Defaults to "7". - JvmVersion pulumi.StringPtrInput + JvmVersion pulumi.StringPtrInput + LoadBasedAutoScaling JavaAppLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // ID of the stack the layer will belong to. @@ -278,7 +281,8 @@ type javaAppLayerArgs struct { // Keyword for the type of JVM to use. Defaults to `openjdk`. JvmType *string `pulumi:"jvmType"` // Version of JVM to use. Defaults to "7". - JvmVersion *string `pulumi:"jvmVersion"` + JvmVersion *string `pulumi:"jvmVersion"` + LoadBasedAutoScaling *JavaAppLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // ID of the stack the layer will belong to. @@ -330,7 +334,8 @@ type JavaAppLayerArgs struct { // Keyword for the type of JVM to use. Defaults to `openjdk`. JvmType pulumi.StringPtrInput // Version of JVM to use. Defaults to "7". - JvmVersion pulumi.StringPtrInput + JvmVersion pulumi.StringPtrInput + LoadBasedAutoScaling JavaAppLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // ID of the stack the layer will belong to. @@ -539,6 +544,10 @@ func (o JavaAppLayerOutput) JvmVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *JavaAppLayer) pulumi.StringPtrOutput { return v.JvmVersion }).(pulumi.StringPtrOutput) } +func (o JavaAppLayerOutput) LoadBasedAutoScaling() JavaAppLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *JavaAppLayer) JavaAppLayerLoadBasedAutoScalingOutput { return v.LoadBasedAutoScaling }).(JavaAppLayerLoadBasedAutoScalingOutput) +} + // A human-readable name for the layer. func (o JavaAppLayerOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *JavaAppLayer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/aws/opsworks/memcachedLayer.go b/sdk/go/aws/opsworks/memcachedLayer.go index df1db946425..e49f52c2aa5 100644 --- a/sdk/go/aws/opsworks/memcachedLayer.go +++ b/sdk/go/aws/opsworks/memcachedLayer.go @@ -72,7 +72,8 @@ type MemcachedLayer struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling MemcachedLayerLoadBasedAutoScalingOutput `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name pulumi.StringOutput `pulumi:"name"` // ID of the stack the layer will belong to. @@ -150,7 +151,8 @@ type memcachedLayerState struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *MemcachedLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // ID of the stack the layer will belong to. @@ -198,6 +200,7 @@ type MemcachedLayerState struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling MemcachedLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // ID of the stack the layer will belong to. @@ -246,7 +249,8 @@ type memcachedLayerArgs struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *MemcachedLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // ID of the stack the layer will belong to. @@ -291,6 +295,7 @@ type MemcachedLayerArgs struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling MemcachedLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // ID of the stack the layer will belong to. @@ -481,6 +486,10 @@ func (o MemcachedLayerOutput) InstanceShutdownTimeout() pulumi.IntPtrOutput { return o.ApplyT(func(v *MemcachedLayer) pulumi.IntPtrOutput { return v.InstanceShutdownTimeout }).(pulumi.IntPtrOutput) } +func (o MemcachedLayerOutput) LoadBasedAutoScaling() MemcachedLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *MemcachedLayer) MemcachedLayerLoadBasedAutoScalingOutput { return v.LoadBasedAutoScaling }).(MemcachedLayerLoadBasedAutoScalingOutput) +} + // A human-readable name for the layer. func (o MemcachedLayerOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *MemcachedLayer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/aws/opsworks/mysqlLayer.go b/sdk/go/aws/opsworks/mysqlLayer.go index 494352a0fb7..d5a65b87571 100644 --- a/sdk/go/aws/opsworks/mysqlLayer.go +++ b/sdk/go/aws/opsworks/mysqlLayer.go @@ -70,7 +70,8 @@ type MysqlLayer struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling MysqlLayerLoadBasedAutoScalingOutput `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name pulumi.StringOutput `pulumi:"name"` // Root password to use for MySQL. @@ -150,7 +151,8 @@ type mysqlLayerState struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *MysqlLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // Root password to use for MySQL. @@ -200,6 +202,7 @@ type MysqlLayerState struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling MysqlLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // Root password to use for MySQL. @@ -250,7 +253,8 @@ type mysqlLayerArgs struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *MysqlLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // Root password to use for MySQL. @@ -297,6 +301,7 @@ type MysqlLayerArgs struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling MysqlLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // Root password to use for MySQL. @@ -484,6 +489,10 @@ func (o MysqlLayerOutput) InstanceShutdownTimeout() pulumi.IntPtrOutput { return o.ApplyT(func(v *MysqlLayer) pulumi.IntPtrOutput { return v.InstanceShutdownTimeout }).(pulumi.IntPtrOutput) } +func (o MysqlLayerOutput) LoadBasedAutoScaling() MysqlLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *MysqlLayer) MysqlLayerLoadBasedAutoScalingOutput { return v.LoadBasedAutoScaling }).(MysqlLayerLoadBasedAutoScalingOutput) +} + // A human-readable name for the layer. func (o MysqlLayerOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *MysqlLayer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/aws/opsworks/nodejsAppLayer.go b/sdk/go/aws/opsworks/nodejsAppLayer.go index 6e215ca9467..90796af2b8d 100644 --- a/sdk/go/aws/opsworks/nodejsAppLayer.go +++ b/sdk/go/aws/opsworks/nodejsAppLayer.go @@ -70,7 +70,8 @@ type NodejsAppLayer struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling NodejsAppLayerLoadBasedAutoScalingOutput `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name pulumi.StringOutput `pulumi:"name"` // The version of NodeJS to use. Defaults to "0.10.38". @@ -148,7 +149,8 @@ type nodejsAppLayerState struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *NodejsAppLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // The version of NodeJS to use. Defaults to "0.10.38". @@ -196,6 +198,7 @@ type NodejsAppLayerState struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling NodejsAppLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // The version of NodeJS to use. Defaults to "0.10.38". @@ -244,7 +247,8 @@ type nodejsAppLayerArgs struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *NodejsAppLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // The version of NodeJS to use. Defaults to "0.10.38". @@ -289,6 +293,7 @@ type NodejsAppLayerArgs struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling NodejsAppLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // The version of NodeJS to use. Defaults to "0.10.38". @@ -476,6 +481,10 @@ func (o NodejsAppLayerOutput) InstanceShutdownTimeout() pulumi.IntPtrOutput { return o.ApplyT(func(v *NodejsAppLayer) pulumi.IntPtrOutput { return v.InstanceShutdownTimeout }).(pulumi.IntPtrOutput) } +func (o NodejsAppLayerOutput) LoadBasedAutoScaling() NodejsAppLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *NodejsAppLayer) NodejsAppLayerLoadBasedAutoScalingOutput { return v.LoadBasedAutoScaling }).(NodejsAppLayerLoadBasedAutoScalingOutput) +} + // A human-readable name for the layer. func (o NodejsAppLayerOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *NodejsAppLayer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/aws/opsworks/phpAppLayer.go b/sdk/go/aws/opsworks/phpAppLayer.go index 08fbc0ab4cb..23c441cf9c5 100644 --- a/sdk/go/aws/opsworks/phpAppLayer.go +++ b/sdk/go/aws/opsworks/phpAppLayer.go @@ -80,7 +80,8 @@ type PhpAppLayer struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling PhpAppLayerLoadBasedAutoScalingOutput `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name pulumi.StringOutput `pulumi:"name"` // ID of the stack the layer will belong to. @@ -156,7 +157,8 @@ type phpAppLayerState struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *PhpAppLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // ID of the stack the layer will belong to. @@ -202,6 +204,7 @@ type PhpAppLayerState struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling PhpAppLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // ID of the stack the layer will belong to. @@ -248,7 +251,8 @@ type phpAppLayerArgs struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *PhpAppLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // ID of the stack the layer will belong to. @@ -291,6 +295,7 @@ type PhpAppLayerArgs struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling PhpAppLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // ID of the stack the layer will belong to. @@ -474,6 +479,10 @@ func (o PhpAppLayerOutput) InstanceShutdownTimeout() pulumi.IntPtrOutput { return o.ApplyT(func(v *PhpAppLayer) pulumi.IntPtrOutput { return v.InstanceShutdownTimeout }).(pulumi.IntPtrOutput) } +func (o PhpAppLayerOutput) LoadBasedAutoScaling() PhpAppLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *PhpAppLayer) PhpAppLayerLoadBasedAutoScalingOutput { return v.LoadBasedAutoScaling }).(PhpAppLayerLoadBasedAutoScalingOutput) +} + // A human-readable name for the layer. func (o PhpAppLayerOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *PhpAppLayer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/aws/opsworks/pulumiTypes.go b/sdk/go/aws/opsworks/pulumiTypes.go index 82d3d1f9ec6..9c4cd169e6e 100644 --- a/sdk/go/aws/opsworks/pulumiTypes.go +++ b/sdk/go/aws/opsworks/pulumiTypes.go @@ -874,592 +874,819 @@ func (o CustomLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) CustomLayerEbs }).(CustomLayerEbsVolumeOutput) } -type EcsClusterLayerCloudwatchConfiguration struct { - Enabled *bool `pulumi:"enabled"` - LogStreams []EcsClusterLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +type CustomLayerLoadBasedAutoScaling struct { + // The downscaling settings, as defined below, used for load-based autoscaling + Downscaling *CustomLayerLoadBasedAutoScalingDownscaling `pulumi:"downscaling"` + // Whether load-based auto scaling is enabled for the layer. + Enable *bool `pulumi:"enable"` + // The upscaling settings, as defined below, used for load-based autoscaling + Upscaling *CustomLayerLoadBasedAutoScalingUpscaling `pulumi:"upscaling"` } -// EcsClusterLayerCloudwatchConfigurationInput is an input type that accepts EcsClusterLayerCloudwatchConfigurationArgs and EcsClusterLayerCloudwatchConfigurationOutput values. -// You can construct a concrete instance of `EcsClusterLayerCloudwatchConfigurationInput` via: +// CustomLayerLoadBasedAutoScalingInput is an input type that accepts CustomLayerLoadBasedAutoScalingArgs and CustomLayerLoadBasedAutoScalingOutput values. +// You can construct a concrete instance of `CustomLayerLoadBasedAutoScalingInput` via: // -// EcsClusterLayerCloudwatchConfigurationArgs{...} -type EcsClusterLayerCloudwatchConfigurationInput interface { +// CustomLayerLoadBasedAutoScalingArgs{...} +type CustomLayerLoadBasedAutoScalingInput interface { pulumi.Input - ToEcsClusterLayerCloudwatchConfigurationOutput() EcsClusterLayerCloudwatchConfigurationOutput - ToEcsClusterLayerCloudwatchConfigurationOutputWithContext(context.Context) EcsClusterLayerCloudwatchConfigurationOutput + ToCustomLayerLoadBasedAutoScalingOutput() CustomLayerLoadBasedAutoScalingOutput + ToCustomLayerLoadBasedAutoScalingOutputWithContext(context.Context) CustomLayerLoadBasedAutoScalingOutput } -type EcsClusterLayerCloudwatchConfigurationArgs struct { - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - LogStreams EcsClusterLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` +type CustomLayerLoadBasedAutoScalingArgs struct { + // The downscaling settings, as defined below, used for load-based autoscaling + Downscaling CustomLayerLoadBasedAutoScalingDownscalingPtrInput `pulumi:"downscaling"` + // Whether load-based auto scaling is enabled for the layer. + Enable pulumi.BoolPtrInput `pulumi:"enable"` + // The upscaling settings, as defined below, used for load-based autoscaling + Upscaling CustomLayerLoadBasedAutoScalingUpscalingPtrInput `pulumi:"upscaling"` } -func (EcsClusterLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*EcsClusterLayerCloudwatchConfiguration)(nil)).Elem() +func (CustomLayerLoadBasedAutoScalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CustomLayerLoadBasedAutoScaling)(nil)).Elem() } -func (i EcsClusterLayerCloudwatchConfigurationArgs) ToEcsClusterLayerCloudwatchConfigurationOutput() EcsClusterLayerCloudwatchConfigurationOutput { - return i.ToEcsClusterLayerCloudwatchConfigurationOutputWithContext(context.Background()) +func (i CustomLayerLoadBasedAutoScalingArgs) ToCustomLayerLoadBasedAutoScalingOutput() CustomLayerLoadBasedAutoScalingOutput { + return i.ToCustomLayerLoadBasedAutoScalingOutputWithContext(context.Background()) } -func (i EcsClusterLayerCloudwatchConfigurationArgs) ToEcsClusterLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerCloudwatchConfigurationOutput) +func (i CustomLayerLoadBasedAutoScalingArgs) ToCustomLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomLayerLoadBasedAutoScalingOutput) } -func (i EcsClusterLayerCloudwatchConfigurationArgs) ToEcsClusterLayerCloudwatchConfigurationPtrOutput() EcsClusterLayerCloudwatchConfigurationPtrOutput { - return i.ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (i CustomLayerLoadBasedAutoScalingArgs) ToCustomLayerLoadBasedAutoScalingPtrOutput() CustomLayerLoadBasedAutoScalingPtrOutput { + return i.ToCustomLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) } -func (i EcsClusterLayerCloudwatchConfigurationArgs) ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerCloudwatchConfigurationOutput).ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(ctx) +func (i CustomLayerLoadBasedAutoScalingArgs) ToCustomLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomLayerLoadBasedAutoScalingOutput).ToCustomLayerLoadBasedAutoScalingPtrOutputWithContext(ctx) } -// EcsClusterLayerCloudwatchConfigurationPtrInput is an input type that accepts EcsClusterLayerCloudwatchConfigurationArgs, EcsClusterLayerCloudwatchConfigurationPtr and EcsClusterLayerCloudwatchConfigurationPtrOutput values. -// You can construct a concrete instance of `EcsClusterLayerCloudwatchConfigurationPtrInput` via: +// CustomLayerLoadBasedAutoScalingPtrInput is an input type that accepts CustomLayerLoadBasedAutoScalingArgs, CustomLayerLoadBasedAutoScalingPtr and CustomLayerLoadBasedAutoScalingPtrOutput values. +// You can construct a concrete instance of `CustomLayerLoadBasedAutoScalingPtrInput` via: // -// EcsClusterLayerCloudwatchConfigurationArgs{...} +// CustomLayerLoadBasedAutoScalingArgs{...} // // or: // // nil -type EcsClusterLayerCloudwatchConfigurationPtrInput interface { +type CustomLayerLoadBasedAutoScalingPtrInput interface { pulumi.Input - ToEcsClusterLayerCloudwatchConfigurationPtrOutput() EcsClusterLayerCloudwatchConfigurationPtrOutput - ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) EcsClusterLayerCloudwatchConfigurationPtrOutput + ToCustomLayerLoadBasedAutoScalingPtrOutput() CustomLayerLoadBasedAutoScalingPtrOutput + ToCustomLayerLoadBasedAutoScalingPtrOutputWithContext(context.Context) CustomLayerLoadBasedAutoScalingPtrOutput } -type ecsClusterLayerCloudwatchConfigurationPtrType EcsClusterLayerCloudwatchConfigurationArgs +type customLayerLoadBasedAutoScalingPtrType CustomLayerLoadBasedAutoScalingArgs -func EcsClusterLayerCloudwatchConfigurationPtr(v *EcsClusterLayerCloudwatchConfigurationArgs) EcsClusterLayerCloudwatchConfigurationPtrInput { - return (*ecsClusterLayerCloudwatchConfigurationPtrType)(v) +func CustomLayerLoadBasedAutoScalingPtr(v *CustomLayerLoadBasedAutoScalingArgs) CustomLayerLoadBasedAutoScalingPtrInput { + return (*customLayerLoadBasedAutoScalingPtrType)(v) } -func (*ecsClusterLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**EcsClusterLayerCloudwatchConfiguration)(nil)).Elem() +func (*customLayerLoadBasedAutoScalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CustomLayerLoadBasedAutoScaling)(nil)).Elem() } -func (i *ecsClusterLayerCloudwatchConfigurationPtrType) ToEcsClusterLayerCloudwatchConfigurationPtrOutput() EcsClusterLayerCloudwatchConfigurationPtrOutput { - return i.ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (i *customLayerLoadBasedAutoScalingPtrType) ToCustomLayerLoadBasedAutoScalingPtrOutput() CustomLayerLoadBasedAutoScalingPtrOutput { + return i.ToCustomLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) } -func (i *ecsClusterLayerCloudwatchConfigurationPtrType) ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerCloudwatchConfigurationPtrOutput) +func (i *customLayerLoadBasedAutoScalingPtrType) ToCustomLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomLayerLoadBasedAutoScalingPtrOutput) } -type EcsClusterLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } +type CustomLayerLoadBasedAutoScalingOutput struct{ *pulumi.OutputState } -func (EcsClusterLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*EcsClusterLayerCloudwatchConfiguration)(nil)).Elem() +func (CustomLayerLoadBasedAutoScalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CustomLayerLoadBasedAutoScaling)(nil)).Elem() } -func (o EcsClusterLayerCloudwatchConfigurationOutput) ToEcsClusterLayerCloudwatchConfigurationOutput() EcsClusterLayerCloudwatchConfigurationOutput { +func (o CustomLayerLoadBasedAutoScalingOutput) ToCustomLayerLoadBasedAutoScalingOutput() CustomLayerLoadBasedAutoScalingOutput { return o } -func (o EcsClusterLayerCloudwatchConfigurationOutput) ToEcsClusterLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationOutput { +func (o CustomLayerLoadBasedAutoScalingOutput) ToCustomLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingOutput { return o } -func (o EcsClusterLayerCloudwatchConfigurationOutput) ToEcsClusterLayerCloudwatchConfigurationPtrOutput() EcsClusterLayerCloudwatchConfigurationPtrOutput { - return o.ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (o CustomLayerLoadBasedAutoScalingOutput) ToCustomLayerLoadBasedAutoScalingPtrOutput() CustomLayerLoadBasedAutoScalingPtrOutput { + return o.ToCustomLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) } -func (o EcsClusterLayerCloudwatchConfigurationOutput) ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v EcsClusterLayerCloudwatchConfiguration) *EcsClusterLayerCloudwatchConfiguration { +func (o CustomLayerLoadBasedAutoScalingOutput) ToCustomLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CustomLayerLoadBasedAutoScaling) *CustomLayerLoadBasedAutoScaling { return &v - }).(EcsClusterLayerCloudwatchConfigurationPtrOutput) + }).(CustomLayerLoadBasedAutoScalingPtrOutput) } -func (o EcsClusterLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v EcsClusterLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +// The downscaling settings, as defined below, used for load-based autoscaling +func (o CustomLayerLoadBasedAutoScalingOutput) Downscaling() CustomLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v CustomLayerLoadBasedAutoScaling) *CustomLayerLoadBasedAutoScalingDownscaling { + return v.Downscaling + }).(CustomLayerLoadBasedAutoScalingDownscalingPtrOutput) } -func (o EcsClusterLayerCloudwatchConfigurationOutput) LogStreams() EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v EcsClusterLayerCloudwatchConfiguration) []EcsClusterLayerCloudwatchConfigurationLogStream { - return v.LogStreams - }).(EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput) +// Whether load-based auto scaling is enabled for the layer. +func (o CustomLayerLoadBasedAutoScalingOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CustomLayerLoadBasedAutoScaling) *bool { return v.Enable }).(pulumi.BoolPtrOutput) } -type EcsClusterLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } +// The upscaling settings, as defined below, used for load-based autoscaling +func (o CustomLayerLoadBasedAutoScalingOutput) Upscaling() CustomLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v CustomLayerLoadBasedAutoScaling) *CustomLayerLoadBasedAutoScalingUpscaling { return v.Upscaling }).(CustomLayerLoadBasedAutoScalingUpscalingPtrOutput) +} -func (EcsClusterLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**EcsClusterLayerCloudwatchConfiguration)(nil)).Elem() +type CustomLayerLoadBasedAutoScalingPtrOutput struct{ *pulumi.OutputState } + +func (CustomLayerLoadBasedAutoScalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CustomLayerLoadBasedAutoScaling)(nil)).Elem() } -func (o EcsClusterLayerCloudwatchConfigurationPtrOutput) ToEcsClusterLayerCloudwatchConfigurationPtrOutput() EcsClusterLayerCloudwatchConfigurationPtrOutput { +func (o CustomLayerLoadBasedAutoScalingPtrOutput) ToCustomLayerLoadBasedAutoScalingPtrOutput() CustomLayerLoadBasedAutoScalingPtrOutput { return o } -func (o EcsClusterLayerCloudwatchConfigurationPtrOutput) ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationPtrOutput { +func (o CustomLayerLoadBasedAutoScalingPtrOutput) ToCustomLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingPtrOutput { return o } -func (o EcsClusterLayerCloudwatchConfigurationPtrOutput) Elem() EcsClusterLayerCloudwatchConfigurationOutput { - return o.ApplyT(func(v *EcsClusterLayerCloudwatchConfiguration) EcsClusterLayerCloudwatchConfiguration { +func (o CustomLayerLoadBasedAutoScalingPtrOutput) Elem() CustomLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScaling) CustomLayerLoadBasedAutoScaling { if v != nil { return *v } - var ret EcsClusterLayerCloudwatchConfiguration + var ret CustomLayerLoadBasedAutoScaling return ret - }).(EcsClusterLayerCloudwatchConfigurationOutput) + }).(CustomLayerLoadBasedAutoScalingOutput) } -func (o EcsClusterLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *EcsClusterLayerCloudwatchConfiguration) *bool { +// The downscaling settings, as defined below, used for load-based autoscaling +func (o CustomLayerLoadBasedAutoScalingPtrOutput) Downscaling() CustomLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScaling) *CustomLayerLoadBasedAutoScalingDownscaling { if v == nil { return nil } - return v.Enabled - }).(pulumi.BoolPtrOutput) + return v.Downscaling + }).(CustomLayerLoadBasedAutoScalingDownscalingPtrOutput) } -func (o EcsClusterLayerCloudwatchConfigurationPtrOutput) LogStreams() EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v *EcsClusterLayerCloudwatchConfiguration) []EcsClusterLayerCloudwatchConfigurationLogStream { +// Whether load-based auto scaling is enabled for the layer. +func (o CustomLayerLoadBasedAutoScalingPtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScaling) *bool { if v == nil { return nil } - return v.LogStreams - }).(EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput) -} - -type EcsClusterLayerCloudwatchConfigurationLogStream struct { - BatchCount *int `pulumi:"batchCount"` - BatchSize *int `pulumi:"batchSize"` - BufferDuration *int `pulumi:"bufferDuration"` - DatetimeFormat *string `pulumi:"datetimeFormat"` - Encoding *string `pulumi:"encoding"` - File string `pulumi:"file"` - FileFingerprintLines *string `pulumi:"fileFingerprintLines"` - InitialPosition *string `pulumi:"initialPosition"` - LogGroupName string `pulumi:"logGroupName"` - MultilineStartPattern *string `pulumi:"multilineStartPattern"` - TimeZone *string `pulumi:"timeZone"` + return v.Enable + }).(pulumi.BoolPtrOutput) } -// EcsClusterLayerCloudwatchConfigurationLogStreamInput is an input type that accepts EcsClusterLayerCloudwatchConfigurationLogStreamArgs and EcsClusterLayerCloudwatchConfigurationLogStreamOutput values. -// You can construct a concrete instance of `EcsClusterLayerCloudwatchConfigurationLogStreamInput` via: +// The upscaling settings, as defined below, used for load-based autoscaling +func (o CustomLayerLoadBasedAutoScalingPtrOutput) Upscaling() CustomLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScaling) *CustomLayerLoadBasedAutoScalingUpscaling { + if v == nil { + return nil + } + return v.Upscaling + }).(CustomLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +type CustomLayerLoadBasedAutoScalingDownscaling struct { + // Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + Alarms []string `pulumi:"alarms"` + // The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + CpuThreshold *float64 `pulumi:"cpuThreshold"` + // The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + // The number of instances to add or remove when the load exceeds a threshold. + InstanceCount *int `pulumi:"instanceCount"` + // The load threshold. A value of -1 disables the threshold. + LoadThreshold *float64 `pulumi:"loadThreshold"` + // The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + // The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` +} + +// CustomLayerLoadBasedAutoScalingDownscalingInput is an input type that accepts CustomLayerLoadBasedAutoScalingDownscalingArgs and CustomLayerLoadBasedAutoScalingDownscalingOutput values. +// You can construct a concrete instance of `CustomLayerLoadBasedAutoScalingDownscalingInput` via: // -// EcsClusterLayerCloudwatchConfigurationLogStreamArgs{...} -type EcsClusterLayerCloudwatchConfigurationLogStreamInput interface { +// CustomLayerLoadBasedAutoScalingDownscalingArgs{...} +type CustomLayerLoadBasedAutoScalingDownscalingInput interface { pulumi.Input - ToEcsClusterLayerCloudwatchConfigurationLogStreamOutput() EcsClusterLayerCloudwatchConfigurationLogStreamOutput - ToEcsClusterLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) EcsClusterLayerCloudwatchConfigurationLogStreamOutput + ToCustomLayerLoadBasedAutoScalingDownscalingOutput() CustomLayerLoadBasedAutoScalingDownscalingOutput + ToCustomLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Context) CustomLayerLoadBasedAutoScalingDownscalingOutput } -type EcsClusterLayerCloudwatchConfigurationLogStreamArgs struct { - BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` - BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` - BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` - DatetimeFormat pulumi.StringPtrInput `pulumi:"datetimeFormat"` - Encoding pulumi.StringPtrInput `pulumi:"encoding"` - File pulumi.StringInput `pulumi:"file"` - FileFingerprintLines pulumi.StringPtrInput `pulumi:"fileFingerprintLines"` - InitialPosition pulumi.StringPtrInput `pulumi:"initialPosition"` - LogGroupName pulumi.StringInput `pulumi:"logGroupName"` - MultilineStartPattern pulumi.StringPtrInput `pulumi:"multilineStartPattern"` - TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +type CustomLayerLoadBasedAutoScalingDownscalingArgs struct { + // Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + // The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + // The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + // The number of instances to add or remove when the load exceeds a threshold. + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + // The load threshold. A value of -1 disables the threshold. + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + // The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + // The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` } -func (EcsClusterLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { - return reflect.TypeOf((*EcsClusterLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (CustomLayerLoadBasedAutoScalingDownscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CustomLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (i EcsClusterLayerCloudwatchConfigurationLogStreamArgs) ToEcsClusterLayerCloudwatchConfigurationLogStreamOutput() EcsClusterLayerCloudwatchConfigurationLogStreamOutput { - return i.ToEcsClusterLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) +func (i CustomLayerLoadBasedAutoScalingDownscalingArgs) ToCustomLayerLoadBasedAutoScalingDownscalingOutput() CustomLayerLoadBasedAutoScalingDownscalingOutput { + return i.ToCustomLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Background()) } -func (i EcsClusterLayerCloudwatchConfigurationLogStreamArgs) ToEcsClusterLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerCloudwatchConfigurationLogStreamOutput) +func (i CustomLayerLoadBasedAutoScalingDownscalingArgs) ToCustomLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingDownscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomLayerLoadBasedAutoScalingDownscalingOutput) } -// EcsClusterLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts EcsClusterLayerCloudwatchConfigurationLogStreamArray and EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput values. -// You can construct a concrete instance of `EcsClusterLayerCloudwatchConfigurationLogStreamArrayInput` via: +func (i CustomLayerLoadBasedAutoScalingDownscalingArgs) ToCustomLayerLoadBasedAutoScalingDownscalingPtrOutput() CustomLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToCustomLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (i CustomLayerLoadBasedAutoScalingDownscalingArgs) ToCustomLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomLayerLoadBasedAutoScalingDownscalingOutput).ToCustomLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx) +} + +// CustomLayerLoadBasedAutoScalingDownscalingPtrInput is an input type that accepts CustomLayerLoadBasedAutoScalingDownscalingArgs, CustomLayerLoadBasedAutoScalingDownscalingPtr and CustomLayerLoadBasedAutoScalingDownscalingPtrOutput values. +// You can construct a concrete instance of `CustomLayerLoadBasedAutoScalingDownscalingPtrInput` via: // -// EcsClusterLayerCloudwatchConfigurationLogStreamArray{ EcsClusterLayerCloudwatchConfigurationLogStreamArgs{...} } -type EcsClusterLayerCloudwatchConfigurationLogStreamArrayInput interface { +// CustomLayerLoadBasedAutoScalingDownscalingArgs{...} +// +// or: +// +// nil +type CustomLayerLoadBasedAutoScalingDownscalingPtrInput interface { pulumi.Input - ToEcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput() EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput - ToEcsClusterLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput + ToCustomLayerLoadBasedAutoScalingDownscalingPtrOutput() CustomLayerLoadBasedAutoScalingDownscalingPtrOutput + ToCustomLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Context) CustomLayerLoadBasedAutoScalingDownscalingPtrOutput } -type EcsClusterLayerCloudwatchConfigurationLogStreamArray []EcsClusterLayerCloudwatchConfigurationLogStreamInput +type customLayerLoadBasedAutoScalingDownscalingPtrType CustomLayerLoadBasedAutoScalingDownscalingArgs -func (EcsClusterLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]EcsClusterLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func CustomLayerLoadBasedAutoScalingDownscalingPtr(v *CustomLayerLoadBasedAutoScalingDownscalingArgs) CustomLayerLoadBasedAutoScalingDownscalingPtrInput { + return (*customLayerLoadBasedAutoScalingDownscalingPtrType)(v) } -func (i EcsClusterLayerCloudwatchConfigurationLogStreamArray) ToEcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput() EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput { - return i.ToEcsClusterLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) +func (*customLayerLoadBasedAutoScalingDownscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CustomLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (i EcsClusterLayerCloudwatchConfigurationLogStreamArray) ToEcsClusterLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput) +func (i *customLayerLoadBasedAutoScalingDownscalingPtrType) ToCustomLayerLoadBasedAutoScalingDownscalingPtrOutput() CustomLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToCustomLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) } -type EcsClusterLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } - -func (EcsClusterLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { - return reflect.TypeOf((*EcsClusterLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (i *customLayerLoadBasedAutoScalingDownscalingPtrType) ToCustomLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomLayerLoadBasedAutoScalingDownscalingPtrOutput) } -func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) ToEcsClusterLayerCloudwatchConfigurationLogStreamOutput() EcsClusterLayerCloudwatchConfigurationLogStreamOutput { - return o -} +type CustomLayerLoadBasedAutoScalingDownscalingOutput struct{ *pulumi.OutputState } -func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) ToEcsClusterLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationLogStreamOutput { - return o +func (CustomLayerLoadBasedAutoScalingDownscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CustomLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) +func (o CustomLayerLoadBasedAutoScalingDownscalingOutput) ToCustomLayerLoadBasedAutoScalingDownscalingOutput() CustomLayerLoadBasedAutoScalingDownscalingOutput { + return o } -func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) +func (o CustomLayerLoadBasedAutoScalingDownscalingOutput) ToCustomLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingDownscalingOutput { + return o } -func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { - return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) +func (o CustomLayerLoadBasedAutoScalingDownscalingOutput) ToCustomLayerLoadBasedAutoScalingDownscalingPtrOutput() CustomLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ToCustomLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) } -func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { - return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) +func (o CustomLayerLoadBasedAutoScalingDownscalingOutput) ToCustomLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CustomLayerLoadBasedAutoScalingDownscaling) *CustomLayerLoadBasedAutoScalingDownscaling { + return &v + }).(CustomLayerLoadBasedAutoScalingDownscalingPtrOutput) } -func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { - return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) +// Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. +func (o CustomLayerLoadBasedAutoScalingDownscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v CustomLayerLoadBasedAutoScalingDownscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) } -func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { - return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) +// The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. +func (o CustomLayerLoadBasedAutoScalingDownscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v CustomLayerLoadBasedAutoScalingDownscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) } -func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { - return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) +// The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. +func (o CustomLayerLoadBasedAutoScalingDownscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v CustomLayerLoadBasedAutoScalingDownscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) } -func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { - return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) +// The number of instances to add or remove when the load exceeds a threshold. +func (o CustomLayerLoadBasedAutoScalingDownscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v CustomLayerLoadBasedAutoScalingDownscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) } -func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { - return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) +// The load threshold. A value of -1 disables the threshold. +func (o CustomLayerLoadBasedAutoScalingDownscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v CustomLayerLoadBasedAutoScalingDownscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) } -func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { - return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) +// The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. +func (o CustomLayerLoadBasedAutoScalingDownscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v CustomLayerLoadBasedAutoScalingDownscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) } -func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +// The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. +func (o CustomLayerLoadBasedAutoScalingDownscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v CustomLayerLoadBasedAutoScalingDownscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) } -type EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } +type CustomLayerLoadBasedAutoScalingDownscalingPtrOutput struct{ *pulumi.OutputState } -func (EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]EcsClusterLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (CustomLayerLoadBasedAutoScalingDownscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CustomLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (o EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput) ToEcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput() EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput { +func (o CustomLayerLoadBasedAutoScalingDownscalingPtrOutput) ToCustomLayerLoadBasedAutoScalingDownscalingPtrOutput() CustomLayerLoadBasedAutoScalingDownscalingPtrOutput { return o } -func (o EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput) ToEcsClusterLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput { +func (o CustomLayerLoadBasedAutoScalingDownscalingPtrOutput) ToCustomLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingDownscalingPtrOutput { return o } -func (o EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) EcsClusterLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) EcsClusterLayerCloudwatchConfigurationLogStream { - return vs[0].([]EcsClusterLayerCloudwatchConfigurationLogStream)[vs[1].(int)] - }).(EcsClusterLayerCloudwatchConfigurationLogStreamOutput) +func (o CustomLayerLoadBasedAutoScalingDownscalingPtrOutput) Elem() CustomLayerLoadBasedAutoScalingDownscalingOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScalingDownscaling) CustomLayerLoadBasedAutoScalingDownscaling { + if v != nil { + return *v + } + var ret CustomLayerLoadBasedAutoScalingDownscaling + return ret + }).(CustomLayerLoadBasedAutoScalingDownscalingOutput) } -type EcsClusterLayerEbsVolume struct { - Encrypted *bool `pulumi:"encrypted"` - // For PIOPS volumes, the IOPS per disk. - Iops *int `pulumi:"iops"` - // The path to mount the EBS volume on the layer's instances. - MountPoint string `pulumi:"mountPoint"` - // The number of disks to use for the EBS volume. - NumberOfDisks int `pulumi:"numberOfDisks"` - // The RAID level to use for the volume. - RaidLevel *string `pulumi:"raidLevel"` - // The size of the volume in gigabytes. - Size int `pulumi:"size"` - // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - Type *string `pulumi:"type"` +// Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. +func (o CustomLayerLoadBasedAutoScalingDownscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScalingDownscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) } -// EcsClusterLayerEbsVolumeInput is an input type that accepts EcsClusterLayerEbsVolumeArgs and EcsClusterLayerEbsVolumeOutput values. -// You can construct a concrete instance of `EcsClusterLayerEbsVolumeInput` via: -// -// EcsClusterLayerEbsVolumeArgs{...} -type EcsClusterLayerEbsVolumeInput interface { - pulumi.Input - - ToEcsClusterLayerEbsVolumeOutput() EcsClusterLayerEbsVolumeOutput - ToEcsClusterLayerEbsVolumeOutputWithContext(context.Context) EcsClusterLayerEbsVolumeOutput +// The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. +func (o CustomLayerLoadBasedAutoScalingDownscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) } -type EcsClusterLayerEbsVolumeArgs struct { - Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` - // For PIOPS volumes, the IOPS per disk. - Iops pulumi.IntPtrInput `pulumi:"iops"` - // The path to mount the EBS volume on the layer's instances. - MountPoint pulumi.StringInput `pulumi:"mountPoint"` - // The number of disks to use for the EBS volume. - NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"` - // The RAID level to use for the volume. - RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"` - // The size of the volume in gigabytes. - Size pulumi.IntInput `pulumi:"size"` - // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - Type pulumi.StringPtrInput `pulumi:"type"` +// The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. +func (o CustomLayerLoadBasedAutoScalingDownscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) } -func (EcsClusterLayerEbsVolumeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*EcsClusterLayerEbsVolume)(nil)).Elem() +// The number of instances to add or remove when the load exceeds a threshold. +func (o CustomLayerLoadBasedAutoScalingDownscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) } -func (i EcsClusterLayerEbsVolumeArgs) ToEcsClusterLayerEbsVolumeOutput() EcsClusterLayerEbsVolumeOutput { - return i.ToEcsClusterLayerEbsVolumeOutputWithContext(context.Background()) +// The load threshold. A value of -1 disables the threshold. +func (o CustomLayerLoadBasedAutoScalingDownscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) } -func (i EcsClusterLayerEbsVolumeArgs) ToEcsClusterLayerEbsVolumeOutputWithContext(ctx context.Context) EcsClusterLayerEbsVolumeOutput { - return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerEbsVolumeOutput) +// The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. +func (o CustomLayerLoadBasedAutoScalingDownscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) } -// EcsClusterLayerEbsVolumeArrayInput is an input type that accepts EcsClusterLayerEbsVolumeArray and EcsClusterLayerEbsVolumeArrayOutput values. -// You can construct a concrete instance of `EcsClusterLayerEbsVolumeArrayInput` via: +// The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. +func (o CustomLayerLoadBasedAutoScalingDownscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) +} + +type CustomLayerLoadBasedAutoScalingUpscaling struct { + // Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + Alarms []string `pulumi:"alarms"` + // The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + CpuThreshold *float64 `pulumi:"cpuThreshold"` + // The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + // The number of instances to add or remove when the load exceeds a threshold. + InstanceCount *int `pulumi:"instanceCount"` + // The load threshold. A value of -1 disables the threshold. + LoadThreshold *float64 `pulumi:"loadThreshold"` + // The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + // The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` +} + +// CustomLayerLoadBasedAutoScalingUpscalingInput is an input type that accepts CustomLayerLoadBasedAutoScalingUpscalingArgs and CustomLayerLoadBasedAutoScalingUpscalingOutput values. +// You can construct a concrete instance of `CustomLayerLoadBasedAutoScalingUpscalingInput` via: // -// EcsClusterLayerEbsVolumeArray{ EcsClusterLayerEbsVolumeArgs{...} } -type EcsClusterLayerEbsVolumeArrayInput interface { +// CustomLayerLoadBasedAutoScalingUpscalingArgs{...} +type CustomLayerLoadBasedAutoScalingUpscalingInput interface { pulumi.Input - ToEcsClusterLayerEbsVolumeArrayOutput() EcsClusterLayerEbsVolumeArrayOutput - ToEcsClusterLayerEbsVolumeArrayOutputWithContext(context.Context) EcsClusterLayerEbsVolumeArrayOutput + ToCustomLayerLoadBasedAutoScalingUpscalingOutput() CustomLayerLoadBasedAutoScalingUpscalingOutput + ToCustomLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Context) CustomLayerLoadBasedAutoScalingUpscalingOutput } -type EcsClusterLayerEbsVolumeArray []EcsClusterLayerEbsVolumeInput +type CustomLayerLoadBasedAutoScalingUpscalingArgs struct { + // Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + // The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + // The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + // The number of instances to add or remove when the load exceeds a threshold. + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + // The load threshold. A value of -1 disables the threshold. + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + // The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + // The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` +} -func (EcsClusterLayerEbsVolumeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]EcsClusterLayerEbsVolume)(nil)).Elem() +func (CustomLayerLoadBasedAutoScalingUpscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CustomLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() } -func (i EcsClusterLayerEbsVolumeArray) ToEcsClusterLayerEbsVolumeArrayOutput() EcsClusterLayerEbsVolumeArrayOutput { - return i.ToEcsClusterLayerEbsVolumeArrayOutputWithContext(context.Background()) +func (i CustomLayerLoadBasedAutoScalingUpscalingArgs) ToCustomLayerLoadBasedAutoScalingUpscalingOutput() CustomLayerLoadBasedAutoScalingUpscalingOutput { + return i.ToCustomLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Background()) } -func (i EcsClusterLayerEbsVolumeArray) ToEcsClusterLayerEbsVolumeArrayOutputWithContext(ctx context.Context) EcsClusterLayerEbsVolumeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerEbsVolumeArrayOutput) +func (i CustomLayerLoadBasedAutoScalingUpscalingArgs) ToCustomLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingUpscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomLayerLoadBasedAutoScalingUpscalingOutput) } -type EcsClusterLayerEbsVolumeOutput struct{ *pulumi.OutputState } +func (i CustomLayerLoadBasedAutoScalingUpscalingArgs) ToCustomLayerLoadBasedAutoScalingUpscalingPtrOutput() CustomLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToCustomLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} -func (EcsClusterLayerEbsVolumeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*EcsClusterLayerEbsVolume)(nil)).Elem() +func (i CustomLayerLoadBasedAutoScalingUpscalingArgs) ToCustomLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomLayerLoadBasedAutoScalingUpscalingOutput).ToCustomLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx) } -func (o EcsClusterLayerEbsVolumeOutput) ToEcsClusterLayerEbsVolumeOutput() EcsClusterLayerEbsVolumeOutput { +// CustomLayerLoadBasedAutoScalingUpscalingPtrInput is an input type that accepts CustomLayerLoadBasedAutoScalingUpscalingArgs, CustomLayerLoadBasedAutoScalingUpscalingPtr and CustomLayerLoadBasedAutoScalingUpscalingPtrOutput values. +// You can construct a concrete instance of `CustomLayerLoadBasedAutoScalingUpscalingPtrInput` via: +// +// CustomLayerLoadBasedAutoScalingUpscalingArgs{...} +// +// or: +// +// nil +type CustomLayerLoadBasedAutoScalingUpscalingPtrInput interface { + pulumi.Input + + ToCustomLayerLoadBasedAutoScalingUpscalingPtrOutput() CustomLayerLoadBasedAutoScalingUpscalingPtrOutput + ToCustomLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Context) CustomLayerLoadBasedAutoScalingUpscalingPtrOutput +} + +type customLayerLoadBasedAutoScalingUpscalingPtrType CustomLayerLoadBasedAutoScalingUpscalingArgs + +func CustomLayerLoadBasedAutoScalingUpscalingPtr(v *CustomLayerLoadBasedAutoScalingUpscalingArgs) CustomLayerLoadBasedAutoScalingUpscalingPtrInput { + return (*customLayerLoadBasedAutoScalingUpscalingPtrType)(v) +} + +func (*customLayerLoadBasedAutoScalingUpscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CustomLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (i *customLayerLoadBasedAutoScalingUpscalingPtrType) ToCustomLayerLoadBasedAutoScalingUpscalingPtrOutput() CustomLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToCustomLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (i *customLayerLoadBasedAutoScalingUpscalingPtrType) ToCustomLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +type CustomLayerLoadBasedAutoScalingUpscalingOutput struct{ *pulumi.OutputState } + +func (CustomLayerLoadBasedAutoScalingUpscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CustomLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (o CustomLayerLoadBasedAutoScalingUpscalingOutput) ToCustomLayerLoadBasedAutoScalingUpscalingOutput() CustomLayerLoadBasedAutoScalingUpscalingOutput { return o } -func (o EcsClusterLayerEbsVolumeOutput) ToEcsClusterLayerEbsVolumeOutputWithContext(ctx context.Context) EcsClusterLayerEbsVolumeOutput { +func (o CustomLayerLoadBasedAutoScalingUpscalingOutput) ToCustomLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingUpscalingOutput { return o } -func (o EcsClusterLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v EcsClusterLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +func (o CustomLayerLoadBasedAutoScalingUpscalingOutput) ToCustomLayerLoadBasedAutoScalingUpscalingPtrOutput() CustomLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ToCustomLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) } -// For PIOPS volumes, the IOPS per disk. -func (o EcsClusterLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v EcsClusterLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) +func (o CustomLayerLoadBasedAutoScalingUpscalingOutput) ToCustomLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CustomLayerLoadBasedAutoScalingUpscaling) *CustomLayerLoadBasedAutoScalingUpscaling { + return &v + }).(CustomLayerLoadBasedAutoScalingUpscalingPtrOutput) } -// The path to mount the EBS volume on the layer's instances. -func (o EcsClusterLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { - return o.ApplyT(func(v EcsClusterLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) +// Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. +func (o CustomLayerLoadBasedAutoScalingUpscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v CustomLayerLoadBasedAutoScalingUpscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) } -// The number of disks to use for the EBS volume. -func (o EcsClusterLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { - return o.ApplyT(func(v EcsClusterLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) +// The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. +func (o CustomLayerLoadBasedAutoScalingUpscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v CustomLayerLoadBasedAutoScalingUpscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) } -// The RAID level to use for the volume. -func (o EcsClusterLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { - return o.ApplyT(func(v EcsClusterLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) +// The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. +func (o CustomLayerLoadBasedAutoScalingUpscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v CustomLayerLoadBasedAutoScalingUpscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) } -// The size of the volume in gigabytes. -func (o EcsClusterLayerEbsVolumeOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v EcsClusterLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) +// The number of instances to add or remove when the load exceeds a threshold. +func (o CustomLayerLoadBasedAutoScalingUpscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v CustomLayerLoadBasedAutoScalingUpscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) } -// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. -func (o EcsClusterLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v EcsClusterLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +// The load threshold. A value of -1 disables the threshold. +func (o CustomLayerLoadBasedAutoScalingUpscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v CustomLayerLoadBasedAutoScalingUpscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) } -type EcsClusterLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } +// The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. +func (o CustomLayerLoadBasedAutoScalingUpscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v CustomLayerLoadBasedAutoScalingUpscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) +} -func (EcsClusterLayerEbsVolumeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]EcsClusterLayerEbsVolume)(nil)).Elem() +// The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. +func (o CustomLayerLoadBasedAutoScalingUpscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v CustomLayerLoadBasedAutoScalingUpscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) } -func (o EcsClusterLayerEbsVolumeArrayOutput) ToEcsClusterLayerEbsVolumeArrayOutput() EcsClusterLayerEbsVolumeArrayOutput { +type CustomLayerLoadBasedAutoScalingUpscalingPtrOutput struct{ *pulumi.OutputState } + +func (CustomLayerLoadBasedAutoScalingUpscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CustomLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (o CustomLayerLoadBasedAutoScalingUpscalingPtrOutput) ToCustomLayerLoadBasedAutoScalingUpscalingPtrOutput() CustomLayerLoadBasedAutoScalingUpscalingPtrOutput { return o } -func (o EcsClusterLayerEbsVolumeArrayOutput) ToEcsClusterLayerEbsVolumeArrayOutputWithContext(ctx context.Context) EcsClusterLayerEbsVolumeArrayOutput { +func (o CustomLayerLoadBasedAutoScalingUpscalingPtrOutput) ToCustomLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) CustomLayerLoadBasedAutoScalingUpscalingPtrOutput { return o } -func (o EcsClusterLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) EcsClusterLayerEbsVolumeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) EcsClusterLayerEbsVolume { - return vs[0].([]EcsClusterLayerEbsVolume)[vs[1].(int)] - }).(EcsClusterLayerEbsVolumeOutput) +func (o CustomLayerLoadBasedAutoScalingUpscalingPtrOutput) Elem() CustomLayerLoadBasedAutoScalingUpscalingOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScalingUpscaling) CustomLayerLoadBasedAutoScalingUpscaling { + if v != nil { + return *v + } + var ret CustomLayerLoadBasedAutoScalingUpscaling + return ret + }).(CustomLayerLoadBasedAutoScalingUpscalingOutput) } -type GangliaLayerCloudwatchConfiguration struct { - Enabled *bool `pulumi:"enabled"` - LogStreams []GangliaLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +// Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. +func (o CustomLayerLoadBasedAutoScalingUpscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScalingUpscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) } -// GangliaLayerCloudwatchConfigurationInput is an input type that accepts GangliaLayerCloudwatchConfigurationArgs and GangliaLayerCloudwatchConfigurationOutput values. -// You can construct a concrete instance of `GangliaLayerCloudwatchConfigurationInput` via: +// The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. +func (o CustomLayerLoadBasedAutoScalingUpscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) +} + +// The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. +func (o CustomLayerLoadBasedAutoScalingUpscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) +} + +// The number of instances to add or remove when the load exceeds a threshold. +func (o CustomLayerLoadBasedAutoScalingUpscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) +} + +// The load threshold. A value of -1 disables the threshold. +func (o CustomLayerLoadBasedAutoScalingUpscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) +} + +// The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. +func (o CustomLayerLoadBasedAutoScalingUpscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) +} + +// The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. +func (o CustomLayerLoadBasedAutoScalingUpscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CustomLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) +} + +type EcsClusterLayerCloudwatchConfiguration struct { + Enabled *bool `pulumi:"enabled"` + LogStreams []EcsClusterLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +} + +// EcsClusterLayerCloudwatchConfigurationInput is an input type that accepts EcsClusterLayerCloudwatchConfigurationArgs and EcsClusterLayerCloudwatchConfigurationOutput values. +// You can construct a concrete instance of `EcsClusterLayerCloudwatchConfigurationInput` via: // -// GangliaLayerCloudwatchConfigurationArgs{...} -type GangliaLayerCloudwatchConfigurationInput interface { +// EcsClusterLayerCloudwatchConfigurationArgs{...} +type EcsClusterLayerCloudwatchConfigurationInput interface { pulumi.Input - ToGangliaLayerCloudwatchConfigurationOutput() GangliaLayerCloudwatchConfigurationOutput - ToGangliaLayerCloudwatchConfigurationOutputWithContext(context.Context) GangliaLayerCloudwatchConfigurationOutput + ToEcsClusterLayerCloudwatchConfigurationOutput() EcsClusterLayerCloudwatchConfigurationOutput + ToEcsClusterLayerCloudwatchConfigurationOutputWithContext(context.Context) EcsClusterLayerCloudwatchConfigurationOutput } -type GangliaLayerCloudwatchConfigurationArgs struct { - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - LogStreams GangliaLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` +type EcsClusterLayerCloudwatchConfigurationArgs struct { + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + LogStreams EcsClusterLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` } -func (GangliaLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GangliaLayerCloudwatchConfiguration)(nil)).Elem() +func (EcsClusterLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EcsClusterLayerCloudwatchConfiguration)(nil)).Elem() } -func (i GangliaLayerCloudwatchConfigurationArgs) ToGangliaLayerCloudwatchConfigurationOutput() GangliaLayerCloudwatchConfigurationOutput { - return i.ToGangliaLayerCloudwatchConfigurationOutputWithContext(context.Background()) +func (i EcsClusterLayerCloudwatchConfigurationArgs) ToEcsClusterLayerCloudwatchConfigurationOutput() EcsClusterLayerCloudwatchConfigurationOutput { + return i.ToEcsClusterLayerCloudwatchConfigurationOutputWithContext(context.Background()) } -func (i GangliaLayerCloudwatchConfigurationArgs) ToGangliaLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerCloudwatchConfigurationOutput) +func (i EcsClusterLayerCloudwatchConfigurationArgs) ToEcsClusterLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerCloudwatchConfigurationOutput) } -func (i GangliaLayerCloudwatchConfigurationArgs) ToGangliaLayerCloudwatchConfigurationPtrOutput() GangliaLayerCloudwatchConfigurationPtrOutput { - return i.ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (i EcsClusterLayerCloudwatchConfigurationArgs) ToEcsClusterLayerCloudwatchConfigurationPtrOutput() EcsClusterLayerCloudwatchConfigurationPtrOutput { + return i.ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) } -func (i GangliaLayerCloudwatchConfigurationArgs) ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerCloudwatchConfigurationOutput).ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(ctx) +func (i EcsClusterLayerCloudwatchConfigurationArgs) ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerCloudwatchConfigurationOutput).ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(ctx) } -// GangliaLayerCloudwatchConfigurationPtrInput is an input type that accepts GangliaLayerCloudwatchConfigurationArgs, GangliaLayerCloudwatchConfigurationPtr and GangliaLayerCloudwatchConfigurationPtrOutput values. -// You can construct a concrete instance of `GangliaLayerCloudwatchConfigurationPtrInput` via: +// EcsClusterLayerCloudwatchConfigurationPtrInput is an input type that accepts EcsClusterLayerCloudwatchConfigurationArgs, EcsClusterLayerCloudwatchConfigurationPtr and EcsClusterLayerCloudwatchConfigurationPtrOutput values. +// You can construct a concrete instance of `EcsClusterLayerCloudwatchConfigurationPtrInput` via: // -// GangliaLayerCloudwatchConfigurationArgs{...} +// EcsClusterLayerCloudwatchConfigurationArgs{...} // // or: // // nil -type GangliaLayerCloudwatchConfigurationPtrInput interface { +type EcsClusterLayerCloudwatchConfigurationPtrInput interface { pulumi.Input - ToGangliaLayerCloudwatchConfigurationPtrOutput() GangliaLayerCloudwatchConfigurationPtrOutput - ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) GangliaLayerCloudwatchConfigurationPtrOutput + ToEcsClusterLayerCloudwatchConfigurationPtrOutput() EcsClusterLayerCloudwatchConfigurationPtrOutput + ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) EcsClusterLayerCloudwatchConfigurationPtrOutput } -type gangliaLayerCloudwatchConfigurationPtrType GangliaLayerCloudwatchConfigurationArgs +type ecsClusterLayerCloudwatchConfigurationPtrType EcsClusterLayerCloudwatchConfigurationArgs -func GangliaLayerCloudwatchConfigurationPtr(v *GangliaLayerCloudwatchConfigurationArgs) GangliaLayerCloudwatchConfigurationPtrInput { - return (*gangliaLayerCloudwatchConfigurationPtrType)(v) +func EcsClusterLayerCloudwatchConfigurationPtr(v *EcsClusterLayerCloudwatchConfigurationArgs) EcsClusterLayerCloudwatchConfigurationPtrInput { + return (*ecsClusterLayerCloudwatchConfigurationPtrType)(v) } -func (*gangliaLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GangliaLayerCloudwatchConfiguration)(nil)).Elem() +func (*ecsClusterLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EcsClusterLayerCloudwatchConfiguration)(nil)).Elem() } -func (i *gangliaLayerCloudwatchConfigurationPtrType) ToGangliaLayerCloudwatchConfigurationPtrOutput() GangliaLayerCloudwatchConfigurationPtrOutput { - return i.ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (i *ecsClusterLayerCloudwatchConfigurationPtrType) ToEcsClusterLayerCloudwatchConfigurationPtrOutput() EcsClusterLayerCloudwatchConfigurationPtrOutput { + return i.ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) } -func (i *gangliaLayerCloudwatchConfigurationPtrType) ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerCloudwatchConfigurationPtrOutput) +func (i *ecsClusterLayerCloudwatchConfigurationPtrType) ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerCloudwatchConfigurationPtrOutput) } -type GangliaLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } +type EcsClusterLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } -func (GangliaLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GangliaLayerCloudwatchConfiguration)(nil)).Elem() +func (EcsClusterLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EcsClusterLayerCloudwatchConfiguration)(nil)).Elem() } -func (o GangliaLayerCloudwatchConfigurationOutput) ToGangliaLayerCloudwatchConfigurationOutput() GangliaLayerCloudwatchConfigurationOutput { +func (o EcsClusterLayerCloudwatchConfigurationOutput) ToEcsClusterLayerCloudwatchConfigurationOutput() EcsClusterLayerCloudwatchConfigurationOutput { return o } -func (o GangliaLayerCloudwatchConfigurationOutput) ToGangliaLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationOutput { +func (o EcsClusterLayerCloudwatchConfigurationOutput) ToEcsClusterLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationOutput { return o } -func (o GangliaLayerCloudwatchConfigurationOutput) ToGangliaLayerCloudwatchConfigurationPtrOutput() GangliaLayerCloudwatchConfigurationPtrOutput { - return o.ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (o EcsClusterLayerCloudwatchConfigurationOutput) ToEcsClusterLayerCloudwatchConfigurationPtrOutput() EcsClusterLayerCloudwatchConfigurationPtrOutput { + return o.ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) } -func (o GangliaLayerCloudwatchConfigurationOutput) ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GangliaLayerCloudwatchConfiguration) *GangliaLayerCloudwatchConfiguration { +func (o EcsClusterLayerCloudwatchConfigurationOutput) ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EcsClusterLayerCloudwatchConfiguration) *EcsClusterLayerCloudwatchConfiguration { return &v - }).(GangliaLayerCloudwatchConfigurationPtrOutput) + }).(EcsClusterLayerCloudwatchConfigurationPtrOutput) } -func (o GangliaLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GangliaLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +func (o EcsClusterLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v EcsClusterLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -func (o GangliaLayerCloudwatchConfigurationOutput) LogStreams() GangliaLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v GangliaLayerCloudwatchConfiguration) []GangliaLayerCloudwatchConfigurationLogStream { +func (o EcsClusterLayerCloudwatchConfigurationOutput) LogStreams() EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v EcsClusterLayerCloudwatchConfiguration) []EcsClusterLayerCloudwatchConfigurationLogStream { return v.LogStreams - }).(GangliaLayerCloudwatchConfigurationLogStreamArrayOutput) + }).(EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput) } -type GangliaLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } +type EcsClusterLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } -func (GangliaLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GangliaLayerCloudwatchConfiguration)(nil)).Elem() +func (EcsClusterLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EcsClusterLayerCloudwatchConfiguration)(nil)).Elem() } -func (o GangliaLayerCloudwatchConfigurationPtrOutput) ToGangliaLayerCloudwatchConfigurationPtrOutput() GangliaLayerCloudwatchConfigurationPtrOutput { +func (o EcsClusterLayerCloudwatchConfigurationPtrOutput) ToEcsClusterLayerCloudwatchConfigurationPtrOutput() EcsClusterLayerCloudwatchConfigurationPtrOutput { return o } -func (o GangliaLayerCloudwatchConfigurationPtrOutput) ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationPtrOutput { +func (o EcsClusterLayerCloudwatchConfigurationPtrOutput) ToEcsClusterLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationPtrOutput { return o } -func (o GangliaLayerCloudwatchConfigurationPtrOutput) Elem() GangliaLayerCloudwatchConfigurationOutput { - return o.ApplyT(func(v *GangliaLayerCloudwatchConfiguration) GangliaLayerCloudwatchConfiguration { +func (o EcsClusterLayerCloudwatchConfigurationPtrOutput) Elem() EcsClusterLayerCloudwatchConfigurationOutput { + return o.ApplyT(func(v *EcsClusterLayerCloudwatchConfiguration) EcsClusterLayerCloudwatchConfiguration { if v != nil { return *v } - var ret GangliaLayerCloudwatchConfiguration + var ret EcsClusterLayerCloudwatchConfiguration return ret - }).(GangliaLayerCloudwatchConfigurationOutput) + }).(EcsClusterLayerCloudwatchConfigurationOutput) } -func (o GangliaLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GangliaLayerCloudwatchConfiguration) *bool { +func (o EcsClusterLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *EcsClusterLayerCloudwatchConfiguration) *bool { if v == nil { return nil } @@ -1467,16 +1694,16 @@ func (o GangliaLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOu }).(pulumi.BoolPtrOutput) } -func (o GangliaLayerCloudwatchConfigurationPtrOutput) LogStreams() GangliaLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v *GangliaLayerCloudwatchConfiguration) []GangliaLayerCloudwatchConfigurationLogStream { +func (o EcsClusterLayerCloudwatchConfigurationPtrOutput) LogStreams() EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v *EcsClusterLayerCloudwatchConfiguration) []EcsClusterLayerCloudwatchConfigurationLogStream { if v == nil { return nil } return v.LogStreams - }).(GangliaLayerCloudwatchConfigurationLogStreamArrayOutput) + }).(EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput) } -type GangliaLayerCloudwatchConfigurationLogStream struct { +type EcsClusterLayerCloudwatchConfigurationLogStream struct { BatchCount *int `pulumi:"batchCount"` BatchSize *int `pulumi:"batchSize"` BufferDuration *int `pulumi:"bufferDuration"` @@ -1490,18 +1717,18 @@ type GangliaLayerCloudwatchConfigurationLogStream struct { TimeZone *string `pulumi:"timeZone"` } -// GangliaLayerCloudwatchConfigurationLogStreamInput is an input type that accepts GangliaLayerCloudwatchConfigurationLogStreamArgs and GangliaLayerCloudwatchConfigurationLogStreamOutput values. -// You can construct a concrete instance of `GangliaLayerCloudwatchConfigurationLogStreamInput` via: +// EcsClusterLayerCloudwatchConfigurationLogStreamInput is an input type that accepts EcsClusterLayerCloudwatchConfigurationLogStreamArgs and EcsClusterLayerCloudwatchConfigurationLogStreamOutput values. +// You can construct a concrete instance of `EcsClusterLayerCloudwatchConfigurationLogStreamInput` via: // -// GangliaLayerCloudwatchConfigurationLogStreamArgs{...} -type GangliaLayerCloudwatchConfigurationLogStreamInput interface { +// EcsClusterLayerCloudwatchConfigurationLogStreamArgs{...} +type EcsClusterLayerCloudwatchConfigurationLogStreamInput interface { pulumi.Input - ToGangliaLayerCloudwatchConfigurationLogStreamOutput() GangliaLayerCloudwatchConfigurationLogStreamOutput - ToGangliaLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) GangliaLayerCloudwatchConfigurationLogStreamOutput + ToEcsClusterLayerCloudwatchConfigurationLogStreamOutput() EcsClusterLayerCloudwatchConfigurationLogStreamOutput + ToEcsClusterLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) EcsClusterLayerCloudwatchConfigurationLogStreamOutput } -type GangliaLayerCloudwatchConfigurationLogStreamArgs struct { +type EcsClusterLayerCloudwatchConfigurationLogStreamArgs struct { BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` @@ -1515,122 +1742,122 @@ type GangliaLayerCloudwatchConfigurationLogStreamArgs struct { TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` } -func (GangliaLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GangliaLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (EcsClusterLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EcsClusterLayerCloudwatchConfigurationLogStream)(nil)).Elem() } -func (i GangliaLayerCloudwatchConfigurationLogStreamArgs) ToGangliaLayerCloudwatchConfigurationLogStreamOutput() GangliaLayerCloudwatchConfigurationLogStreamOutput { - return i.ToGangliaLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) +func (i EcsClusterLayerCloudwatchConfigurationLogStreamArgs) ToEcsClusterLayerCloudwatchConfigurationLogStreamOutput() EcsClusterLayerCloudwatchConfigurationLogStreamOutput { + return i.ToEcsClusterLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) } -func (i GangliaLayerCloudwatchConfigurationLogStreamArgs) ToGangliaLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerCloudwatchConfigurationLogStreamOutput) +func (i EcsClusterLayerCloudwatchConfigurationLogStreamArgs) ToEcsClusterLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerCloudwatchConfigurationLogStreamOutput) } -// GangliaLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts GangliaLayerCloudwatchConfigurationLogStreamArray and GangliaLayerCloudwatchConfigurationLogStreamArrayOutput values. -// You can construct a concrete instance of `GangliaLayerCloudwatchConfigurationLogStreamArrayInput` via: +// EcsClusterLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts EcsClusterLayerCloudwatchConfigurationLogStreamArray and EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput values. +// You can construct a concrete instance of `EcsClusterLayerCloudwatchConfigurationLogStreamArrayInput` via: // -// GangliaLayerCloudwatchConfigurationLogStreamArray{ GangliaLayerCloudwatchConfigurationLogStreamArgs{...} } -type GangliaLayerCloudwatchConfigurationLogStreamArrayInput interface { +// EcsClusterLayerCloudwatchConfigurationLogStreamArray{ EcsClusterLayerCloudwatchConfigurationLogStreamArgs{...} } +type EcsClusterLayerCloudwatchConfigurationLogStreamArrayInput interface { pulumi.Input - ToGangliaLayerCloudwatchConfigurationLogStreamArrayOutput() GangliaLayerCloudwatchConfigurationLogStreamArrayOutput - ToGangliaLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) GangliaLayerCloudwatchConfigurationLogStreamArrayOutput + ToEcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput() EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput + ToEcsClusterLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput } -type GangliaLayerCloudwatchConfigurationLogStreamArray []GangliaLayerCloudwatchConfigurationLogStreamInput +type EcsClusterLayerCloudwatchConfigurationLogStreamArray []EcsClusterLayerCloudwatchConfigurationLogStreamInput -func (GangliaLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GangliaLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (EcsClusterLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]EcsClusterLayerCloudwatchConfigurationLogStream)(nil)).Elem() } -func (i GangliaLayerCloudwatchConfigurationLogStreamArray) ToGangliaLayerCloudwatchConfigurationLogStreamArrayOutput() GangliaLayerCloudwatchConfigurationLogStreamArrayOutput { - return i.ToGangliaLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) +func (i EcsClusterLayerCloudwatchConfigurationLogStreamArray) ToEcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput() EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput { + return i.ToEcsClusterLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) } -func (i GangliaLayerCloudwatchConfigurationLogStreamArray) ToGangliaLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationLogStreamArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerCloudwatchConfigurationLogStreamArrayOutput) +func (i EcsClusterLayerCloudwatchConfigurationLogStreamArray) ToEcsClusterLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput) } -type GangliaLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } +type EcsClusterLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } -func (GangliaLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GangliaLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (EcsClusterLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EcsClusterLayerCloudwatchConfigurationLogStream)(nil)).Elem() } -func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) ToGangliaLayerCloudwatchConfigurationLogStreamOutput() GangliaLayerCloudwatchConfigurationLogStreamOutput { +func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) ToEcsClusterLayerCloudwatchConfigurationLogStreamOutput() EcsClusterLayerCloudwatchConfigurationLogStreamOutput { return o } -func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) ToGangliaLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationLogStreamOutput { +func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) ToEcsClusterLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationLogStreamOutput { return o } -func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) +func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) } -func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) +func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) } -func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { - return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) +func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) } -func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { - return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) +func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) } -func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { - return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) +func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) } -func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { - return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) +func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { + return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) } -func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { - return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) +func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { + return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) } -func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { - return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) +func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { + return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) } -func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { - return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) +func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { + return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) } -func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { - return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) +func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) } -func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +func (o EcsClusterLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v EcsClusterLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) } -type GangliaLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } +type EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } -func (GangliaLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GangliaLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]EcsClusterLayerCloudwatchConfigurationLogStream)(nil)).Elem() } -func (o GangliaLayerCloudwatchConfigurationLogStreamArrayOutput) ToGangliaLayerCloudwatchConfigurationLogStreamArrayOutput() GangliaLayerCloudwatchConfigurationLogStreamArrayOutput { +func (o EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput) ToEcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput() EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput { return o } -func (o GangliaLayerCloudwatchConfigurationLogStreamArrayOutput) ToGangliaLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationLogStreamArrayOutput { +func (o EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput) ToEcsClusterLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput { return o } -func (o GangliaLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) GangliaLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GangliaLayerCloudwatchConfigurationLogStream { - return vs[0].([]GangliaLayerCloudwatchConfigurationLogStream)[vs[1].(int)] - }).(GangliaLayerCloudwatchConfigurationLogStreamOutput) +func (o EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) EcsClusterLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) EcsClusterLayerCloudwatchConfigurationLogStream { + return vs[0].([]EcsClusterLayerCloudwatchConfigurationLogStream)[vs[1].(int)] + }).(EcsClusterLayerCloudwatchConfigurationLogStreamOutput) } -type GangliaLayerEbsVolume struct { +type EcsClusterLayerEbsVolume struct { Encrypted *bool `pulumi:"encrypted"` // For PIOPS volumes, the IOPS per disk. Iops *int `pulumi:"iops"` @@ -1646,18 +1873,18 @@ type GangliaLayerEbsVolume struct { Type *string `pulumi:"type"` } -// GangliaLayerEbsVolumeInput is an input type that accepts GangliaLayerEbsVolumeArgs and GangliaLayerEbsVolumeOutput values. -// You can construct a concrete instance of `GangliaLayerEbsVolumeInput` via: +// EcsClusterLayerEbsVolumeInput is an input type that accepts EcsClusterLayerEbsVolumeArgs and EcsClusterLayerEbsVolumeOutput values. +// You can construct a concrete instance of `EcsClusterLayerEbsVolumeInput` via: // -// GangliaLayerEbsVolumeArgs{...} -type GangliaLayerEbsVolumeInput interface { +// EcsClusterLayerEbsVolumeArgs{...} +type EcsClusterLayerEbsVolumeInput interface { pulumi.Input - ToGangliaLayerEbsVolumeOutput() GangliaLayerEbsVolumeOutput - ToGangliaLayerEbsVolumeOutputWithContext(context.Context) GangliaLayerEbsVolumeOutput + ToEcsClusterLayerEbsVolumeOutput() EcsClusterLayerEbsVolumeOutput + ToEcsClusterLayerEbsVolumeOutputWithContext(context.Context) EcsClusterLayerEbsVolumeOutput } -type GangliaLayerEbsVolumeArgs struct { +type EcsClusterLayerEbsVolumeArgs struct { Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` // For PIOPS volumes, the IOPS per disk. Iops pulumi.IntPtrInput `pulumi:"iops"` @@ -1673,2841 +1900,3324 @@ type GangliaLayerEbsVolumeArgs struct { Type pulumi.StringPtrInput `pulumi:"type"` } -func (GangliaLayerEbsVolumeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GangliaLayerEbsVolume)(nil)).Elem() +func (EcsClusterLayerEbsVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EcsClusterLayerEbsVolume)(nil)).Elem() } -func (i GangliaLayerEbsVolumeArgs) ToGangliaLayerEbsVolumeOutput() GangliaLayerEbsVolumeOutput { - return i.ToGangliaLayerEbsVolumeOutputWithContext(context.Background()) +func (i EcsClusterLayerEbsVolumeArgs) ToEcsClusterLayerEbsVolumeOutput() EcsClusterLayerEbsVolumeOutput { + return i.ToEcsClusterLayerEbsVolumeOutputWithContext(context.Background()) } -func (i GangliaLayerEbsVolumeArgs) ToGangliaLayerEbsVolumeOutputWithContext(ctx context.Context) GangliaLayerEbsVolumeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerEbsVolumeOutput) +func (i EcsClusterLayerEbsVolumeArgs) ToEcsClusterLayerEbsVolumeOutputWithContext(ctx context.Context) EcsClusterLayerEbsVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerEbsVolumeOutput) } -// GangliaLayerEbsVolumeArrayInput is an input type that accepts GangliaLayerEbsVolumeArray and GangliaLayerEbsVolumeArrayOutput values. -// You can construct a concrete instance of `GangliaLayerEbsVolumeArrayInput` via: +// EcsClusterLayerEbsVolumeArrayInput is an input type that accepts EcsClusterLayerEbsVolumeArray and EcsClusterLayerEbsVolumeArrayOutput values. +// You can construct a concrete instance of `EcsClusterLayerEbsVolumeArrayInput` via: // -// GangliaLayerEbsVolumeArray{ GangliaLayerEbsVolumeArgs{...} } -type GangliaLayerEbsVolumeArrayInput interface { +// EcsClusterLayerEbsVolumeArray{ EcsClusterLayerEbsVolumeArgs{...} } +type EcsClusterLayerEbsVolumeArrayInput interface { pulumi.Input - ToGangliaLayerEbsVolumeArrayOutput() GangliaLayerEbsVolumeArrayOutput - ToGangliaLayerEbsVolumeArrayOutputWithContext(context.Context) GangliaLayerEbsVolumeArrayOutput + ToEcsClusterLayerEbsVolumeArrayOutput() EcsClusterLayerEbsVolumeArrayOutput + ToEcsClusterLayerEbsVolumeArrayOutputWithContext(context.Context) EcsClusterLayerEbsVolumeArrayOutput } -type GangliaLayerEbsVolumeArray []GangliaLayerEbsVolumeInput +type EcsClusterLayerEbsVolumeArray []EcsClusterLayerEbsVolumeInput -func (GangliaLayerEbsVolumeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GangliaLayerEbsVolume)(nil)).Elem() +func (EcsClusterLayerEbsVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]EcsClusterLayerEbsVolume)(nil)).Elem() } -func (i GangliaLayerEbsVolumeArray) ToGangliaLayerEbsVolumeArrayOutput() GangliaLayerEbsVolumeArrayOutput { - return i.ToGangliaLayerEbsVolumeArrayOutputWithContext(context.Background()) +func (i EcsClusterLayerEbsVolumeArray) ToEcsClusterLayerEbsVolumeArrayOutput() EcsClusterLayerEbsVolumeArrayOutput { + return i.ToEcsClusterLayerEbsVolumeArrayOutputWithContext(context.Background()) } -func (i GangliaLayerEbsVolumeArray) ToGangliaLayerEbsVolumeArrayOutputWithContext(ctx context.Context) GangliaLayerEbsVolumeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerEbsVolumeArrayOutput) +func (i EcsClusterLayerEbsVolumeArray) ToEcsClusterLayerEbsVolumeArrayOutputWithContext(ctx context.Context) EcsClusterLayerEbsVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerEbsVolumeArrayOutput) } -type GangliaLayerEbsVolumeOutput struct{ *pulumi.OutputState } +type EcsClusterLayerEbsVolumeOutput struct{ *pulumi.OutputState } -func (GangliaLayerEbsVolumeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GangliaLayerEbsVolume)(nil)).Elem() +func (EcsClusterLayerEbsVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EcsClusterLayerEbsVolume)(nil)).Elem() } -func (o GangliaLayerEbsVolumeOutput) ToGangliaLayerEbsVolumeOutput() GangliaLayerEbsVolumeOutput { +func (o EcsClusterLayerEbsVolumeOutput) ToEcsClusterLayerEbsVolumeOutput() EcsClusterLayerEbsVolumeOutput { return o } -func (o GangliaLayerEbsVolumeOutput) ToGangliaLayerEbsVolumeOutputWithContext(ctx context.Context) GangliaLayerEbsVolumeOutput { +func (o EcsClusterLayerEbsVolumeOutput) ToEcsClusterLayerEbsVolumeOutputWithContext(ctx context.Context) EcsClusterLayerEbsVolumeOutput { return o } -func (o GangliaLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GangliaLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +func (o EcsClusterLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v EcsClusterLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) } // For PIOPS volumes, the IOPS per disk. -func (o GangliaLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v GangliaLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) +func (o EcsClusterLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v EcsClusterLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) } // The path to mount the EBS volume on the layer's instances. -func (o GangliaLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { - return o.ApplyT(func(v GangliaLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) +func (o EcsClusterLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { + return o.ApplyT(func(v EcsClusterLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) } // The number of disks to use for the EBS volume. -func (o GangliaLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { - return o.ApplyT(func(v GangliaLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) +func (o EcsClusterLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { + return o.ApplyT(func(v EcsClusterLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) } // The RAID level to use for the volume. -func (o GangliaLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { - return o.ApplyT(func(v GangliaLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) +func (o EcsClusterLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v EcsClusterLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) } // The size of the volume in gigabytes. -func (o GangliaLayerEbsVolumeOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v GangliaLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) +func (o EcsClusterLayerEbsVolumeOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v EcsClusterLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) } // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. -func (o GangliaLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v GangliaLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +func (o EcsClusterLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v EcsClusterLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) } -type GangliaLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } +type EcsClusterLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } -func (GangliaLayerEbsVolumeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GangliaLayerEbsVolume)(nil)).Elem() +func (EcsClusterLayerEbsVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]EcsClusterLayerEbsVolume)(nil)).Elem() } -func (o GangliaLayerEbsVolumeArrayOutput) ToGangliaLayerEbsVolumeArrayOutput() GangliaLayerEbsVolumeArrayOutput { +func (o EcsClusterLayerEbsVolumeArrayOutput) ToEcsClusterLayerEbsVolumeArrayOutput() EcsClusterLayerEbsVolumeArrayOutput { return o } -func (o GangliaLayerEbsVolumeArrayOutput) ToGangliaLayerEbsVolumeArrayOutputWithContext(ctx context.Context) GangliaLayerEbsVolumeArrayOutput { +func (o EcsClusterLayerEbsVolumeArrayOutput) ToEcsClusterLayerEbsVolumeArrayOutputWithContext(ctx context.Context) EcsClusterLayerEbsVolumeArrayOutput { return o } -func (o GangliaLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) GangliaLayerEbsVolumeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GangliaLayerEbsVolume { - return vs[0].([]GangliaLayerEbsVolume)[vs[1].(int)] - }).(GangliaLayerEbsVolumeOutput) +func (o EcsClusterLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) EcsClusterLayerEbsVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) EcsClusterLayerEbsVolume { + return vs[0].([]EcsClusterLayerEbsVolume)[vs[1].(int)] + }).(EcsClusterLayerEbsVolumeOutput) } -type HaproxyLayerCloudwatchConfiguration struct { - Enabled *bool `pulumi:"enabled"` - LogStreams []HaproxyLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +type EcsClusterLayerLoadBasedAutoScaling struct { + Downscaling *EcsClusterLayerLoadBasedAutoScalingDownscaling `pulumi:"downscaling"` + Enable *bool `pulumi:"enable"` + Upscaling *EcsClusterLayerLoadBasedAutoScalingUpscaling `pulumi:"upscaling"` } -// HaproxyLayerCloudwatchConfigurationInput is an input type that accepts HaproxyLayerCloudwatchConfigurationArgs and HaproxyLayerCloudwatchConfigurationOutput values. -// You can construct a concrete instance of `HaproxyLayerCloudwatchConfigurationInput` via: +// EcsClusterLayerLoadBasedAutoScalingInput is an input type that accepts EcsClusterLayerLoadBasedAutoScalingArgs and EcsClusterLayerLoadBasedAutoScalingOutput values. +// You can construct a concrete instance of `EcsClusterLayerLoadBasedAutoScalingInput` via: // -// HaproxyLayerCloudwatchConfigurationArgs{...} -type HaproxyLayerCloudwatchConfigurationInput interface { +// EcsClusterLayerLoadBasedAutoScalingArgs{...} +type EcsClusterLayerLoadBasedAutoScalingInput interface { pulumi.Input - ToHaproxyLayerCloudwatchConfigurationOutput() HaproxyLayerCloudwatchConfigurationOutput - ToHaproxyLayerCloudwatchConfigurationOutputWithContext(context.Context) HaproxyLayerCloudwatchConfigurationOutput + ToEcsClusterLayerLoadBasedAutoScalingOutput() EcsClusterLayerLoadBasedAutoScalingOutput + ToEcsClusterLayerLoadBasedAutoScalingOutputWithContext(context.Context) EcsClusterLayerLoadBasedAutoScalingOutput } -type HaproxyLayerCloudwatchConfigurationArgs struct { - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - LogStreams HaproxyLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` +type EcsClusterLayerLoadBasedAutoScalingArgs struct { + Downscaling EcsClusterLayerLoadBasedAutoScalingDownscalingPtrInput `pulumi:"downscaling"` + Enable pulumi.BoolPtrInput `pulumi:"enable"` + Upscaling EcsClusterLayerLoadBasedAutoScalingUpscalingPtrInput `pulumi:"upscaling"` } -func (HaproxyLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*HaproxyLayerCloudwatchConfiguration)(nil)).Elem() +func (EcsClusterLayerLoadBasedAutoScalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EcsClusterLayerLoadBasedAutoScaling)(nil)).Elem() } -func (i HaproxyLayerCloudwatchConfigurationArgs) ToHaproxyLayerCloudwatchConfigurationOutput() HaproxyLayerCloudwatchConfigurationOutput { - return i.ToHaproxyLayerCloudwatchConfigurationOutputWithContext(context.Background()) +func (i EcsClusterLayerLoadBasedAutoScalingArgs) ToEcsClusterLayerLoadBasedAutoScalingOutput() EcsClusterLayerLoadBasedAutoScalingOutput { + return i.ToEcsClusterLayerLoadBasedAutoScalingOutputWithContext(context.Background()) } -func (i HaproxyLayerCloudwatchConfigurationArgs) ToHaproxyLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerCloudwatchConfigurationOutput) +func (i EcsClusterLayerLoadBasedAutoScalingArgs) ToEcsClusterLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerLoadBasedAutoScalingOutput) } -func (i HaproxyLayerCloudwatchConfigurationArgs) ToHaproxyLayerCloudwatchConfigurationPtrOutput() HaproxyLayerCloudwatchConfigurationPtrOutput { - return i.ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (i EcsClusterLayerLoadBasedAutoScalingArgs) ToEcsClusterLayerLoadBasedAutoScalingPtrOutput() EcsClusterLayerLoadBasedAutoScalingPtrOutput { + return i.ToEcsClusterLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) } -func (i HaproxyLayerCloudwatchConfigurationArgs) ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerCloudwatchConfigurationOutput).ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(ctx) +func (i EcsClusterLayerLoadBasedAutoScalingArgs) ToEcsClusterLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerLoadBasedAutoScalingOutput).ToEcsClusterLayerLoadBasedAutoScalingPtrOutputWithContext(ctx) } -// HaproxyLayerCloudwatchConfigurationPtrInput is an input type that accepts HaproxyLayerCloudwatchConfigurationArgs, HaproxyLayerCloudwatchConfigurationPtr and HaproxyLayerCloudwatchConfigurationPtrOutput values. -// You can construct a concrete instance of `HaproxyLayerCloudwatchConfigurationPtrInput` via: +// EcsClusterLayerLoadBasedAutoScalingPtrInput is an input type that accepts EcsClusterLayerLoadBasedAutoScalingArgs, EcsClusterLayerLoadBasedAutoScalingPtr and EcsClusterLayerLoadBasedAutoScalingPtrOutput values. +// You can construct a concrete instance of `EcsClusterLayerLoadBasedAutoScalingPtrInput` via: // -// HaproxyLayerCloudwatchConfigurationArgs{...} +// EcsClusterLayerLoadBasedAutoScalingArgs{...} // // or: // // nil -type HaproxyLayerCloudwatchConfigurationPtrInput interface { +type EcsClusterLayerLoadBasedAutoScalingPtrInput interface { pulumi.Input - ToHaproxyLayerCloudwatchConfigurationPtrOutput() HaproxyLayerCloudwatchConfigurationPtrOutput - ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) HaproxyLayerCloudwatchConfigurationPtrOutput + ToEcsClusterLayerLoadBasedAutoScalingPtrOutput() EcsClusterLayerLoadBasedAutoScalingPtrOutput + ToEcsClusterLayerLoadBasedAutoScalingPtrOutputWithContext(context.Context) EcsClusterLayerLoadBasedAutoScalingPtrOutput } -type haproxyLayerCloudwatchConfigurationPtrType HaproxyLayerCloudwatchConfigurationArgs +type ecsClusterLayerLoadBasedAutoScalingPtrType EcsClusterLayerLoadBasedAutoScalingArgs -func HaproxyLayerCloudwatchConfigurationPtr(v *HaproxyLayerCloudwatchConfigurationArgs) HaproxyLayerCloudwatchConfigurationPtrInput { - return (*haproxyLayerCloudwatchConfigurationPtrType)(v) +func EcsClusterLayerLoadBasedAutoScalingPtr(v *EcsClusterLayerLoadBasedAutoScalingArgs) EcsClusterLayerLoadBasedAutoScalingPtrInput { + return (*ecsClusterLayerLoadBasedAutoScalingPtrType)(v) } -func (*haproxyLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**HaproxyLayerCloudwatchConfiguration)(nil)).Elem() +func (*ecsClusterLayerLoadBasedAutoScalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EcsClusterLayerLoadBasedAutoScaling)(nil)).Elem() } -func (i *haproxyLayerCloudwatchConfigurationPtrType) ToHaproxyLayerCloudwatchConfigurationPtrOutput() HaproxyLayerCloudwatchConfigurationPtrOutput { - return i.ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (i *ecsClusterLayerLoadBasedAutoScalingPtrType) ToEcsClusterLayerLoadBasedAutoScalingPtrOutput() EcsClusterLayerLoadBasedAutoScalingPtrOutput { + return i.ToEcsClusterLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) } -func (i *haproxyLayerCloudwatchConfigurationPtrType) ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerCloudwatchConfigurationPtrOutput) +func (i *ecsClusterLayerLoadBasedAutoScalingPtrType) ToEcsClusterLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerLoadBasedAutoScalingPtrOutput) } -type HaproxyLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } +type EcsClusterLayerLoadBasedAutoScalingOutput struct{ *pulumi.OutputState } -func (HaproxyLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*HaproxyLayerCloudwatchConfiguration)(nil)).Elem() +func (EcsClusterLayerLoadBasedAutoScalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EcsClusterLayerLoadBasedAutoScaling)(nil)).Elem() } -func (o HaproxyLayerCloudwatchConfigurationOutput) ToHaproxyLayerCloudwatchConfigurationOutput() HaproxyLayerCloudwatchConfigurationOutput { +func (o EcsClusterLayerLoadBasedAutoScalingOutput) ToEcsClusterLayerLoadBasedAutoScalingOutput() EcsClusterLayerLoadBasedAutoScalingOutput { return o } -func (o HaproxyLayerCloudwatchConfigurationOutput) ToHaproxyLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationOutput { +func (o EcsClusterLayerLoadBasedAutoScalingOutput) ToEcsClusterLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingOutput { return o } -func (o HaproxyLayerCloudwatchConfigurationOutput) ToHaproxyLayerCloudwatchConfigurationPtrOutput() HaproxyLayerCloudwatchConfigurationPtrOutput { - return o.ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (o EcsClusterLayerLoadBasedAutoScalingOutput) ToEcsClusterLayerLoadBasedAutoScalingPtrOutput() EcsClusterLayerLoadBasedAutoScalingPtrOutput { + return o.ToEcsClusterLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) } -func (o HaproxyLayerCloudwatchConfigurationOutput) ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v HaproxyLayerCloudwatchConfiguration) *HaproxyLayerCloudwatchConfiguration { +func (o EcsClusterLayerLoadBasedAutoScalingOutput) ToEcsClusterLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EcsClusterLayerLoadBasedAutoScaling) *EcsClusterLayerLoadBasedAutoScaling { return &v - }).(HaproxyLayerCloudwatchConfigurationPtrOutput) + }).(EcsClusterLayerLoadBasedAutoScalingPtrOutput) } -func (o HaproxyLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v HaproxyLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +func (o EcsClusterLayerLoadBasedAutoScalingOutput) Downscaling() EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v EcsClusterLayerLoadBasedAutoScaling) *EcsClusterLayerLoadBasedAutoScalingDownscaling { + return v.Downscaling + }).(EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput) } -func (o HaproxyLayerCloudwatchConfigurationOutput) LogStreams() HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v HaproxyLayerCloudwatchConfiguration) []HaproxyLayerCloudwatchConfigurationLogStream { - return v.LogStreams - }).(HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput) +func (o EcsClusterLayerLoadBasedAutoScalingOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v EcsClusterLayerLoadBasedAutoScaling) *bool { return v.Enable }).(pulumi.BoolPtrOutput) } -type HaproxyLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } +func (o EcsClusterLayerLoadBasedAutoScalingOutput) Upscaling() EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v EcsClusterLayerLoadBasedAutoScaling) *EcsClusterLayerLoadBasedAutoScalingUpscaling { + return v.Upscaling + }).(EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput) +} -func (HaproxyLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**HaproxyLayerCloudwatchConfiguration)(nil)).Elem() +type EcsClusterLayerLoadBasedAutoScalingPtrOutput struct{ *pulumi.OutputState } + +func (EcsClusterLayerLoadBasedAutoScalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EcsClusterLayerLoadBasedAutoScaling)(nil)).Elem() } -func (o HaproxyLayerCloudwatchConfigurationPtrOutput) ToHaproxyLayerCloudwatchConfigurationPtrOutput() HaproxyLayerCloudwatchConfigurationPtrOutput { +func (o EcsClusterLayerLoadBasedAutoScalingPtrOutput) ToEcsClusterLayerLoadBasedAutoScalingPtrOutput() EcsClusterLayerLoadBasedAutoScalingPtrOutput { return o } -func (o HaproxyLayerCloudwatchConfigurationPtrOutput) ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationPtrOutput { +func (o EcsClusterLayerLoadBasedAutoScalingPtrOutput) ToEcsClusterLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingPtrOutput { return o } -func (o HaproxyLayerCloudwatchConfigurationPtrOutput) Elem() HaproxyLayerCloudwatchConfigurationOutput { - return o.ApplyT(func(v *HaproxyLayerCloudwatchConfiguration) HaproxyLayerCloudwatchConfiguration { +func (o EcsClusterLayerLoadBasedAutoScalingPtrOutput) Elem() EcsClusterLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScaling) EcsClusterLayerLoadBasedAutoScaling { if v != nil { return *v } - var ret HaproxyLayerCloudwatchConfiguration + var ret EcsClusterLayerLoadBasedAutoScaling return ret - }).(HaproxyLayerCloudwatchConfigurationOutput) + }).(EcsClusterLayerLoadBasedAutoScalingOutput) } -func (o HaproxyLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *HaproxyLayerCloudwatchConfiguration) *bool { +func (o EcsClusterLayerLoadBasedAutoScalingPtrOutput) Downscaling() EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScaling) *EcsClusterLayerLoadBasedAutoScalingDownscaling { if v == nil { return nil } - return v.Enabled + return v.Downscaling + }).(EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o EcsClusterLayerLoadBasedAutoScalingPtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScaling) *bool { + if v == nil { + return nil + } + return v.Enable }).(pulumi.BoolPtrOutput) } -func (o HaproxyLayerCloudwatchConfigurationPtrOutput) LogStreams() HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v *HaproxyLayerCloudwatchConfiguration) []HaproxyLayerCloudwatchConfigurationLogStream { +func (o EcsClusterLayerLoadBasedAutoScalingPtrOutput) Upscaling() EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScaling) *EcsClusterLayerLoadBasedAutoScalingUpscaling { if v == nil { return nil } - return v.LogStreams - }).(HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput) + return v.Upscaling + }).(EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput) } -type HaproxyLayerCloudwatchConfigurationLogStream struct { - BatchCount *int `pulumi:"batchCount"` - BatchSize *int `pulumi:"batchSize"` - BufferDuration *int `pulumi:"bufferDuration"` - DatetimeFormat *string `pulumi:"datetimeFormat"` - Encoding *string `pulumi:"encoding"` - File string `pulumi:"file"` - FileFingerprintLines *string `pulumi:"fileFingerprintLines"` - InitialPosition *string `pulumi:"initialPosition"` - LogGroupName string `pulumi:"logGroupName"` - MultilineStartPattern *string `pulumi:"multilineStartPattern"` - TimeZone *string `pulumi:"timeZone"` +type EcsClusterLayerLoadBasedAutoScalingDownscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` } -// HaproxyLayerCloudwatchConfigurationLogStreamInput is an input type that accepts HaproxyLayerCloudwatchConfigurationLogStreamArgs and HaproxyLayerCloudwatchConfigurationLogStreamOutput values. -// You can construct a concrete instance of `HaproxyLayerCloudwatchConfigurationLogStreamInput` via: +// EcsClusterLayerLoadBasedAutoScalingDownscalingInput is an input type that accepts EcsClusterLayerLoadBasedAutoScalingDownscalingArgs and EcsClusterLayerLoadBasedAutoScalingDownscalingOutput values. +// You can construct a concrete instance of `EcsClusterLayerLoadBasedAutoScalingDownscalingInput` via: // -// HaproxyLayerCloudwatchConfigurationLogStreamArgs{...} -type HaproxyLayerCloudwatchConfigurationLogStreamInput interface { +// EcsClusterLayerLoadBasedAutoScalingDownscalingArgs{...} +type EcsClusterLayerLoadBasedAutoScalingDownscalingInput interface { pulumi.Input - ToHaproxyLayerCloudwatchConfigurationLogStreamOutput() HaproxyLayerCloudwatchConfigurationLogStreamOutput - ToHaproxyLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) HaproxyLayerCloudwatchConfigurationLogStreamOutput + ToEcsClusterLayerLoadBasedAutoScalingDownscalingOutput() EcsClusterLayerLoadBasedAutoScalingDownscalingOutput + ToEcsClusterLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Context) EcsClusterLayerLoadBasedAutoScalingDownscalingOutput } -type HaproxyLayerCloudwatchConfigurationLogStreamArgs struct { - BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` - BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` - BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` - DatetimeFormat pulumi.StringPtrInput `pulumi:"datetimeFormat"` - Encoding pulumi.StringPtrInput `pulumi:"encoding"` - File pulumi.StringInput `pulumi:"file"` - FileFingerprintLines pulumi.StringPtrInput `pulumi:"fileFingerprintLines"` - InitialPosition pulumi.StringPtrInput `pulumi:"initialPosition"` - LogGroupName pulumi.StringInput `pulumi:"logGroupName"` - MultilineStartPattern pulumi.StringPtrInput `pulumi:"multilineStartPattern"` - TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +type EcsClusterLayerLoadBasedAutoScalingDownscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` } -func (HaproxyLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { - return reflect.TypeOf((*HaproxyLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (EcsClusterLayerLoadBasedAutoScalingDownscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EcsClusterLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (i HaproxyLayerCloudwatchConfigurationLogStreamArgs) ToHaproxyLayerCloudwatchConfigurationLogStreamOutput() HaproxyLayerCloudwatchConfigurationLogStreamOutput { - return i.ToHaproxyLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) +func (i EcsClusterLayerLoadBasedAutoScalingDownscalingArgs) ToEcsClusterLayerLoadBasedAutoScalingDownscalingOutput() EcsClusterLayerLoadBasedAutoScalingDownscalingOutput { + return i.ToEcsClusterLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Background()) } -func (i HaproxyLayerCloudwatchConfigurationLogStreamArgs) ToHaproxyLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerCloudwatchConfigurationLogStreamOutput) +func (i EcsClusterLayerLoadBasedAutoScalingDownscalingArgs) ToEcsClusterLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingDownscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerLoadBasedAutoScalingDownscalingOutput) } -// HaproxyLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts HaproxyLayerCloudwatchConfigurationLogStreamArray and HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput values. -// You can construct a concrete instance of `HaproxyLayerCloudwatchConfigurationLogStreamArrayInput` via: +func (i EcsClusterLayerLoadBasedAutoScalingDownscalingArgs) ToEcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput() EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToEcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (i EcsClusterLayerLoadBasedAutoScalingDownscalingArgs) ToEcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerLoadBasedAutoScalingDownscalingOutput).ToEcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx) +} + +// EcsClusterLayerLoadBasedAutoScalingDownscalingPtrInput is an input type that accepts EcsClusterLayerLoadBasedAutoScalingDownscalingArgs, EcsClusterLayerLoadBasedAutoScalingDownscalingPtr and EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput values. +// You can construct a concrete instance of `EcsClusterLayerLoadBasedAutoScalingDownscalingPtrInput` via: // -// HaproxyLayerCloudwatchConfigurationLogStreamArray{ HaproxyLayerCloudwatchConfigurationLogStreamArgs{...} } -type HaproxyLayerCloudwatchConfigurationLogStreamArrayInput interface { +// EcsClusterLayerLoadBasedAutoScalingDownscalingArgs{...} +// +// or: +// +// nil +type EcsClusterLayerLoadBasedAutoScalingDownscalingPtrInput interface { pulumi.Input - ToHaproxyLayerCloudwatchConfigurationLogStreamArrayOutput() HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput - ToHaproxyLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput + ToEcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput() EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput + ToEcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Context) EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput } -type HaproxyLayerCloudwatchConfigurationLogStreamArray []HaproxyLayerCloudwatchConfigurationLogStreamInput +type ecsClusterLayerLoadBasedAutoScalingDownscalingPtrType EcsClusterLayerLoadBasedAutoScalingDownscalingArgs -func (HaproxyLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]HaproxyLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func EcsClusterLayerLoadBasedAutoScalingDownscalingPtr(v *EcsClusterLayerLoadBasedAutoScalingDownscalingArgs) EcsClusterLayerLoadBasedAutoScalingDownscalingPtrInput { + return (*ecsClusterLayerLoadBasedAutoScalingDownscalingPtrType)(v) } -func (i HaproxyLayerCloudwatchConfigurationLogStreamArray) ToHaproxyLayerCloudwatchConfigurationLogStreamArrayOutput() HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput { - return i.ToHaproxyLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) +func (*ecsClusterLayerLoadBasedAutoScalingDownscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EcsClusterLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (i HaproxyLayerCloudwatchConfigurationLogStreamArray) ToHaproxyLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput) +func (i *ecsClusterLayerLoadBasedAutoScalingDownscalingPtrType) ToEcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput() EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToEcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) } -type HaproxyLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } +func (i *ecsClusterLayerLoadBasedAutoScalingDownscalingPtrType) ToEcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput) +} -func (HaproxyLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { - return reflect.TypeOf((*HaproxyLayerCloudwatchConfigurationLogStream)(nil)).Elem() +type EcsClusterLayerLoadBasedAutoScalingDownscalingOutput struct{ *pulumi.OutputState } + +func (EcsClusterLayerLoadBasedAutoScalingDownscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EcsClusterLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) ToHaproxyLayerCloudwatchConfigurationLogStreamOutput() HaproxyLayerCloudwatchConfigurationLogStreamOutput { +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingOutput) ToEcsClusterLayerLoadBasedAutoScalingDownscalingOutput() EcsClusterLayerLoadBasedAutoScalingDownscalingOutput { return o } -func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) ToHaproxyLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationLogStreamOutput { +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingOutput) ToEcsClusterLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingDownscalingOutput { return o } -func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingOutput) ToEcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput() EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ToEcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) } -func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingOutput) ToEcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EcsClusterLayerLoadBasedAutoScalingDownscaling) *EcsClusterLayerLoadBasedAutoScalingDownscaling { + return &v + }).(EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput) } -func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { - return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v EcsClusterLayerLoadBasedAutoScalingDownscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) } -func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { - return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v EcsClusterLayerLoadBasedAutoScalingDownscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) } -func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { - return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v EcsClusterLayerLoadBasedAutoScalingDownscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) } -func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { - return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v EcsClusterLayerLoadBasedAutoScalingDownscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) } -func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { - return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v EcsClusterLayerLoadBasedAutoScalingDownscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) } -func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { - return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v EcsClusterLayerLoadBasedAutoScalingDownscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) } -func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { - return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v EcsClusterLayerLoadBasedAutoScalingDownscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) } -func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { - return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) +type EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput struct{ *pulumi.OutputState } + +func (EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EcsClusterLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput) ToEcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput() EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o } -type HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput) ToEcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o +} -func (HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]HaproxyLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput) Elem() EcsClusterLayerLoadBasedAutoScalingDownscalingOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScalingDownscaling) EcsClusterLayerLoadBasedAutoScalingDownscaling { + if v != nil { + return *v + } + var ret EcsClusterLayerLoadBasedAutoScalingDownscaling + return ret + }).(EcsClusterLayerLoadBasedAutoScalingDownscalingOutput) } -func (o HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput) ToHaproxyLayerCloudwatchConfigurationLogStreamArrayOutput() HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput { - return o +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScalingDownscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) } -func (o HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput) ToHaproxyLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput { - return o +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) } -func (o HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) HaproxyLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) HaproxyLayerCloudwatchConfigurationLogStream { - return vs[0].([]HaproxyLayerCloudwatchConfigurationLogStream)[vs[1].(int)] - }).(HaproxyLayerCloudwatchConfigurationLogStreamOutput) +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) } -type HaproxyLayerEbsVolume struct { - Encrypted *bool `pulumi:"encrypted"` - // For PIOPS volumes, the IOPS per disk. - Iops *int `pulumi:"iops"` - // The path to mount the EBS volume on the layer's instances. - MountPoint string `pulumi:"mountPoint"` - // The number of disks to use for the EBS volume. - NumberOfDisks int `pulumi:"numberOfDisks"` - // The RAID level to use for the volume. - RaidLevel *string `pulumi:"raidLevel"` - // The size of the volume in gigabytes. - Size int `pulumi:"size"` - // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - Type *string `pulumi:"type"` +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) } -// HaproxyLayerEbsVolumeInput is an input type that accepts HaproxyLayerEbsVolumeArgs and HaproxyLayerEbsVolumeOutput values. -// You can construct a concrete instance of `HaproxyLayerEbsVolumeInput` via: +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) +} + +type EcsClusterLayerLoadBasedAutoScalingUpscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` +} + +// EcsClusterLayerLoadBasedAutoScalingUpscalingInput is an input type that accepts EcsClusterLayerLoadBasedAutoScalingUpscalingArgs and EcsClusterLayerLoadBasedAutoScalingUpscalingOutput values. +// You can construct a concrete instance of `EcsClusterLayerLoadBasedAutoScalingUpscalingInput` via: // -// HaproxyLayerEbsVolumeArgs{...} -type HaproxyLayerEbsVolumeInput interface { +// EcsClusterLayerLoadBasedAutoScalingUpscalingArgs{...} +type EcsClusterLayerLoadBasedAutoScalingUpscalingInput interface { pulumi.Input - ToHaproxyLayerEbsVolumeOutput() HaproxyLayerEbsVolumeOutput - ToHaproxyLayerEbsVolumeOutputWithContext(context.Context) HaproxyLayerEbsVolumeOutput + ToEcsClusterLayerLoadBasedAutoScalingUpscalingOutput() EcsClusterLayerLoadBasedAutoScalingUpscalingOutput + ToEcsClusterLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Context) EcsClusterLayerLoadBasedAutoScalingUpscalingOutput } -type HaproxyLayerEbsVolumeArgs struct { - Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` - // For PIOPS volumes, the IOPS per disk. - Iops pulumi.IntPtrInput `pulumi:"iops"` - // The path to mount the EBS volume on the layer's instances. - MountPoint pulumi.StringInput `pulumi:"mountPoint"` - // The number of disks to use for the EBS volume. - NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"` - // The RAID level to use for the volume. - RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"` - // The size of the volume in gigabytes. - Size pulumi.IntInput `pulumi:"size"` - // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - Type pulumi.StringPtrInput `pulumi:"type"` +type EcsClusterLayerLoadBasedAutoScalingUpscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` } -func (HaproxyLayerEbsVolumeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*HaproxyLayerEbsVolume)(nil)).Elem() +func (EcsClusterLayerLoadBasedAutoScalingUpscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EcsClusterLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() } -func (i HaproxyLayerEbsVolumeArgs) ToHaproxyLayerEbsVolumeOutput() HaproxyLayerEbsVolumeOutput { - return i.ToHaproxyLayerEbsVolumeOutputWithContext(context.Background()) +func (i EcsClusterLayerLoadBasedAutoScalingUpscalingArgs) ToEcsClusterLayerLoadBasedAutoScalingUpscalingOutput() EcsClusterLayerLoadBasedAutoScalingUpscalingOutput { + return i.ToEcsClusterLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Background()) } -func (i HaproxyLayerEbsVolumeArgs) ToHaproxyLayerEbsVolumeOutputWithContext(ctx context.Context) HaproxyLayerEbsVolumeOutput { - return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerEbsVolumeOutput) +func (i EcsClusterLayerLoadBasedAutoScalingUpscalingArgs) ToEcsClusterLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingUpscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerLoadBasedAutoScalingUpscalingOutput) } -// HaproxyLayerEbsVolumeArrayInput is an input type that accepts HaproxyLayerEbsVolumeArray and HaproxyLayerEbsVolumeArrayOutput values. -// You can construct a concrete instance of `HaproxyLayerEbsVolumeArrayInput` via: +func (i EcsClusterLayerLoadBasedAutoScalingUpscalingArgs) ToEcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput() EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToEcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (i EcsClusterLayerLoadBasedAutoScalingUpscalingArgs) ToEcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerLoadBasedAutoScalingUpscalingOutput).ToEcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx) +} + +// EcsClusterLayerLoadBasedAutoScalingUpscalingPtrInput is an input type that accepts EcsClusterLayerLoadBasedAutoScalingUpscalingArgs, EcsClusterLayerLoadBasedAutoScalingUpscalingPtr and EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput values. +// You can construct a concrete instance of `EcsClusterLayerLoadBasedAutoScalingUpscalingPtrInput` via: // -// HaproxyLayerEbsVolumeArray{ HaproxyLayerEbsVolumeArgs{...} } -type HaproxyLayerEbsVolumeArrayInput interface { +// EcsClusterLayerLoadBasedAutoScalingUpscalingArgs{...} +// +// or: +// +// nil +type EcsClusterLayerLoadBasedAutoScalingUpscalingPtrInput interface { pulumi.Input - ToHaproxyLayerEbsVolumeArrayOutput() HaproxyLayerEbsVolumeArrayOutput - ToHaproxyLayerEbsVolumeArrayOutputWithContext(context.Context) HaproxyLayerEbsVolumeArrayOutput + ToEcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput() EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput + ToEcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Context) EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput } -type HaproxyLayerEbsVolumeArray []HaproxyLayerEbsVolumeInput +type ecsClusterLayerLoadBasedAutoScalingUpscalingPtrType EcsClusterLayerLoadBasedAutoScalingUpscalingArgs -func (HaproxyLayerEbsVolumeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]HaproxyLayerEbsVolume)(nil)).Elem() +func EcsClusterLayerLoadBasedAutoScalingUpscalingPtr(v *EcsClusterLayerLoadBasedAutoScalingUpscalingArgs) EcsClusterLayerLoadBasedAutoScalingUpscalingPtrInput { + return (*ecsClusterLayerLoadBasedAutoScalingUpscalingPtrType)(v) } -func (i HaproxyLayerEbsVolumeArray) ToHaproxyLayerEbsVolumeArrayOutput() HaproxyLayerEbsVolumeArrayOutput { - return i.ToHaproxyLayerEbsVolumeArrayOutputWithContext(context.Background()) +func (*ecsClusterLayerLoadBasedAutoScalingUpscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EcsClusterLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() } -func (i HaproxyLayerEbsVolumeArray) ToHaproxyLayerEbsVolumeArrayOutputWithContext(ctx context.Context) HaproxyLayerEbsVolumeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerEbsVolumeArrayOutput) +func (i *ecsClusterLayerLoadBasedAutoScalingUpscalingPtrType) ToEcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput() EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToEcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) } -type HaproxyLayerEbsVolumeOutput struct{ *pulumi.OutputState } +func (i *ecsClusterLayerLoadBasedAutoScalingUpscalingPtrType) ToEcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput) +} -func (HaproxyLayerEbsVolumeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*HaproxyLayerEbsVolume)(nil)).Elem() +type EcsClusterLayerLoadBasedAutoScalingUpscalingOutput struct{ *pulumi.OutputState } + +func (EcsClusterLayerLoadBasedAutoScalingUpscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EcsClusterLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() } -func (o HaproxyLayerEbsVolumeOutput) ToHaproxyLayerEbsVolumeOutput() HaproxyLayerEbsVolumeOutput { +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingOutput) ToEcsClusterLayerLoadBasedAutoScalingUpscalingOutput() EcsClusterLayerLoadBasedAutoScalingUpscalingOutput { return o } -func (o HaproxyLayerEbsVolumeOutput) ToHaproxyLayerEbsVolumeOutputWithContext(ctx context.Context) HaproxyLayerEbsVolumeOutput { +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingOutput) ToEcsClusterLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingUpscalingOutput { return o } -func (o HaproxyLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v HaproxyLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingOutput) ToEcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput() EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ToEcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) } -// For PIOPS volumes, the IOPS per disk. -func (o HaproxyLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v HaproxyLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingOutput) ToEcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EcsClusterLayerLoadBasedAutoScalingUpscaling) *EcsClusterLayerLoadBasedAutoScalingUpscaling { + return &v + }).(EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput) } -// The path to mount the EBS volume on the layer's instances. -func (o HaproxyLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { - return o.ApplyT(func(v HaproxyLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v EcsClusterLayerLoadBasedAutoScalingUpscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) } -// The number of disks to use for the EBS volume. -func (o HaproxyLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { - return o.ApplyT(func(v HaproxyLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v EcsClusterLayerLoadBasedAutoScalingUpscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) } -// The RAID level to use for the volume. -func (o HaproxyLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { - return o.ApplyT(func(v HaproxyLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v EcsClusterLayerLoadBasedAutoScalingUpscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) } -// The size of the volume in gigabytes. -func (o HaproxyLayerEbsVolumeOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v HaproxyLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v EcsClusterLayerLoadBasedAutoScalingUpscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) } -// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. -func (o HaproxyLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v HaproxyLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v EcsClusterLayerLoadBasedAutoScalingUpscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) } -type HaproxyLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } - -func (HaproxyLayerEbsVolumeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]HaproxyLayerEbsVolume)(nil)).Elem() +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v EcsClusterLayerLoadBasedAutoScalingUpscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) } -func (o HaproxyLayerEbsVolumeArrayOutput) ToHaproxyLayerEbsVolumeArrayOutput() HaproxyLayerEbsVolumeArrayOutput { - return o +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v EcsClusterLayerLoadBasedAutoScalingUpscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) } -func (o HaproxyLayerEbsVolumeArrayOutput) ToHaproxyLayerEbsVolumeArrayOutputWithContext(ctx context.Context) HaproxyLayerEbsVolumeArrayOutput { - return o -} +type EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput struct{ *pulumi.OutputState } -func (o HaproxyLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) HaproxyLayerEbsVolumeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) HaproxyLayerEbsVolume { - return vs[0].([]HaproxyLayerEbsVolume)[vs[1].(int)] - }).(HaproxyLayerEbsVolumeOutput) +func (EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EcsClusterLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() } -type InstanceEbsBlockDevice struct { - DeleteOnTermination *bool `pulumi:"deleteOnTermination"` - DeviceName string `pulumi:"deviceName"` - Iops *int `pulumi:"iops"` - SnapshotId *string `pulumi:"snapshotId"` - VolumeSize *int `pulumi:"volumeSize"` - VolumeType *string `pulumi:"volumeType"` +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput) ToEcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput() EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o } -// InstanceEbsBlockDeviceInput is an input type that accepts InstanceEbsBlockDeviceArgs and InstanceEbsBlockDeviceOutput values. -// You can construct a concrete instance of `InstanceEbsBlockDeviceInput` via: -// -// InstanceEbsBlockDeviceArgs{...} -type InstanceEbsBlockDeviceInput interface { - pulumi.Input - - ToInstanceEbsBlockDeviceOutput() InstanceEbsBlockDeviceOutput - ToInstanceEbsBlockDeviceOutputWithContext(context.Context) InstanceEbsBlockDeviceOutput +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput) ToEcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o } -type InstanceEbsBlockDeviceArgs struct { - DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` - DeviceName pulumi.StringInput `pulumi:"deviceName"` - Iops pulumi.IntPtrInput `pulumi:"iops"` - SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` - VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` - VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput) Elem() EcsClusterLayerLoadBasedAutoScalingUpscalingOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScalingUpscaling) EcsClusterLayerLoadBasedAutoScalingUpscaling { + if v != nil { + return *v + } + var ret EcsClusterLayerLoadBasedAutoScalingUpscaling + return ret + }).(EcsClusterLayerLoadBasedAutoScalingUpscalingOutput) } -func (InstanceEbsBlockDeviceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceEbsBlockDevice)(nil)).Elem() +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScalingUpscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) } -func (i InstanceEbsBlockDeviceArgs) ToInstanceEbsBlockDeviceOutput() InstanceEbsBlockDeviceOutput { - return i.ToInstanceEbsBlockDeviceOutputWithContext(context.Background()) +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) } -func (i InstanceEbsBlockDeviceArgs) ToInstanceEbsBlockDeviceOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceEbsBlockDeviceOutput) +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) } -// InstanceEbsBlockDeviceArrayInput is an input type that accepts InstanceEbsBlockDeviceArray and InstanceEbsBlockDeviceArrayOutput values. -// You can construct a concrete instance of `InstanceEbsBlockDeviceArrayInput` via: -// -// InstanceEbsBlockDeviceArray{ InstanceEbsBlockDeviceArgs{...} } -type InstanceEbsBlockDeviceArrayInput interface { - pulumi.Input - - ToInstanceEbsBlockDeviceArrayOutput() InstanceEbsBlockDeviceArrayOutput - ToInstanceEbsBlockDeviceArrayOutputWithContext(context.Context) InstanceEbsBlockDeviceArrayOutput +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) } -type InstanceEbsBlockDeviceArray []InstanceEbsBlockDeviceInput - -func (InstanceEbsBlockDeviceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]InstanceEbsBlockDevice)(nil)).Elem() +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) } -func (i InstanceEbsBlockDeviceArray) ToInstanceEbsBlockDeviceArrayOutput() InstanceEbsBlockDeviceArrayOutput { - return i.ToInstanceEbsBlockDeviceArrayOutputWithContext(context.Background()) +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) } -func (i InstanceEbsBlockDeviceArray) ToInstanceEbsBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceEbsBlockDeviceArrayOutput) +func (o EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EcsClusterLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) } -type InstanceEbsBlockDeviceOutput struct{ *pulumi.OutputState } - -func (InstanceEbsBlockDeviceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceEbsBlockDevice)(nil)).Elem() +type GangliaLayerCloudwatchConfiguration struct { + Enabled *bool `pulumi:"enabled"` + LogStreams []GangliaLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` } -func (o InstanceEbsBlockDeviceOutput) ToInstanceEbsBlockDeviceOutput() InstanceEbsBlockDeviceOutput { - return o -} +// GangliaLayerCloudwatchConfigurationInput is an input type that accepts GangliaLayerCloudwatchConfigurationArgs and GangliaLayerCloudwatchConfigurationOutput values. +// You can construct a concrete instance of `GangliaLayerCloudwatchConfigurationInput` via: +// +// GangliaLayerCloudwatchConfigurationArgs{...} +type GangliaLayerCloudwatchConfigurationInput interface { + pulumi.Input -func (o InstanceEbsBlockDeviceOutput) ToInstanceEbsBlockDeviceOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceOutput { - return o + ToGangliaLayerCloudwatchConfigurationOutput() GangliaLayerCloudwatchConfigurationOutput + ToGangliaLayerCloudwatchConfigurationOutputWithContext(context.Context) GangliaLayerCloudwatchConfigurationOutput } -func (o InstanceEbsBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +type GangliaLayerCloudwatchConfigurationArgs struct { + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + LogStreams GangliaLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` } -func (o InstanceEbsBlockDeviceOutput) DeviceName() pulumi.StringOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) +func (GangliaLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GangliaLayerCloudwatchConfiguration)(nil)).Elem() } -func (o InstanceEbsBlockDeviceOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) +func (i GangliaLayerCloudwatchConfigurationArgs) ToGangliaLayerCloudwatchConfigurationOutput() GangliaLayerCloudwatchConfigurationOutput { + return i.ToGangliaLayerCloudwatchConfigurationOutputWithContext(context.Background()) } -func (o InstanceEbsBlockDeviceOutput) SnapshotId() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) +func (i GangliaLayerCloudwatchConfigurationArgs) ToGangliaLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerCloudwatchConfigurationOutput) } -func (o InstanceEbsBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) +func (i GangliaLayerCloudwatchConfigurationArgs) ToGangliaLayerCloudwatchConfigurationPtrOutput() GangliaLayerCloudwatchConfigurationPtrOutput { + return i.ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) } -func (o InstanceEbsBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) +func (i GangliaLayerCloudwatchConfigurationArgs) ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerCloudwatchConfigurationOutput).ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(ctx) } -type InstanceEbsBlockDeviceArrayOutput struct{ *pulumi.OutputState } +// GangliaLayerCloudwatchConfigurationPtrInput is an input type that accepts GangliaLayerCloudwatchConfigurationArgs, GangliaLayerCloudwatchConfigurationPtr and GangliaLayerCloudwatchConfigurationPtrOutput values. +// You can construct a concrete instance of `GangliaLayerCloudwatchConfigurationPtrInput` via: +// +// GangliaLayerCloudwatchConfigurationArgs{...} +// +// or: +// +// nil +type GangliaLayerCloudwatchConfigurationPtrInput interface { + pulumi.Input -func (InstanceEbsBlockDeviceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]InstanceEbsBlockDevice)(nil)).Elem() + ToGangliaLayerCloudwatchConfigurationPtrOutput() GangliaLayerCloudwatchConfigurationPtrOutput + ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) GangliaLayerCloudwatchConfigurationPtrOutput } -func (o InstanceEbsBlockDeviceArrayOutput) ToInstanceEbsBlockDeviceArrayOutput() InstanceEbsBlockDeviceArrayOutput { - return o -} +type gangliaLayerCloudwatchConfigurationPtrType GangliaLayerCloudwatchConfigurationArgs -func (o InstanceEbsBlockDeviceArrayOutput) ToInstanceEbsBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceArrayOutput { - return o +func GangliaLayerCloudwatchConfigurationPtr(v *GangliaLayerCloudwatchConfigurationArgs) GangliaLayerCloudwatchConfigurationPtrInput { + return (*gangliaLayerCloudwatchConfigurationPtrType)(v) } -func (o InstanceEbsBlockDeviceArrayOutput) Index(i pulumi.IntInput) InstanceEbsBlockDeviceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceEbsBlockDevice { - return vs[0].([]InstanceEbsBlockDevice)[vs[1].(int)] - }).(InstanceEbsBlockDeviceOutput) +func (*gangliaLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GangliaLayerCloudwatchConfiguration)(nil)).Elem() } -type InstanceEphemeralBlockDevice struct { - DeviceName string `pulumi:"deviceName"` - VirtualName string `pulumi:"virtualName"` +func (i *gangliaLayerCloudwatchConfigurationPtrType) ToGangliaLayerCloudwatchConfigurationPtrOutput() GangliaLayerCloudwatchConfigurationPtrOutput { + return i.ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) } -// InstanceEphemeralBlockDeviceInput is an input type that accepts InstanceEphemeralBlockDeviceArgs and InstanceEphemeralBlockDeviceOutput values. -// You can construct a concrete instance of `InstanceEphemeralBlockDeviceInput` via: -// -// InstanceEphemeralBlockDeviceArgs{...} -type InstanceEphemeralBlockDeviceInput interface { - pulumi.Input - - ToInstanceEphemeralBlockDeviceOutput() InstanceEphemeralBlockDeviceOutput - ToInstanceEphemeralBlockDeviceOutputWithContext(context.Context) InstanceEphemeralBlockDeviceOutput +func (i *gangliaLayerCloudwatchConfigurationPtrType) ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerCloudwatchConfigurationPtrOutput) } -type InstanceEphemeralBlockDeviceArgs struct { - DeviceName pulumi.StringInput `pulumi:"deviceName"` - VirtualName pulumi.StringInput `pulumi:"virtualName"` -} +type GangliaLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } -func (InstanceEphemeralBlockDeviceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceEphemeralBlockDevice)(nil)).Elem() +func (GangliaLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GangliaLayerCloudwatchConfiguration)(nil)).Elem() } -func (i InstanceEphemeralBlockDeviceArgs) ToInstanceEphemeralBlockDeviceOutput() InstanceEphemeralBlockDeviceOutput { - return i.ToInstanceEphemeralBlockDeviceOutputWithContext(context.Background()) +func (o GangliaLayerCloudwatchConfigurationOutput) ToGangliaLayerCloudwatchConfigurationOutput() GangliaLayerCloudwatchConfigurationOutput { + return o } -func (i InstanceEphemeralBlockDeviceArgs) ToInstanceEphemeralBlockDeviceOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceEphemeralBlockDeviceOutput) +func (o GangliaLayerCloudwatchConfigurationOutput) ToGangliaLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationOutput { + return o } -// InstanceEphemeralBlockDeviceArrayInput is an input type that accepts InstanceEphemeralBlockDeviceArray and InstanceEphemeralBlockDeviceArrayOutput values. -// You can construct a concrete instance of `InstanceEphemeralBlockDeviceArrayInput` via: -// -// InstanceEphemeralBlockDeviceArray{ InstanceEphemeralBlockDeviceArgs{...} } -type InstanceEphemeralBlockDeviceArrayInput interface { - pulumi.Input - - ToInstanceEphemeralBlockDeviceArrayOutput() InstanceEphemeralBlockDeviceArrayOutput - ToInstanceEphemeralBlockDeviceArrayOutputWithContext(context.Context) InstanceEphemeralBlockDeviceArrayOutput +func (o GangliaLayerCloudwatchConfigurationOutput) ToGangliaLayerCloudwatchConfigurationPtrOutput() GangliaLayerCloudwatchConfigurationPtrOutput { + return o.ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) } -type InstanceEphemeralBlockDeviceArray []InstanceEphemeralBlockDeviceInput - -func (InstanceEphemeralBlockDeviceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]InstanceEphemeralBlockDevice)(nil)).Elem() +func (o GangliaLayerCloudwatchConfigurationOutput) ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GangliaLayerCloudwatchConfiguration) *GangliaLayerCloudwatchConfiguration { + return &v + }).(GangliaLayerCloudwatchConfigurationPtrOutput) } -func (i InstanceEphemeralBlockDeviceArray) ToInstanceEphemeralBlockDeviceArrayOutput() InstanceEphemeralBlockDeviceArrayOutput { - return i.ToInstanceEphemeralBlockDeviceArrayOutputWithContext(context.Background()) +func (o GangliaLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GangliaLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -func (i InstanceEphemeralBlockDeviceArray) ToInstanceEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceEphemeralBlockDeviceArrayOutput) +func (o GangliaLayerCloudwatchConfigurationOutput) LogStreams() GangliaLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v GangliaLayerCloudwatchConfiguration) []GangliaLayerCloudwatchConfigurationLogStream { + return v.LogStreams + }).(GangliaLayerCloudwatchConfigurationLogStreamArrayOutput) } -type InstanceEphemeralBlockDeviceOutput struct{ *pulumi.OutputState } +type GangliaLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } -func (InstanceEphemeralBlockDeviceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceEphemeralBlockDevice)(nil)).Elem() +func (GangliaLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GangliaLayerCloudwatchConfiguration)(nil)).Elem() } -func (o InstanceEphemeralBlockDeviceOutput) ToInstanceEphemeralBlockDeviceOutput() InstanceEphemeralBlockDeviceOutput { +func (o GangliaLayerCloudwatchConfigurationPtrOutput) ToGangliaLayerCloudwatchConfigurationPtrOutput() GangliaLayerCloudwatchConfigurationPtrOutput { return o } -func (o InstanceEphemeralBlockDeviceOutput) ToInstanceEphemeralBlockDeviceOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceOutput { +func (o GangliaLayerCloudwatchConfigurationPtrOutput) ToGangliaLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationPtrOutput { return o } -func (o InstanceEphemeralBlockDeviceOutput) DeviceName() pulumi.StringOutput { - return o.ApplyT(func(v InstanceEphemeralBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) +func (o GangliaLayerCloudwatchConfigurationPtrOutput) Elem() GangliaLayerCloudwatchConfigurationOutput { + return o.ApplyT(func(v *GangliaLayerCloudwatchConfiguration) GangliaLayerCloudwatchConfiguration { + if v != nil { + return *v + } + var ret GangliaLayerCloudwatchConfiguration + return ret + }).(GangliaLayerCloudwatchConfigurationOutput) } -func (o InstanceEphemeralBlockDeviceOutput) VirtualName() pulumi.StringOutput { - return o.ApplyT(func(v InstanceEphemeralBlockDevice) string { return v.VirtualName }).(pulumi.StringOutput) +func (o GangliaLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GangliaLayerCloudwatchConfiguration) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) } -type InstanceEphemeralBlockDeviceArrayOutput struct{ *pulumi.OutputState } - -func (InstanceEphemeralBlockDeviceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]InstanceEphemeralBlockDevice)(nil)).Elem() -} - -func (o InstanceEphemeralBlockDeviceArrayOutput) ToInstanceEphemeralBlockDeviceArrayOutput() InstanceEphemeralBlockDeviceArrayOutput { - return o -} - -func (o InstanceEphemeralBlockDeviceArrayOutput) ToInstanceEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceArrayOutput { - return o -} - -func (o InstanceEphemeralBlockDeviceArrayOutput) Index(i pulumi.IntInput) InstanceEphemeralBlockDeviceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceEphemeralBlockDevice { - return vs[0].([]InstanceEphemeralBlockDevice)[vs[1].(int)] - }).(InstanceEphemeralBlockDeviceOutput) +func (o GangliaLayerCloudwatchConfigurationPtrOutput) LogStreams() GangliaLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v *GangliaLayerCloudwatchConfiguration) []GangliaLayerCloudwatchConfigurationLogStream { + if v == nil { + return nil + } + return v.LogStreams + }).(GangliaLayerCloudwatchConfigurationLogStreamArrayOutput) } -type InstanceRootBlockDevice struct { - DeleteOnTermination *bool `pulumi:"deleteOnTermination"` - Iops *int `pulumi:"iops"` - VolumeSize *int `pulumi:"volumeSize"` - VolumeType *string `pulumi:"volumeType"` +type GangliaLayerCloudwatchConfigurationLogStream struct { + BatchCount *int `pulumi:"batchCount"` + BatchSize *int `pulumi:"batchSize"` + BufferDuration *int `pulumi:"bufferDuration"` + DatetimeFormat *string `pulumi:"datetimeFormat"` + Encoding *string `pulumi:"encoding"` + File string `pulumi:"file"` + FileFingerprintLines *string `pulumi:"fileFingerprintLines"` + InitialPosition *string `pulumi:"initialPosition"` + LogGroupName string `pulumi:"logGroupName"` + MultilineStartPattern *string `pulumi:"multilineStartPattern"` + TimeZone *string `pulumi:"timeZone"` } -// InstanceRootBlockDeviceInput is an input type that accepts InstanceRootBlockDeviceArgs and InstanceRootBlockDeviceOutput values. -// You can construct a concrete instance of `InstanceRootBlockDeviceInput` via: +// GangliaLayerCloudwatchConfigurationLogStreamInput is an input type that accepts GangliaLayerCloudwatchConfigurationLogStreamArgs and GangliaLayerCloudwatchConfigurationLogStreamOutput values. +// You can construct a concrete instance of `GangliaLayerCloudwatchConfigurationLogStreamInput` via: // -// InstanceRootBlockDeviceArgs{...} -type InstanceRootBlockDeviceInput interface { +// GangliaLayerCloudwatchConfigurationLogStreamArgs{...} +type GangliaLayerCloudwatchConfigurationLogStreamInput interface { pulumi.Input - ToInstanceRootBlockDeviceOutput() InstanceRootBlockDeviceOutput - ToInstanceRootBlockDeviceOutputWithContext(context.Context) InstanceRootBlockDeviceOutput + ToGangliaLayerCloudwatchConfigurationLogStreamOutput() GangliaLayerCloudwatchConfigurationLogStreamOutput + ToGangliaLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) GangliaLayerCloudwatchConfigurationLogStreamOutput } -type InstanceRootBlockDeviceArgs struct { - DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` - Iops pulumi.IntPtrInput `pulumi:"iops"` - VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` - VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` +type GangliaLayerCloudwatchConfigurationLogStreamArgs struct { + BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` + BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` + BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` + DatetimeFormat pulumi.StringPtrInput `pulumi:"datetimeFormat"` + Encoding pulumi.StringPtrInput `pulumi:"encoding"` + File pulumi.StringInput `pulumi:"file"` + FileFingerprintLines pulumi.StringPtrInput `pulumi:"fileFingerprintLines"` + InitialPosition pulumi.StringPtrInput `pulumi:"initialPosition"` + LogGroupName pulumi.StringInput `pulumi:"logGroupName"` + MultilineStartPattern pulumi.StringPtrInput `pulumi:"multilineStartPattern"` + TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` } -func (InstanceRootBlockDeviceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceRootBlockDevice)(nil)).Elem() +func (GangliaLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GangliaLayerCloudwatchConfigurationLogStream)(nil)).Elem() } -func (i InstanceRootBlockDeviceArgs) ToInstanceRootBlockDeviceOutput() InstanceRootBlockDeviceOutput { - return i.ToInstanceRootBlockDeviceOutputWithContext(context.Background()) +func (i GangliaLayerCloudwatchConfigurationLogStreamArgs) ToGangliaLayerCloudwatchConfigurationLogStreamOutput() GangliaLayerCloudwatchConfigurationLogStreamOutput { + return i.ToGangliaLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) } -func (i InstanceRootBlockDeviceArgs) ToInstanceRootBlockDeviceOutputWithContext(ctx context.Context) InstanceRootBlockDeviceOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceRootBlockDeviceOutput) +func (i GangliaLayerCloudwatchConfigurationLogStreamArgs) ToGangliaLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerCloudwatchConfigurationLogStreamOutput) } -// InstanceRootBlockDeviceArrayInput is an input type that accepts InstanceRootBlockDeviceArray and InstanceRootBlockDeviceArrayOutput values. -// You can construct a concrete instance of `InstanceRootBlockDeviceArrayInput` via: +// GangliaLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts GangliaLayerCloudwatchConfigurationLogStreamArray and GangliaLayerCloudwatchConfigurationLogStreamArrayOutput values. +// You can construct a concrete instance of `GangliaLayerCloudwatchConfigurationLogStreamArrayInput` via: // -// InstanceRootBlockDeviceArray{ InstanceRootBlockDeviceArgs{...} } -type InstanceRootBlockDeviceArrayInput interface { +// GangliaLayerCloudwatchConfigurationLogStreamArray{ GangliaLayerCloudwatchConfigurationLogStreamArgs{...} } +type GangliaLayerCloudwatchConfigurationLogStreamArrayInput interface { pulumi.Input - ToInstanceRootBlockDeviceArrayOutput() InstanceRootBlockDeviceArrayOutput - ToInstanceRootBlockDeviceArrayOutputWithContext(context.Context) InstanceRootBlockDeviceArrayOutput + ToGangliaLayerCloudwatchConfigurationLogStreamArrayOutput() GangliaLayerCloudwatchConfigurationLogStreamArrayOutput + ToGangliaLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) GangliaLayerCloudwatchConfigurationLogStreamArrayOutput } -type InstanceRootBlockDeviceArray []InstanceRootBlockDeviceInput +type GangliaLayerCloudwatchConfigurationLogStreamArray []GangliaLayerCloudwatchConfigurationLogStreamInput -func (InstanceRootBlockDeviceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]InstanceRootBlockDevice)(nil)).Elem() +func (GangliaLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GangliaLayerCloudwatchConfigurationLogStream)(nil)).Elem() } -func (i InstanceRootBlockDeviceArray) ToInstanceRootBlockDeviceArrayOutput() InstanceRootBlockDeviceArrayOutput { - return i.ToInstanceRootBlockDeviceArrayOutputWithContext(context.Background()) +func (i GangliaLayerCloudwatchConfigurationLogStreamArray) ToGangliaLayerCloudwatchConfigurationLogStreamArrayOutput() GangliaLayerCloudwatchConfigurationLogStreamArrayOutput { + return i.ToGangliaLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) } -func (i InstanceRootBlockDeviceArray) ToInstanceRootBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceRootBlockDeviceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceRootBlockDeviceArrayOutput) +func (i GangliaLayerCloudwatchConfigurationLogStreamArray) ToGangliaLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationLogStreamArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerCloudwatchConfigurationLogStreamArrayOutput) } -type InstanceRootBlockDeviceOutput struct{ *pulumi.OutputState } +type GangliaLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } -func (InstanceRootBlockDeviceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceRootBlockDevice)(nil)).Elem() +func (GangliaLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GangliaLayerCloudwatchConfigurationLogStream)(nil)).Elem() } -func (o InstanceRootBlockDeviceOutput) ToInstanceRootBlockDeviceOutput() InstanceRootBlockDeviceOutput { +func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) ToGangliaLayerCloudwatchConfigurationLogStreamOutput() GangliaLayerCloudwatchConfigurationLogStreamOutput { return o } -func (o InstanceRootBlockDeviceOutput) ToInstanceRootBlockDeviceOutputWithContext(ctx context.Context) InstanceRootBlockDeviceOutput { +func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) ToGangliaLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationLogStreamOutput { return o } -func (o InstanceRootBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v InstanceRootBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) } -func (o InstanceRootBlockDeviceOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v InstanceRootBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) +func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) } -func (o InstanceRootBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v InstanceRootBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) +func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) } -func (o InstanceRootBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceRootBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) +func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) } -type InstanceRootBlockDeviceArrayOutput struct{ *pulumi.OutputState } - -func (InstanceRootBlockDeviceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]InstanceRootBlockDevice)(nil)).Elem() +func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) } -func (o InstanceRootBlockDeviceArrayOutput) ToInstanceRootBlockDeviceArrayOutput() InstanceRootBlockDeviceArrayOutput { - return o +func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { + return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) } -func (o InstanceRootBlockDeviceArrayOutput) ToInstanceRootBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceRootBlockDeviceArrayOutput { - return o +func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { + return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) } -func (o InstanceRootBlockDeviceArrayOutput) Index(i pulumi.IntInput) InstanceRootBlockDeviceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceRootBlockDevice { - return vs[0].([]InstanceRootBlockDevice)[vs[1].(int)] - }).(InstanceRootBlockDeviceOutput) +func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { + return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) } -type JavaAppLayerCloudwatchConfiguration struct { - Enabled *bool `pulumi:"enabled"` - LogStreams []JavaAppLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { + return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) } -// JavaAppLayerCloudwatchConfigurationInput is an input type that accepts JavaAppLayerCloudwatchConfigurationArgs and JavaAppLayerCloudwatchConfigurationOutput values. -// You can construct a concrete instance of `JavaAppLayerCloudwatchConfigurationInput` via: -// -// JavaAppLayerCloudwatchConfigurationArgs{...} -type JavaAppLayerCloudwatchConfigurationInput interface { - pulumi.Input - - ToJavaAppLayerCloudwatchConfigurationOutput() JavaAppLayerCloudwatchConfigurationOutput - ToJavaAppLayerCloudwatchConfigurationOutputWithContext(context.Context) JavaAppLayerCloudwatchConfigurationOutput +func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) } -type JavaAppLayerCloudwatchConfigurationArgs struct { - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - LogStreams JavaAppLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` +func (o GangliaLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v GangliaLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) } -func (JavaAppLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*JavaAppLayerCloudwatchConfiguration)(nil)).Elem() +type GangliaLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } + +func (GangliaLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GangliaLayerCloudwatchConfigurationLogStream)(nil)).Elem() } -func (i JavaAppLayerCloudwatchConfigurationArgs) ToJavaAppLayerCloudwatchConfigurationOutput() JavaAppLayerCloudwatchConfigurationOutput { - return i.ToJavaAppLayerCloudwatchConfigurationOutputWithContext(context.Background()) +func (o GangliaLayerCloudwatchConfigurationLogStreamArrayOutput) ToGangliaLayerCloudwatchConfigurationLogStreamArrayOutput() GangliaLayerCloudwatchConfigurationLogStreamArrayOutput { + return o } -func (i JavaAppLayerCloudwatchConfigurationArgs) ToJavaAppLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerCloudwatchConfigurationOutput) +func (o GangliaLayerCloudwatchConfigurationLogStreamArrayOutput) ToGangliaLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) GangliaLayerCloudwatchConfigurationLogStreamArrayOutput { + return o } -func (i JavaAppLayerCloudwatchConfigurationArgs) ToJavaAppLayerCloudwatchConfigurationPtrOutput() JavaAppLayerCloudwatchConfigurationPtrOutput { - return i.ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (o GangliaLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) GangliaLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GangliaLayerCloudwatchConfigurationLogStream { + return vs[0].([]GangliaLayerCloudwatchConfigurationLogStream)[vs[1].(int)] + }).(GangliaLayerCloudwatchConfigurationLogStreamOutput) } -func (i JavaAppLayerCloudwatchConfigurationArgs) ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerCloudwatchConfigurationOutput).ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx) +type GangliaLayerEbsVolume struct { + Encrypted *bool `pulumi:"encrypted"` + // For PIOPS volumes, the IOPS per disk. + Iops *int `pulumi:"iops"` + // The path to mount the EBS volume on the layer's instances. + MountPoint string `pulumi:"mountPoint"` + // The number of disks to use for the EBS volume. + NumberOfDisks int `pulumi:"numberOfDisks"` + // The RAID level to use for the volume. + RaidLevel *string `pulumi:"raidLevel"` + // The size of the volume in gigabytes. + Size int `pulumi:"size"` + // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + Type *string `pulumi:"type"` } -// JavaAppLayerCloudwatchConfigurationPtrInput is an input type that accepts JavaAppLayerCloudwatchConfigurationArgs, JavaAppLayerCloudwatchConfigurationPtr and JavaAppLayerCloudwatchConfigurationPtrOutput values. -// You can construct a concrete instance of `JavaAppLayerCloudwatchConfigurationPtrInput` via: -// -// JavaAppLayerCloudwatchConfigurationArgs{...} -// -// or: +// GangliaLayerEbsVolumeInput is an input type that accepts GangliaLayerEbsVolumeArgs and GangliaLayerEbsVolumeOutput values. +// You can construct a concrete instance of `GangliaLayerEbsVolumeInput` via: // -// nil -type JavaAppLayerCloudwatchConfigurationPtrInput interface { +// GangliaLayerEbsVolumeArgs{...} +type GangliaLayerEbsVolumeInput interface { pulumi.Input - ToJavaAppLayerCloudwatchConfigurationPtrOutput() JavaAppLayerCloudwatchConfigurationPtrOutput - ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) JavaAppLayerCloudwatchConfigurationPtrOutput + ToGangliaLayerEbsVolumeOutput() GangliaLayerEbsVolumeOutput + ToGangliaLayerEbsVolumeOutputWithContext(context.Context) GangliaLayerEbsVolumeOutput } -type javaAppLayerCloudwatchConfigurationPtrType JavaAppLayerCloudwatchConfigurationArgs +type GangliaLayerEbsVolumeArgs struct { + Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` + // For PIOPS volumes, the IOPS per disk. + Iops pulumi.IntPtrInput `pulumi:"iops"` + // The path to mount the EBS volume on the layer's instances. + MountPoint pulumi.StringInput `pulumi:"mountPoint"` + // The number of disks to use for the EBS volume. + NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"` + // The RAID level to use for the volume. + RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"` + // The size of the volume in gigabytes. + Size pulumi.IntInput `pulumi:"size"` + // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + Type pulumi.StringPtrInput `pulumi:"type"` +} -func JavaAppLayerCloudwatchConfigurationPtr(v *JavaAppLayerCloudwatchConfigurationArgs) JavaAppLayerCloudwatchConfigurationPtrInput { - return (*javaAppLayerCloudwatchConfigurationPtrType)(v) +func (GangliaLayerEbsVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GangliaLayerEbsVolume)(nil)).Elem() } -func (*javaAppLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**JavaAppLayerCloudwatchConfiguration)(nil)).Elem() +func (i GangliaLayerEbsVolumeArgs) ToGangliaLayerEbsVolumeOutput() GangliaLayerEbsVolumeOutput { + return i.ToGangliaLayerEbsVolumeOutputWithContext(context.Background()) } -func (i *javaAppLayerCloudwatchConfigurationPtrType) ToJavaAppLayerCloudwatchConfigurationPtrOutput() JavaAppLayerCloudwatchConfigurationPtrOutput { - return i.ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (i GangliaLayerEbsVolumeArgs) ToGangliaLayerEbsVolumeOutputWithContext(ctx context.Context) GangliaLayerEbsVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerEbsVolumeOutput) } -func (i *javaAppLayerCloudwatchConfigurationPtrType) ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerCloudwatchConfigurationPtrOutput) +// GangliaLayerEbsVolumeArrayInput is an input type that accepts GangliaLayerEbsVolumeArray and GangliaLayerEbsVolumeArrayOutput values. +// You can construct a concrete instance of `GangliaLayerEbsVolumeArrayInput` via: +// +// GangliaLayerEbsVolumeArray{ GangliaLayerEbsVolumeArgs{...} } +type GangliaLayerEbsVolumeArrayInput interface { + pulumi.Input + + ToGangliaLayerEbsVolumeArrayOutput() GangliaLayerEbsVolumeArrayOutput + ToGangliaLayerEbsVolumeArrayOutputWithContext(context.Context) GangliaLayerEbsVolumeArrayOutput } -type JavaAppLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } +type GangliaLayerEbsVolumeArray []GangliaLayerEbsVolumeInput -func (JavaAppLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*JavaAppLayerCloudwatchConfiguration)(nil)).Elem() +func (GangliaLayerEbsVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GangliaLayerEbsVolume)(nil)).Elem() } -func (o JavaAppLayerCloudwatchConfigurationOutput) ToJavaAppLayerCloudwatchConfigurationOutput() JavaAppLayerCloudwatchConfigurationOutput { +func (i GangliaLayerEbsVolumeArray) ToGangliaLayerEbsVolumeArrayOutput() GangliaLayerEbsVolumeArrayOutput { + return i.ToGangliaLayerEbsVolumeArrayOutputWithContext(context.Background()) +} + +func (i GangliaLayerEbsVolumeArray) ToGangliaLayerEbsVolumeArrayOutputWithContext(ctx context.Context) GangliaLayerEbsVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerEbsVolumeArrayOutput) +} + +type GangliaLayerEbsVolumeOutput struct{ *pulumi.OutputState } + +func (GangliaLayerEbsVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GangliaLayerEbsVolume)(nil)).Elem() +} + +func (o GangliaLayerEbsVolumeOutput) ToGangliaLayerEbsVolumeOutput() GangliaLayerEbsVolumeOutput { return o } -func (o JavaAppLayerCloudwatchConfigurationOutput) ToJavaAppLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationOutput { +func (o GangliaLayerEbsVolumeOutput) ToGangliaLayerEbsVolumeOutputWithContext(ctx context.Context) GangliaLayerEbsVolumeOutput { return o } -func (o JavaAppLayerCloudwatchConfigurationOutput) ToJavaAppLayerCloudwatchConfigurationPtrOutput() JavaAppLayerCloudwatchConfigurationPtrOutput { - return o.ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (o GangliaLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GangliaLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) } -func (o JavaAppLayerCloudwatchConfigurationOutput) ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v JavaAppLayerCloudwatchConfiguration) *JavaAppLayerCloudwatchConfiguration { - return &v - }).(JavaAppLayerCloudwatchConfigurationPtrOutput) +// For PIOPS volumes, the IOPS per disk. +func (o GangliaLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v GangliaLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) } -func (o JavaAppLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v JavaAppLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +// The path to mount the EBS volume on the layer's instances. +func (o GangliaLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { + return o.ApplyT(func(v GangliaLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) } -func (o JavaAppLayerCloudwatchConfigurationOutput) LogStreams() JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v JavaAppLayerCloudwatchConfiguration) []JavaAppLayerCloudwatchConfigurationLogStream { - return v.LogStreams - }).(JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput) +// The number of disks to use for the EBS volume. +func (o GangliaLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { + return o.ApplyT(func(v GangliaLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) } -type JavaAppLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } +// The RAID level to use for the volume. +func (o GangliaLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v GangliaLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) +} -func (JavaAppLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**JavaAppLayerCloudwatchConfiguration)(nil)).Elem() +// The size of the volume in gigabytes. +func (o GangliaLayerEbsVolumeOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GangliaLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) } -func (o JavaAppLayerCloudwatchConfigurationPtrOutput) ToJavaAppLayerCloudwatchConfigurationPtrOutput() JavaAppLayerCloudwatchConfigurationPtrOutput { - return o +// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. +func (o GangliaLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v GangliaLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) } -func (o JavaAppLayerCloudwatchConfigurationPtrOutput) ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationPtrOutput { - return o +type GangliaLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } + +func (GangliaLayerEbsVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GangliaLayerEbsVolume)(nil)).Elem() } -func (o JavaAppLayerCloudwatchConfigurationPtrOutput) Elem() JavaAppLayerCloudwatchConfigurationOutput { - return o.ApplyT(func(v *JavaAppLayerCloudwatchConfiguration) JavaAppLayerCloudwatchConfiguration { - if v != nil { - return *v - } - var ret JavaAppLayerCloudwatchConfiguration - return ret - }).(JavaAppLayerCloudwatchConfigurationOutput) +func (o GangliaLayerEbsVolumeArrayOutput) ToGangliaLayerEbsVolumeArrayOutput() GangliaLayerEbsVolumeArrayOutput { + return o } -func (o JavaAppLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *JavaAppLayerCloudwatchConfiguration) *bool { - if v == nil { - return nil - } - return v.Enabled - }).(pulumi.BoolPtrOutput) +func (o GangliaLayerEbsVolumeArrayOutput) ToGangliaLayerEbsVolumeArrayOutputWithContext(ctx context.Context) GangliaLayerEbsVolumeArrayOutput { + return o } -func (o JavaAppLayerCloudwatchConfigurationPtrOutput) LogStreams() JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v *JavaAppLayerCloudwatchConfiguration) []JavaAppLayerCloudwatchConfigurationLogStream { - if v == nil { - return nil - } - return v.LogStreams - }).(JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput) +func (o GangliaLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) GangliaLayerEbsVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GangliaLayerEbsVolume { + return vs[0].([]GangliaLayerEbsVolume)[vs[1].(int)] + }).(GangliaLayerEbsVolumeOutput) } -type JavaAppLayerCloudwatchConfigurationLogStream struct { - BatchCount *int `pulumi:"batchCount"` - BatchSize *int `pulumi:"batchSize"` - BufferDuration *int `pulumi:"bufferDuration"` - DatetimeFormat *string `pulumi:"datetimeFormat"` - Encoding *string `pulumi:"encoding"` - File string `pulumi:"file"` - FileFingerprintLines *string `pulumi:"fileFingerprintLines"` - InitialPosition *string `pulumi:"initialPosition"` - LogGroupName string `pulumi:"logGroupName"` - MultilineStartPattern *string `pulumi:"multilineStartPattern"` - TimeZone *string `pulumi:"timeZone"` +type GangliaLayerLoadBasedAutoScaling struct { + Downscaling *GangliaLayerLoadBasedAutoScalingDownscaling `pulumi:"downscaling"` + Enable *bool `pulumi:"enable"` + Upscaling *GangliaLayerLoadBasedAutoScalingUpscaling `pulumi:"upscaling"` } -// JavaAppLayerCloudwatchConfigurationLogStreamInput is an input type that accepts JavaAppLayerCloudwatchConfigurationLogStreamArgs and JavaAppLayerCloudwatchConfigurationLogStreamOutput values. -// You can construct a concrete instance of `JavaAppLayerCloudwatchConfigurationLogStreamInput` via: +// GangliaLayerLoadBasedAutoScalingInput is an input type that accepts GangliaLayerLoadBasedAutoScalingArgs and GangliaLayerLoadBasedAutoScalingOutput values. +// You can construct a concrete instance of `GangliaLayerLoadBasedAutoScalingInput` via: // -// JavaAppLayerCloudwatchConfigurationLogStreamArgs{...} -type JavaAppLayerCloudwatchConfigurationLogStreamInput interface { +// GangliaLayerLoadBasedAutoScalingArgs{...} +type GangliaLayerLoadBasedAutoScalingInput interface { pulumi.Input - ToJavaAppLayerCloudwatchConfigurationLogStreamOutput() JavaAppLayerCloudwatchConfigurationLogStreamOutput - ToJavaAppLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) JavaAppLayerCloudwatchConfigurationLogStreamOutput + ToGangliaLayerLoadBasedAutoScalingOutput() GangliaLayerLoadBasedAutoScalingOutput + ToGangliaLayerLoadBasedAutoScalingOutputWithContext(context.Context) GangliaLayerLoadBasedAutoScalingOutput } -type JavaAppLayerCloudwatchConfigurationLogStreamArgs struct { - BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` - BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` - BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` - DatetimeFormat pulumi.StringPtrInput `pulumi:"datetimeFormat"` - Encoding pulumi.StringPtrInput `pulumi:"encoding"` - File pulumi.StringInput `pulumi:"file"` - FileFingerprintLines pulumi.StringPtrInput `pulumi:"fileFingerprintLines"` - InitialPosition pulumi.StringPtrInput `pulumi:"initialPosition"` - LogGroupName pulumi.StringInput `pulumi:"logGroupName"` - MultilineStartPattern pulumi.StringPtrInput `pulumi:"multilineStartPattern"` - TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +type GangliaLayerLoadBasedAutoScalingArgs struct { + Downscaling GangliaLayerLoadBasedAutoScalingDownscalingPtrInput `pulumi:"downscaling"` + Enable pulumi.BoolPtrInput `pulumi:"enable"` + Upscaling GangliaLayerLoadBasedAutoScalingUpscalingPtrInput `pulumi:"upscaling"` } -func (JavaAppLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { - return reflect.TypeOf((*JavaAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (GangliaLayerLoadBasedAutoScalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GangliaLayerLoadBasedAutoScaling)(nil)).Elem() } -func (i JavaAppLayerCloudwatchConfigurationLogStreamArgs) ToJavaAppLayerCloudwatchConfigurationLogStreamOutput() JavaAppLayerCloudwatchConfigurationLogStreamOutput { - return i.ToJavaAppLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) +func (i GangliaLayerLoadBasedAutoScalingArgs) ToGangliaLayerLoadBasedAutoScalingOutput() GangliaLayerLoadBasedAutoScalingOutput { + return i.ToGangliaLayerLoadBasedAutoScalingOutputWithContext(context.Background()) } -func (i JavaAppLayerCloudwatchConfigurationLogStreamArgs) ToJavaAppLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerCloudwatchConfigurationLogStreamOutput) +func (i GangliaLayerLoadBasedAutoScalingArgs) ToGangliaLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerLoadBasedAutoScalingOutput) } -// JavaAppLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts JavaAppLayerCloudwatchConfigurationLogStreamArray and JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput values. -// You can construct a concrete instance of `JavaAppLayerCloudwatchConfigurationLogStreamArrayInput` via: +func (i GangliaLayerLoadBasedAutoScalingArgs) ToGangliaLayerLoadBasedAutoScalingPtrOutput() GangliaLayerLoadBasedAutoScalingPtrOutput { + return i.ToGangliaLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) +} + +func (i GangliaLayerLoadBasedAutoScalingArgs) ToGangliaLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerLoadBasedAutoScalingOutput).ToGangliaLayerLoadBasedAutoScalingPtrOutputWithContext(ctx) +} + +// GangliaLayerLoadBasedAutoScalingPtrInput is an input type that accepts GangliaLayerLoadBasedAutoScalingArgs, GangliaLayerLoadBasedAutoScalingPtr and GangliaLayerLoadBasedAutoScalingPtrOutput values. +// You can construct a concrete instance of `GangliaLayerLoadBasedAutoScalingPtrInput` via: // -// JavaAppLayerCloudwatchConfigurationLogStreamArray{ JavaAppLayerCloudwatchConfigurationLogStreamArgs{...} } -type JavaAppLayerCloudwatchConfigurationLogStreamArrayInput interface { +// GangliaLayerLoadBasedAutoScalingArgs{...} +// +// or: +// +// nil +type GangliaLayerLoadBasedAutoScalingPtrInput interface { pulumi.Input - ToJavaAppLayerCloudwatchConfigurationLogStreamArrayOutput() JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput - ToJavaAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput + ToGangliaLayerLoadBasedAutoScalingPtrOutput() GangliaLayerLoadBasedAutoScalingPtrOutput + ToGangliaLayerLoadBasedAutoScalingPtrOutputWithContext(context.Context) GangliaLayerLoadBasedAutoScalingPtrOutput } -type JavaAppLayerCloudwatchConfigurationLogStreamArray []JavaAppLayerCloudwatchConfigurationLogStreamInput +type gangliaLayerLoadBasedAutoScalingPtrType GangliaLayerLoadBasedAutoScalingArgs -func (JavaAppLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]JavaAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func GangliaLayerLoadBasedAutoScalingPtr(v *GangliaLayerLoadBasedAutoScalingArgs) GangliaLayerLoadBasedAutoScalingPtrInput { + return (*gangliaLayerLoadBasedAutoScalingPtrType)(v) } -func (i JavaAppLayerCloudwatchConfigurationLogStreamArray) ToJavaAppLayerCloudwatchConfigurationLogStreamArrayOutput() JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return i.ToJavaAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) +func (*gangliaLayerLoadBasedAutoScalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GangliaLayerLoadBasedAutoScaling)(nil)).Elem() } -func (i JavaAppLayerCloudwatchConfigurationLogStreamArray) ToJavaAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput) +func (i *gangliaLayerLoadBasedAutoScalingPtrType) ToGangliaLayerLoadBasedAutoScalingPtrOutput() GangliaLayerLoadBasedAutoScalingPtrOutput { + return i.ToGangliaLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) } -type JavaAppLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } +func (i *gangliaLayerLoadBasedAutoScalingPtrType) ToGangliaLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerLoadBasedAutoScalingPtrOutput) +} -func (JavaAppLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { - return reflect.TypeOf((*JavaAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +type GangliaLayerLoadBasedAutoScalingOutput struct{ *pulumi.OutputState } + +func (GangliaLayerLoadBasedAutoScalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GangliaLayerLoadBasedAutoScaling)(nil)).Elem() } -func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) ToJavaAppLayerCloudwatchConfigurationLogStreamOutput() JavaAppLayerCloudwatchConfigurationLogStreamOutput { +func (o GangliaLayerLoadBasedAutoScalingOutput) ToGangliaLayerLoadBasedAutoScalingOutput() GangliaLayerLoadBasedAutoScalingOutput { return o } -func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) ToJavaAppLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationLogStreamOutput { +func (o GangliaLayerLoadBasedAutoScalingOutput) ToGangliaLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingOutput { return o } -func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) +func (o GangliaLayerLoadBasedAutoScalingOutput) ToGangliaLayerLoadBasedAutoScalingPtrOutput() GangliaLayerLoadBasedAutoScalingPtrOutput { + return o.ToGangliaLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) } -func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) +func (o GangliaLayerLoadBasedAutoScalingOutput) ToGangliaLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GangliaLayerLoadBasedAutoScaling) *GangliaLayerLoadBasedAutoScaling { + return &v + }).(GangliaLayerLoadBasedAutoScalingPtrOutput) } -func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { - return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) +func (o GangliaLayerLoadBasedAutoScalingOutput) Downscaling() GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v GangliaLayerLoadBasedAutoScaling) *GangliaLayerLoadBasedAutoScalingDownscaling { + return v.Downscaling + }).(GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput) } -func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { - return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) +func (o GangliaLayerLoadBasedAutoScalingOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GangliaLayerLoadBasedAutoScaling) *bool { return v.Enable }).(pulumi.BoolPtrOutput) } -func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { - return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) +func (o GangliaLayerLoadBasedAutoScalingOutput) Upscaling() GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v GangliaLayerLoadBasedAutoScaling) *GangliaLayerLoadBasedAutoScalingUpscaling { + return v.Upscaling + }).(GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput) } -func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { - return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) +type GangliaLayerLoadBasedAutoScalingPtrOutput struct{ *pulumi.OutputState } + +func (GangliaLayerLoadBasedAutoScalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GangliaLayerLoadBasedAutoScaling)(nil)).Elem() } -func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { - return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) +func (o GangliaLayerLoadBasedAutoScalingPtrOutput) ToGangliaLayerLoadBasedAutoScalingPtrOutput() GangliaLayerLoadBasedAutoScalingPtrOutput { + return o } -func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { - return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) +func (o GangliaLayerLoadBasedAutoScalingPtrOutput) ToGangliaLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingPtrOutput { + return o } -func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { - return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) +func (o GangliaLayerLoadBasedAutoScalingPtrOutput) Elem() GangliaLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScaling) GangliaLayerLoadBasedAutoScaling { + if v != nil { + return *v + } + var ret GangliaLayerLoadBasedAutoScaling + return ret + }).(GangliaLayerLoadBasedAutoScalingOutput) } -func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { - return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) +func (o GangliaLayerLoadBasedAutoScalingPtrOutput) Downscaling() GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScaling) *GangliaLayerLoadBasedAutoScalingDownscaling { + if v == nil { + return nil + } + return v.Downscaling + }).(GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput) } -func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +func (o GangliaLayerLoadBasedAutoScalingPtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScaling) *bool { + if v == nil { + return nil + } + return v.Enable + }).(pulumi.BoolPtrOutput) } -type JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } +func (o GangliaLayerLoadBasedAutoScalingPtrOutput) Upscaling() GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScaling) *GangliaLayerLoadBasedAutoScalingUpscaling { + if v == nil { + return nil + } + return v.Upscaling + }).(GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput) +} -func (JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]JavaAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +type GangliaLayerLoadBasedAutoScalingDownscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` } -func (o JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput) ToJavaAppLayerCloudwatchConfigurationLogStreamArrayOutput() JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return o +// GangliaLayerLoadBasedAutoScalingDownscalingInput is an input type that accepts GangliaLayerLoadBasedAutoScalingDownscalingArgs and GangliaLayerLoadBasedAutoScalingDownscalingOutput values. +// You can construct a concrete instance of `GangliaLayerLoadBasedAutoScalingDownscalingInput` via: +// +// GangliaLayerLoadBasedAutoScalingDownscalingArgs{...} +type GangliaLayerLoadBasedAutoScalingDownscalingInput interface { + pulumi.Input + + ToGangliaLayerLoadBasedAutoScalingDownscalingOutput() GangliaLayerLoadBasedAutoScalingDownscalingOutput + ToGangliaLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Context) GangliaLayerLoadBasedAutoScalingDownscalingOutput } -func (o JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput) ToJavaAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return o +type GangliaLayerLoadBasedAutoScalingDownscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` } -func (o JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) JavaAppLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) JavaAppLayerCloudwatchConfigurationLogStream { - return vs[0].([]JavaAppLayerCloudwatchConfigurationLogStream)[vs[1].(int)] - }).(JavaAppLayerCloudwatchConfigurationLogStreamOutput) +func (GangliaLayerLoadBasedAutoScalingDownscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GangliaLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -type JavaAppLayerEbsVolume struct { - Encrypted *bool `pulumi:"encrypted"` - // For PIOPS volumes, the IOPS per disk. - Iops *int `pulumi:"iops"` - // The path to mount the EBS volume on the layer's instances. - MountPoint string `pulumi:"mountPoint"` - // The number of disks to use for the EBS volume. - NumberOfDisks int `pulumi:"numberOfDisks"` - // The RAID level to use for the volume. - RaidLevel *string `pulumi:"raidLevel"` - // The size of the volume in gigabytes. - Size int `pulumi:"size"` - // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - Type *string `pulumi:"type"` +func (i GangliaLayerLoadBasedAutoScalingDownscalingArgs) ToGangliaLayerLoadBasedAutoScalingDownscalingOutput() GangliaLayerLoadBasedAutoScalingDownscalingOutput { + return i.ToGangliaLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Background()) } -// JavaAppLayerEbsVolumeInput is an input type that accepts JavaAppLayerEbsVolumeArgs and JavaAppLayerEbsVolumeOutput values. -// You can construct a concrete instance of `JavaAppLayerEbsVolumeInput` via: -// -// JavaAppLayerEbsVolumeArgs{...} -type JavaAppLayerEbsVolumeInput interface { - pulumi.Input +func (i GangliaLayerLoadBasedAutoScalingDownscalingArgs) ToGangliaLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingDownscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerLoadBasedAutoScalingDownscalingOutput) +} - ToJavaAppLayerEbsVolumeOutput() JavaAppLayerEbsVolumeOutput - ToJavaAppLayerEbsVolumeOutputWithContext(context.Context) JavaAppLayerEbsVolumeOutput +func (i GangliaLayerLoadBasedAutoScalingDownscalingArgs) ToGangliaLayerLoadBasedAutoScalingDownscalingPtrOutput() GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToGangliaLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) } -type JavaAppLayerEbsVolumeArgs struct { - Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` - // For PIOPS volumes, the IOPS per disk. - Iops pulumi.IntPtrInput `pulumi:"iops"` - // The path to mount the EBS volume on the layer's instances. - MountPoint pulumi.StringInput `pulumi:"mountPoint"` - // The number of disks to use for the EBS volume. - NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"` - // The RAID level to use for the volume. - RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"` - // The size of the volume in gigabytes. - Size pulumi.IntInput `pulumi:"size"` - // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - Type pulumi.StringPtrInput `pulumi:"type"` -} - -func (JavaAppLayerEbsVolumeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*JavaAppLayerEbsVolume)(nil)).Elem() -} - -func (i JavaAppLayerEbsVolumeArgs) ToJavaAppLayerEbsVolumeOutput() JavaAppLayerEbsVolumeOutput { - return i.ToJavaAppLayerEbsVolumeOutputWithContext(context.Background()) +func (i GangliaLayerLoadBasedAutoScalingDownscalingArgs) ToGangliaLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerLoadBasedAutoScalingDownscalingOutput).ToGangliaLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx) } -func (i JavaAppLayerEbsVolumeArgs) ToJavaAppLayerEbsVolumeOutputWithContext(ctx context.Context) JavaAppLayerEbsVolumeOutput { - return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerEbsVolumeOutput) -} - -// JavaAppLayerEbsVolumeArrayInput is an input type that accepts JavaAppLayerEbsVolumeArray and JavaAppLayerEbsVolumeArrayOutput values. -// You can construct a concrete instance of `JavaAppLayerEbsVolumeArrayInput` via: +// GangliaLayerLoadBasedAutoScalingDownscalingPtrInput is an input type that accepts GangliaLayerLoadBasedAutoScalingDownscalingArgs, GangliaLayerLoadBasedAutoScalingDownscalingPtr and GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput values. +// You can construct a concrete instance of `GangliaLayerLoadBasedAutoScalingDownscalingPtrInput` via: // -// JavaAppLayerEbsVolumeArray{ JavaAppLayerEbsVolumeArgs{...} } -type JavaAppLayerEbsVolumeArrayInput interface { +// GangliaLayerLoadBasedAutoScalingDownscalingArgs{...} +// +// or: +// +// nil +type GangliaLayerLoadBasedAutoScalingDownscalingPtrInput interface { pulumi.Input - ToJavaAppLayerEbsVolumeArrayOutput() JavaAppLayerEbsVolumeArrayOutput - ToJavaAppLayerEbsVolumeArrayOutputWithContext(context.Context) JavaAppLayerEbsVolumeArrayOutput + ToGangliaLayerLoadBasedAutoScalingDownscalingPtrOutput() GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput + ToGangliaLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Context) GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput } -type JavaAppLayerEbsVolumeArray []JavaAppLayerEbsVolumeInput +type gangliaLayerLoadBasedAutoScalingDownscalingPtrType GangliaLayerLoadBasedAutoScalingDownscalingArgs -func (JavaAppLayerEbsVolumeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]JavaAppLayerEbsVolume)(nil)).Elem() +func GangliaLayerLoadBasedAutoScalingDownscalingPtr(v *GangliaLayerLoadBasedAutoScalingDownscalingArgs) GangliaLayerLoadBasedAutoScalingDownscalingPtrInput { + return (*gangliaLayerLoadBasedAutoScalingDownscalingPtrType)(v) } -func (i JavaAppLayerEbsVolumeArray) ToJavaAppLayerEbsVolumeArrayOutput() JavaAppLayerEbsVolumeArrayOutput { - return i.ToJavaAppLayerEbsVolumeArrayOutputWithContext(context.Background()) +func (*gangliaLayerLoadBasedAutoScalingDownscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GangliaLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (i JavaAppLayerEbsVolumeArray) ToJavaAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) JavaAppLayerEbsVolumeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerEbsVolumeArrayOutput) +func (i *gangliaLayerLoadBasedAutoScalingDownscalingPtrType) ToGangliaLayerLoadBasedAutoScalingDownscalingPtrOutput() GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToGangliaLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) } -type JavaAppLayerEbsVolumeOutput struct{ *pulumi.OutputState } +func (i *gangliaLayerLoadBasedAutoScalingDownscalingPtrType) ToGangliaLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput) +} -func (JavaAppLayerEbsVolumeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*JavaAppLayerEbsVolume)(nil)).Elem() +type GangliaLayerLoadBasedAutoScalingDownscalingOutput struct{ *pulumi.OutputState } + +func (GangliaLayerLoadBasedAutoScalingDownscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GangliaLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (o JavaAppLayerEbsVolumeOutput) ToJavaAppLayerEbsVolumeOutput() JavaAppLayerEbsVolumeOutput { +func (o GangliaLayerLoadBasedAutoScalingDownscalingOutput) ToGangliaLayerLoadBasedAutoScalingDownscalingOutput() GangliaLayerLoadBasedAutoScalingDownscalingOutput { return o } -func (o JavaAppLayerEbsVolumeOutput) ToJavaAppLayerEbsVolumeOutputWithContext(ctx context.Context) JavaAppLayerEbsVolumeOutput { +func (o GangliaLayerLoadBasedAutoScalingDownscalingOutput) ToGangliaLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingDownscalingOutput { return o } -func (o JavaAppLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v JavaAppLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +func (o GangliaLayerLoadBasedAutoScalingDownscalingOutput) ToGangliaLayerLoadBasedAutoScalingDownscalingPtrOutput() GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ToGangliaLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) } -// For PIOPS volumes, the IOPS per disk. -func (o JavaAppLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v JavaAppLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) +func (o GangliaLayerLoadBasedAutoScalingDownscalingOutput) ToGangliaLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GangliaLayerLoadBasedAutoScalingDownscaling) *GangliaLayerLoadBasedAutoScalingDownscaling { + return &v + }).(GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput) } -// The path to mount the EBS volume on the layer's instances. -func (o JavaAppLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { - return o.ApplyT(func(v JavaAppLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) +func (o GangliaLayerLoadBasedAutoScalingDownscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v GangliaLayerLoadBasedAutoScalingDownscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) } -// The number of disks to use for the EBS volume. -func (o JavaAppLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { - return o.ApplyT(func(v JavaAppLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) +func (o GangliaLayerLoadBasedAutoScalingDownscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GangliaLayerLoadBasedAutoScalingDownscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) } -// The RAID level to use for the volume. -func (o JavaAppLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { - return o.ApplyT(func(v JavaAppLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) +func (o GangliaLayerLoadBasedAutoScalingDownscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v GangliaLayerLoadBasedAutoScalingDownscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) } -// The size of the volume in gigabytes. -func (o JavaAppLayerEbsVolumeOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v JavaAppLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) +func (o GangliaLayerLoadBasedAutoScalingDownscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v GangliaLayerLoadBasedAutoScalingDownscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) } -// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. -func (o JavaAppLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v JavaAppLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +func (o GangliaLayerLoadBasedAutoScalingDownscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GangliaLayerLoadBasedAutoScalingDownscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) } -type JavaAppLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } +func (o GangliaLayerLoadBasedAutoScalingDownscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GangliaLayerLoadBasedAutoScalingDownscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) +} -func (JavaAppLayerEbsVolumeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]JavaAppLayerEbsVolume)(nil)).Elem() +func (o GangliaLayerLoadBasedAutoScalingDownscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v GangliaLayerLoadBasedAutoScalingDownscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) } -func (o JavaAppLayerEbsVolumeArrayOutput) ToJavaAppLayerEbsVolumeArrayOutput() JavaAppLayerEbsVolumeArrayOutput { +type GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput struct{ *pulumi.OutputState } + +func (GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GangliaLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (o GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput) ToGangliaLayerLoadBasedAutoScalingDownscalingPtrOutput() GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput { return o } -func (o JavaAppLayerEbsVolumeArrayOutput) ToJavaAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) JavaAppLayerEbsVolumeArrayOutput { +func (o GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput) ToGangliaLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput { return o } -func (o JavaAppLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) JavaAppLayerEbsVolumeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) JavaAppLayerEbsVolume { - return vs[0].([]JavaAppLayerEbsVolume)[vs[1].(int)] - }).(JavaAppLayerEbsVolumeOutput) +func (o GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput) Elem() GangliaLayerLoadBasedAutoScalingDownscalingOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScalingDownscaling) GangliaLayerLoadBasedAutoScalingDownscaling { + if v != nil { + return *v + } + var ret GangliaLayerLoadBasedAutoScalingDownscaling + return ret + }).(GangliaLayerLoadBasedAutoScalingDownscalingOutput) } -type MemcachedLayerCloudwatchConfiguration struct { - Enabled *bool `pulumi:"enabled"` - LogStreams []MemcachedLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +func (o GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScalingDownscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) } -// MemcachedLayerCloudwatchConfigurationInput is an input type that accepts MemcachedLayerCloudwatchConfigurationArgs and MemcachedLayerCloudwatchConfigurationOutput values. -// You can construct a concrete instance of `MemcachedLayerCloudwatchConfigurationInput` via: +func (o GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) +} + +func (o GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) +} + +func (o GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) +} + +type GangliaLayerLoadBasedAutoScalingUpscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` +} + +// GangliaLayerLoadBasedAutoScalingUpscalingInput is an input type that accepts GangliaLayerLoadBasedAutoScalingUpscalingArgs and GangliaLayerLoadBasedAutoScalingUpscalingOutput values. +// You can construct a concrete instance of `GangliaLayerLoadBasedAutoScalingUpscalingInput` via: // -// MemcachedLayerCloudwatchConfigurationArgs{...} -type MemcachedLayerCloudwatchConfigurationInput interface { +// GangliaLayerLoadBasedAutoScalingUpscalingArgs{...} +type GangliaLayerLoadBasedAutoScalingUpscalingInput interface { pulumi.Input - ToMemcachedLayerCloudwatchConfigurationOutput() MemcachedLayerCloudwatchConfigurationOutput - ToMemcachedLayerCloudwatchConfigurationOutputWithContext(context.Context) MemcachedLayerCloudwatchConfigurationOutput + ToGangliaLayerLoadBasedAutoScalingUpscalingOutput() GangliaLayerLoadBasedAutoScalingUpscalingOutput + ToGangliaLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Context) GangliaLayerLoadBasedAutoScalingUpscalingOutput } -type MemcachedLayerCloudwatchConfigurationArgs struct { - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - LogStreams MemcachedLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` +type GangliaLayerLoadBasedAutoScalingUpscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` } -func (MemcachedLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MemcachedLayerCloudwatchConfiguration)(nil)).Elem() +func (GangliaLayerLoadBasedAutoScalingUpscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GangliaLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() } -func (i MemcachedLayerCloudwatchConfigurationArgs) ToMemcachedLayerCloudwatchConfigurationOutput() MemcachedLayerCloudwatchConfigurationOutput { - return i.ToMemcachedLayerCloudwatchConfigurationOutputWithContext(context.Background()) +func (i GangliaLayerLoadBasedAutoScalingUpscalingArgs) ToGangliaLayerLoadBasedAutoScalingUpscalingOutput() GangliaLayerLoadBasedAutoScalingUpscalingOutput { + return i.ToGangliaLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Background()) } -func (i MemcachedLayerCloudwatchConfigurationArgs) ToMemcachedLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerCloudwatchConfigurationOutput) +func (i GangliaLayerLoadBasedAutoScalingUpscalingArgs) ToGangliaLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingUpscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerLoadBasedAutoScalingUpscalingOutput) } -func (i MemcachedLayerCloudwatchConfigurationArgs) ToMemcachedLayerCloudwatchConfigurationPtrOutput() MemcachedLayerCloudwatchConfigurationPtrOutput { - return i.ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (i GangliaLayerLoadBasedAutoScalingUpscalingArgs) ToGangliaLayerLoadBasedAutoScalingUpscalingPtrOutput() GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToGangliaLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) } -func (i MemcachedLayerCloudwatchConfigurationArgs) ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerCloudwatchConfigurationOutput).ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(ctx) +func (i GangliaLayerLoadBasedAutoScalingUpscalingArgs) ToGangliaLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerLoadBasedAutoScalingUpscalingOutput).ToGangliaLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx) } -// MemcachedLayerCloudwatchConfigurationPtrInput is an input type that accepts MemcachedLayerCloudwatchConfigurationArgs, MemcachedLayerCloudwatchConfigurationPtr and MemcachedLayerCloudwatchConfigurationPtrOutput values. -// You can construct a concrete instance of `MemcachedLayerCloudwatchConfigurationPtrInput` via: +// GangliaLayerLoadBasedAutoScalingUpscalingPtrInput is an input type that accepts GangliaLayerLoadBasedAutoScalingUpscalingArgs, GangliaLayerLoadBasedAutoScalingUpscalingPtr and GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput values. +// You can construct a concrete instance of `GangliaLayerLoadBasedAutoScalingUpscalingPtrInput` via: // -// MemcachedLayerCloudwatchConfigurationArgs{...} +// GangliaLayerLoadBasedAutoScalingUpscalingArgs{...} // // or: // // nil -type MemcachedLayerCloudwatchConfigurationPtrInput interface { +type GangliaLayerLoadBasedAutoScalingUpscalingPtrInput interface { pulumi.Input - ToMemcachedLayerCloudwatchConfigurationPtrOutput() MemcachedLayerCloudwatchConfigurationPtrOutput - ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) MemcachedLayerCloudwatchConfigurationPtrOutput + ToGangliaLayerLoadBasedAutoScalingUpscalingPtrOutput() GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput + ToGangliaLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Context) GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput } -type memcachedLayerCloudwatchConfigurationPtrType MemcachedLayerCloudwatchConfigurationArgs +type gangliaLayerLoadBasedAutoScalingUpscalingPtrType GangliaLayerLoadBasedAutoScalingUpscalingArgs -func MemcachedLayerCloudwatchConfigurationPtr(v *MemcachedLayerCloudwatchConfigurationArgs) MemcachedLayerCloudwatchConfigurationPtrInput { - return (*memcachedLayerCloudwatchConfigurationPtrType)(v) +func GangliaLayerLoadBasedAutoScalingUpscalingPtr(v *GangliaLayerLoadBasedAutoScalingUpscalingArgs) GangliaLayerLoadBasedAutoScalingUpscalingPtrInput { + return (*gangliaLayerLoadBasedAutoScalingUpscalingPtrType)(v) } -func (*memcachedLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**MemcachedLayerCloudwatchConfiguration)(nil)).Elem() +func (*gangliaLayerLoadBasedAutoScalingUpscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GangliaLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() } -func (i *memcachedLayerCloudwatchConfigurationPtrType) ToMemcachedLayerCloudwatchConfigurationPtrOutput() MemcachedLayerCloudwatchConfigurationPtrOutput { - return i.ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (i *gangliaLayerLoadBasedAutoScalingUpscalingPtrType) ToGangliaLayerLoadBasedAutoScalingUpscalingPtrOutput() GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToGangliaLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) } -func (i *memcachedLayerCloudwatchConfigurationPtrType) ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerCloudwatchConfigurationPtrOutput) +func (i *gangliaLayerLoadBasedAutoScalingUpscalingPtrType) ToGangliaLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput) } -type MemcachedLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } +type GangliaLayerLoadBasedAutoScalingUpscalingOutput struct{ *pulumi.OutputState } -func (MemcachedLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MemcachedLayerCloudwatchConfiguration)(nil)).Elem() +func (GangliaLayerLoadBasedAutoScalingUpscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GangliaLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() } -func (o MemcachedLayerCloudwatchConfigurationOutput) ToMemcachedLayerCloudwatchConfigurationOutput() MemcachedLayerCloudwatchConfigurationOutput { +func (o GangliaLayerLoadBasedAutoScalingUpscalingOutput) ToGangliaLayerLoadBasedAutoScalingUpscalingOutput() GangliaLayerLoadBasedAutoScalingUpscalingOutput { return o } -func (o MemcachedLayerCloudwatchConfigurationOutput) ToMemcachedLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationOutput { +func (o GangliaLayerLoadBasedAutoScalingUpscalingOutput) ToGangliaLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingUpscalingOutput { return o } -func (o MemcachedLayerCloudwatchConfigurationOutput) ToMemcachedLayerCloudwatchConfigurationPtrOutput() MemcachedLayerCloudwatchConfigurationPtrOutput { - return o.ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (o GangliaLayerLoadBasedAutoScalingUpscalingOutput) ToGangliaLayerLoadBasedAutoScalingUpscalingPtrOutput() GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ToGangliaLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) } -func (o MemcachedLayerCloudwatchConfigurationOutput) ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MemcachedLayerCloudwatchConfiguration) *MemcachedLayerCloudwatchConfiguration { +func (o GangliaLayerLoadBasedAutoScalingUpscalingOutput) ToGangliaLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GangliaLayerLoadBasedAutoScalingUpscaling) *GangliaLayerLoadBasedAutoScalingUpscaling { return &v - }).(MemcachedLayerCloudwatchConfigurationPtrOutput) + }).(GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput) } -func (o MemcachedLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v MemcachedLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +func (o GangliaLayerLoadBasedAutoScalingUpscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v GangliaLayerLoadBasedAutoScalingUpscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) } -func (o MemcachedLayerCloudwatchConfigurationOutput) LogStreams() MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v MemcachedLayerCloudwatchConfiguration) []MemcachedLayerCloudwatchConfigurationLogStream { - return v.LogStreams - }).(MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput) +func (o GangliaLayerLoadBasedAutoScalingUpscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GangliaLayerLoadBasedAutoScalingUpscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) } -type MemcachedLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } +func (o GangliaLayerLoadBasedAutoScalingUpscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v GangliaLayerLoadBasedAutoScalingUpscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) +} -func (MemcachedLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**MemcachedLayerCloudwatchConfiguration)(nil)).Elem() +func (o GangliaLayerLoadBasedAutoScalingUpscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v GangliaLayerLoadBasedAutoScalingUpscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) } -func (o MemcachedLayerCloudwatchConfigurationPtrOutput) ToMemcachedLayerCloudwatchConfigurationPtrOutput() MemcachedLayerCloudwatchConfigurationPtrOutput { +func (o GangliaLayerLoadBasedAutoScalingUpscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GangliaLayerLoadBasedAutoScalingUpscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) +} + +func (o GangliaLayerLoadBasedAutoScalingUpscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GangliaLayerLoadBasedAutoScalingUpscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) +} + +func (o GangliaLayerLoadBasedAutoScalingUpscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v GangliaLayerLoadBasedAutoScalingUpscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) +} + +type GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput struct{ *pulumi.OutputState } + +func (GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GangliaLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (o GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput) ToGangliaLayerLoadBasedAutoScalingUpscalingPtrOutput() GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput { return o } -func (o MemcachedLayerCloudwatchConfigurationPtrOutput) ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationPtrOutput { +func (o GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput) ToGangliaLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput { return o } -func (o MemcachedLayerCloudwatchConfigurationPtrOutput) Elem() MemcachedLayerCloudwatchConfigurationOutput { - return o.ApplyT(func(v *MemcachedLayerCloudwatchConfiguration) MemcachedLayerCloudwatchConfiguration { +func (o GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput) Elem() GangliaLayerLoadBasedAutoScalingUpscalingOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScalingUpscaling) GangliaLayerLoadBasedAutoScalingUpscaling { if v != nil { return *v } - var ret MemcachedLayerCloudwatchConfiguration + var ret GangliaLayerLoadBasedAutoScalingUpscaling return ret - }).(MemcachedLayerCloudwatchConfigurationOutput) + }).(GangliaLayerLoadBasedAutoScalingUpscalingOutput) } -func (o MemcachedLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *MemcachedLayerCloudwatchConfiguration) *bool { +func (o GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScalingUpscaling) []string { if v == nil { return nil } - return v.Enabled - }).(pulumi.BoolPtrOutput) + return v.Alarms + }).(pulumi.StringArrayOutput) } -func (o MemcachedLayerCloudwatchConfigurationPtrOutput) LogStreams() MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v *MemcachedLayerCloudwatchConfiguration) []MemcachedLayerCloudwatchConfigurationLogStream { +func (o GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScalingUpscaling) *float64 { if v == nil { return nil } - return v.LogStreams - }).(MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput) + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) } -type MemcachedLayerCloudwatchConfigurationLogStream struct { - BatchCount *int `pulumi:"batchCount"` - BatchSize *int `pulumi:"batchSize"` - BufferDuration *int `pulumi:"bufferDuration"` - DatetimeFormat *string `pulumi:"datetimeFormat"` - Encoding *string `pulumi:"encoding"` - File string `pulumi:"file"` - FileFingerprintLines *string `pulumi:"fileFingerprintLines"` - InitialPosition *string `pulumi:"initialPosition"` - LogGroupName string `pulumi:"logGroupName"` - MultilineStartPattern *string `pulumi:"multilineStartPattern"` - TimeZone *string `pulumi:"timeZone"` +func (o GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) } -// MemcachedLayerCloudwatchConfigurationLogStreamInput is an input type that accepts MemcachedLayerCloudwatchConfigurationLogStreamArgs and MemcachedLayerCloudwatchConfigurationLogStreamOutput values. -// You can construct a concrete instance of `MemcachedLayerCloudwatchConfigurationLogStreamInput` via: -// -// MemcachedLayerCloudwatchConfigurationLogStreamArgs{...} -type MemcachedLayerCloudwatchConfigurationLogStreamInput interface { - pulumi.Input - - ToMemcachedLayerCloudwatchConfigurationLogStreamOutput() MemcachedLayerCloudwatchConfigurationLogStreamOutput - ToMemcachedLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) MemcachedLayerCloudwatchConfigurationLogStreamOutput +func (o GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) } -type MemcachedLayerCloudwatchConfigurationLogStreamArgs struct { - BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` - BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` - BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` - DatetimeFormat pulumi.StringPtrInput `pulumi:"datetimeFormat"` - Encoding pulumi.StringPtrInput `pulumi:"encoding"` - File pulumi.StringInput `pulumi:"file"` - FileFingerprintLines pulumi.StringPtrInput `pulumi:"fileFingerprintLines"` - InitialPosition pulumi.StringPtrInput `pulumi:"initialPosition"` - LogGroupName pulumi.StringInput `pulumi:"logGroupName"` - MultilineStartPattern pulumi.StringPtrInput `pulumi:"multilineStartPattern"` - TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +func (o GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) } -func (MemcachedLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MemcachedLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (o GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) } -func (i MemcachedLayerCloudwatchConfigurationLogStreamArgs) ToMemcachedLayerCloudwatchConfigurationLogStreamOutput() MemcachedLayerCloudwatchConfigurationLogStreamOutput { - return i.ToMemcachedLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) +func (o GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GangliaLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) } -func (i MemcachedLayerCloudwatchConfigurationLogStreamArgs) ToMemcachedLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerCloudwatchConfigurationLogStreamOutput) +type HaproxyLayerCloudwatchConfiguration struct { + Enabled *bool `pulumi:"enabled"` + LogStreams []HaproxyLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` } -// MemcachedLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts MemcachedLayerCloudwatchConfigurationLogStreamArray and MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput values. -// You can construct a concrete instance of `MemcachedLayerCloudwatchConfigurationLogStreamArrayInput` via: +// HaproxyLayerCloudwatchConfigurationInput is an input type that accepts HaproxyLayerCloudwatchConfigurationArgs and HaproxyLayerCloudwatchConfigurationOutput values. +// You can construct a concrete instance of `HaproxyLayerCloudwatchConfigurationInput` via: // -// MemcachedLayerCloudwatchConfigurationLogStreamArray{ MemcachedLayerCloudwatchConfigurationLogStreamArgs{...} } -type MemcachedLayerCloudwatchConfigurationLogStreamArrayInput interface { +// HaproxyLayerCloudwatchConfigurationArgs{...} +type HaproxyLayerCloudwatchConfigurationInput interface { pulumi.Input - ToMemcachedLayerCloudwatchConfigurationLogStreamArrayOutput() MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput - ToMemcachedLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput + ToHaproxyLayerCloudwatchConfigurationOutput() HaproxyLayerCloudwatchConfigurationOutput + ToHaproxyLayerCloudwatchConfigurationOutputWithContext(context.Context) HaproxyLayerCloudwatchConfigurationOutput } -type MemcachedLayerCloudwatchConfigurationLogStreamArray []MemcachedLayerCloudwatchConfigurationLogStreamInput - -func (MemcachedLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]MemcachedLayerCloudwatchConfigurationLogStream)(nil)).Elem() +type HaproxyLayerCloudwatchConfigurationArgs struct { + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + LogStreams HaproxyLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` } -func (i MemcachedLayerCloudwatchConfigurationLogStreamArray) ToMemcachedLayerCloudwatchConfigurationLogStreamArrayOutput() MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput { - return i.ToMemcachedLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) +func (HaproxyLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HaproxyLayerCloudwatchConfiguration)(nil)).Elem() } -func (i MemcachedLayerCloudwatchConfigurationLogStreamArray) ToMemcachedLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput) +func (i HaproxyLayerCloudwatchConfigurationArgs) ToHaproxyLayerCloudwatchConfigurationOutput() HaproxyLayerCloudwatchConfigurationOutput { + return i.ToHaproxyLayerCloudwatchConfigurationOutputWithContext(context.Background()) } -type MemcachedLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } +func (i HaproxyLayerCloudwatchConfigurationArgs) ToHaproxyLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerCloudwatchConfigurationOutput) +} -func (MemcachedLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MemcachedLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (i HaproxyLayerCloudwatchConfigurationArgs) ToHaproxyLayerCloudwatchConfigurationPtrOutput() HaproxyLayerCloudwatchConfigurationPtrOutput { + return i.ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) } -func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) ToMemcachedLayerCloudwatchConfigurationLogStreamOutput() MemcachedLayerCloudwatchConfigurationLogStreamOutput { - return o +func (i HaproxyLayerCloudwatchConfigurationArgs) ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerCloudwatchConfigurationOutput).ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(ctx) } -func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) ToMemcachedLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationLogStreamOutput { - return o +// HaproxyLayerCloudwatchConfigurationPtrInput is an input type that accepts HaproxyLayerCloudwatchConfigurationArgs, HaproxyLayerCloudwatchConfigurationPtr and HaproxyLayerCloudwatchConfigurationPtrOutput values. +// You can construct a concrete instance of `HaproxyLayerCloudwatchConfigurationPtrInput` via: +// +// HaproxyLayerCloudwatchConfigurationArgs{...} +// +// or: +// +// nil +type HaproxyLayerCloudwatchConfigurationPtrInput interface { + pulumi.Input + + ToHaproxyLayerCloudwatchConfigurationPtrOutput() HaproxyLayerCloudwatchConfigurationPtrOutput + ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) HaproxyLayerCloudwatchConfigurationPtrOutput } -func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) +type haproxyLayerCloudwatchConfigurationPtrType HaproxyLayerCloudwatchConfigurationArgs + +func HaproxyLayerCloudwatchConfigurationPtr(v *HaproxyLayerCloudwatchConfigurationArgs) HaproxyLayerCloudwatchConfigurationPtrInput { + return (*haproxyLayerCloudwatchConfigurationPtrType)(v) } -func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) +func (*haproxyLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**HaproxyLayerCloudwatchConfiguration)(nil)).Elem() } -func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { - return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) +func (i *haproxyLayerCloudwatchConfigurationPtrType) ToHaproxyLayerCloudwatchConfigurationPtrOutput() HaproxyLayerCloudwatchConfigurationPtrOutput { + return i.ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) } -func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { - return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) +func (i *haproxyLayerCloudwatchConfigurationPtrType) ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerCloudwatchConfigurationPtrOutput) } -func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { - return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) +type HaproxyLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } + +func (HaproxyLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HaproxyLayerCloudwatchConfiguration)(nil)).Elem() } -func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { - return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) +func (o HaproxyLayerCloudwatchConfigurationOutput) ToHaproxyLayerCloudwatchConfigurationOutput() HaproxyLayerCloudwatchConfigurationOutput { + return o } -func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { - return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) +func (o HaproxyLayerCloudwatchConfigurationOutput) ToHaproxyLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationOutput { + return o } -func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { - return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) +func (o HaproxyLayerCloudwatchConfigurationOutput) ToHaproxyLayerCloudwatchConfigurationPtrOutput() HaproxyLayerCloudwatchConfigurationPtrOutput { + return o.ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) } -func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { - return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) +func (o HaproxyLayerCloudwatchConfigurationOutput) ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v HaproxyLayerCloudwatchConfiguration) *HaproxyLayerCloudwatchConfiguration { + return &v + }).(HaproxyLayerCloudwatchConfigurationPtrOutput) } -func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { - return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) +func (o HaproxyLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HaproxyLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +func (o HaproxyLayerCloudwatchConfigurationOutput) LogStreams() HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v HaproxyLayerCloudwatchConfiguration) []HaproxyLayerCloudwatchConfigurationLogStream { + return v.LogStreams + }).(HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput) } -type MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } +type HaproxyLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } -func (MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]MemcachedLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (HaproxyLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**HaproxyLayerCloudwatchConfiguration)(nil)).Elem() } -func (o MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput) ToMemcachedLayerCloudwatchConfigurationLogStreamArrayOutput() MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput { +func (o HaproxyLayerCloudwatchConfigurationPtrOutput) ToHaproxyLayerCloudwatchConfigurationPtrOutput() HaproxyLayerCloudwatchConfigurationPtrOutput { return o } -func (o MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput) ToMemcachedLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput { +func (o HaproxyLayerCloudwatchConfigurationPtrOutput) ToHaproxyLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationPtrOutput { return o } -func (o MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) MemcachedLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) MemcachedLayerCloudwatchConfigurationLogStream { - return vs[0].([]MemcachedLayerCloudwatchConfigurationLogStream)[vs[1].(int)] - }).(MemcachedLayerCloudwatchConfigurationLogStreamOutput) +func (o HaproxyLayerCloudwatchConfigurationPtrOutput) Elem() HaproxyLayerCloudwatchConfigurationOutput { + return o.ApplyT(func(v *HaproxyLayerCloudwatchConfiguration) HaproxyLayerCloudwatchConfiguration { + if v != nil { + return *v + } + var ret HaproxyLayerCloudwatchConfiguration + return ret + }).(HaproxyLayerCloudwatchConfigurationOutput) } -type MemcachedLayerEbsVolume struct { - Encrypted *bool `pulumi:"encrypted"` - // For PIOPS volumes, the IOPS per disk. - Iops *int `pulumi:"iops"` - // The path to mount the EBS volume on the layer's instances. - MountPoint string `pulumi:"mountPoint"` - // The number of disks to use for the EBS volume. - NumberOfDisks int `pulumi:"numberOfDisks"` - // The RAID level to use for the volume. - RaidLevel *string `pulumi:"raidLevel"` - // The size of the volume in gigabytes. - Size int `pulumi:"size"` - // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - Type *string `pulumi:"type"` +func (o HaproxyLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *HaproxyLayerCloudwatchConfiguration) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) } -// MemcachedLayerEbsVolumeInput is an input type that accepts MemcachedLayerEbsVolumeArgs and MemcachedLayerEbsVolumeOutput values. -// You can construct a concrete instance of `MemcachedLayerEbsVolumeInput` via: +func (o HaproxyLayerCloudwatchConfigurationPtrOutput) LogStreams() HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v *HaproxyLayerCloudwatchConfiguration) []HaproxyLayerCloudwatchConfigurationLogStream { + if v == nil { + return nil + } + return v.LogStreams + }).(HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type HaproxyLayerCloudwatchConfigurationLogStream struct { + BatchCount *int `pulumi:"batchCount"` + BatchSize *int `pulumi:"batchSize"` + BufferDuration *int `pulumi:"bufferDuration"` + DatetimeFormat *string `pulumi:"datetimeFormat"` + Encoding *string `pulumi:"encoding"` + File string `pulumi:"file"` + FileFingerprintLines *string `pulumi:"fileFingerprintLines"` + InitialPosition *string `pulumi:"initialPosition"` + LogGroupName string `pulumi:"logGroupName"` + MultilineStartPattern *string `pulumi:"multilineStartPattern"` + TimeZone *string `pulumi:"timeZone"` +} + +// HaproxyLayerCloudwatchConfigurationLogStreamInput is an input type that accepts HaproxyLayerCloudwatchConfigurationLogStreamArgs and HaproxyLayerCloudwatchConfigurationLogStreamOutput values. +// You can construct a concrete instance of `HaproxyLayerCloudwatchConfigurationLogStreamInput` via: // -// MemcachedLayerEbsVolumeArgs{...} -type MemcachedLayerEbsVolumeInput interface { +// HaproxyLayerCloudwatchConfigurationLogStreamArgs{...} +type HaproxyLayerCloudwatchConfigurationLogStreamInput interface { pulumi.Input - ToMemcachedLayerEbsVolumeOutput() MemcachedLayerEbsVolumeOutput - ToMemcachedLayerEbsVolumeOutputWithContext(context.Context) MemcachedLayerEbsVolumeOutput + ToHaproxyLayerCloudwatchConfigurationLogStreamOutput() HaproxyLayerCloudwatchConfigurationLogStreamOutput + ToHaproxyLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) HaproxyLayerCloudwatchConfigurationLogStreamOutput } -type MemcachedLayerEbsVolumeArgs struct { - Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` - // For PIOPS volumes, the IOPS per disk. - Iops pulumi.IntPtrInput `pulumi:"iops"` - // The path to mount the EBS volume on the layer's instances. - MountPoint pulumi.StringInput `pulumi:"mountPoint"` - // The number of disks to use for the EBS volume. - NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"` - // The RAID level to use for the volume. - RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"` - // The size of the volume in gigabytes. - Size pulumi.IntInput `pulumi:"size"` - // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - Type pulumi.StringPtrInput `pulumi:"type"` +type HaproxyLayerCloudwatchConfigurationLogStreamArgs struct { + BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` + BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` + BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` + DatetimeFormat pulumi.StringPtrInput `pulumi:"datetimeFormat"` + Encoding pulumi.StringPtrInput `pulumi:"encoding"` + File pulumi.StringInput `pulumi:"file"` + FileFingerprintLines pulumi.StringPtrInput `pulumi:"fileFingerprintLines"` + InitialPosition pulumi.StringPtrInput `pulumi:"initialPosition"` + LogGroupName pulumi.StringInput `pulumi:"logGroupName"` + MultilineStartPattern pulumi.StringPtrInput `pulumi:"multilineStartPattern"` + TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` } -func (MemcachedLayerEbsVolumeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MemcachedLayerEbsVolume)(nil)).Elem() +func (HaproxyLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HaproxyLayerCloudwatchConfigurationLogStream)(nil)).Elem() } -func (i MemcachedLayerEbsVolumeArgs) ToMemcachedLayerEbsVolumeOutput() MemcachedLayerEbsVolumeOutput { - return i.ToMemcachedLayerEbsVolumeOutputWithContext(context.Background()) +func (i HaproxyLayerCloudwatchConfigurationLogStreamArgs) ToHaproxyLayerCloudwatchConfigurationLogStreamOutput() HaproxyLayerCloudwatchConfigurationLogStreamOutput { + return i.ToHaproxyLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) } -func (i MemcachedLayerEbsVolumeArgs) ToMemcachedLayerEbsVolumeOutputWithContext(ctx context.Context) MemcachedLayerEbsVolumeOutput { - return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerEbsVolumeOutput) +func (i HaproxyLayerCloudwatchConfigurationLogStreamArgs) ToHaproxyLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerCloudwatchConfigurationLogStreamOutput) } -// MemcachedLayerEbsVolumeArrayInput is an input type that accepts MemcachedLayerEbsVolumeArray and MemcachedLayerEbsVolumeArrayOutput values. -// You can construct a concrete instance of `MemcachedLayerEbsVolumeArrayInput` via: +// HaproxyLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts HaproxyLayerCloudwatchConfigurationLogStreamArray and HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput values. +// You can construct a concrete instance of `HaproxyLayerCloudwatchConfigurationLogStreamArrayInput` via: // -// MemcachedLayerEbsVolumeArray{ MemcachedLayerEbsVolumeArgs{...} } -type MemcachedLayerEbsVolumeArrayInput interface { +// HaproxyLayerCloudwatchConfigurationLogStreamArray{ HaproxyLayerCloudwatchConfigurationLogStreamArgs{...} } +type HaproxyLayerCloudwatchConfigurationLogStreamArrayInput interface { pulumi.Input - ToMemcachedLayerEbsVolumeArrayOutput() MemcachedLayerEbsVolumeArrayOutput - ToMemcachedLayerEbsVolumeArrayOutputWithContext(context.Context) MemcachedLayerEbsVolumeArrayOutput + ToHaproxyLayerCloudwatchConfigurationLogStreamArrayOutput() HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput + ToHaproxyLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput } -type MemcachedLayerEbsVolumeArray []MemcachedLayerEbsVolumeInput +type HaproxyLayerCloudwatchConfigurationLogStreamArray []HaproxyLayerCloudwatchConfigurationLogStreamInput -func (MemcachedLayerEbsVolumeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]MemcachedLayerEbsVolume)(nil)).Elem() +func (HaproxyLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]HaproxyLayerCloudwatchConfigurationLogStream)(nil)).Elem() } -func (i MemcachedLayerEbsVolumeArray) ToMemcachedLayerEbsVolumeArrayOutput() MemcachedLayerEbsVolumeArrayOutput { - return i.ToMemcachedLayerEbsVolumeArrayOutputWithContext(context.Background()) +func (i HaproxyLayerCloudwatchConfigurationLogStreamArray) ToHaproxyLayerCloudwatchConfigurationLogStreamArrayOutput() HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput { + return i.ToHaproxyLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) } -func (i MemcachedLayerEbsVolumeArray) ToMemcachedLayerEbsVolumeArrayOutputWithContext(ctx context.Context) MemcachedLayerEbsVolumeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerEbsVolumeArrayOutput) +func (i HaproxyLayerCloudwatchConfigurationLogStreamArray) ToHaproxyLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput) } -type MemcachedLayerEbsVolumeOutput struct{ *pulumi.OutputState } +type HaproxyLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } -func (MemcachedLayerEbsVolumeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MemcachedLayerEbsVolume)(nil)).Elem() +func (HaproxyLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HaproxyLayerCloudwatchConfigurationLogStream)(nil)).Elem() } -func (o MemcachedLayerEbsVolumeOutput) ToMemcachedLayerEbsVolumeOutput() MemcachedLayerEbsVolumeOutput { +func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) ToHaproxyLayerCloudwatchConfigurationLogStreamOutput() HaproxyLayerCloudwatchConfigurationLogStreamOutput { return o } -func (o MemcachedLayerEbsVolumeOutput) ToMemcachedLayerEbsVolumeOutputWithContext(ctx context.Context) MemcachedLayerEbsVolumeOutput { +func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) ToHaproxyLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationLogStreamOutput { return o } -func (o MemcachedLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v MemcachedLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) } -// For PIOPS volumes, the IOPS per disk. -func (o MemcachedLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v MemcachedLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) +func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) } -// The path to mount the EBS volume on the layer's instances. -func (o MemcachedLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { - return o.ApplyT(func(v MemcachedLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) +func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) } -// The number of disks to use for the EBS volume. -func (o MemcachedLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { - return o.ApplyT(func(v MemcachedLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) +func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) } -// The RAID level to use for the volume. -func (o MemcachedLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { - return o.ApplyT(func(v MemcachedLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) +func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) } -// The size of the volume in gigabytes. -func (o MemcachedLayerEbsVolumeOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v MemcachedLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) +func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { + return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) } -// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. -func (o MemcachedLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v MemcachedLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { + return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) } -type MemcachedLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } +func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { + return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) +} -func (MemcachedLayerEbsVolumeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]MemcachedLayerEbsVolume)(nil)).Elem() +func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { + return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) } -func (o MemcachedLayerEbsVolumeArrayOutput) ToMemcachedLayerEbsVolumeArrayOutput() MemcachedLayerEbsVolumeArrayOutput { - return o +func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) } -func (o MemcachedLayerEbsVolumeArrayOutput) ToMemcachedLayerEbsVolumeArrayOutputWithContext(ctx context.Context) MemcachedLayerEbsVolumeArrayOutput { - return o +func (o HaproxyLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v HaproxyLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) } -func (o MemcachedLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) MemcachedLayerEbsVolumeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) MemcachedLayerEbsVolume { - return vs[0].([]MemcachedLayerEbsVolume)[vs[1].(int)] - }).(MemcachedLayerEbsVolumeOutput) +type HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } + +func (HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HaproxyLayerCloudwatchConfigurationLogStream)(nil)).Elem() } -type MysqlLayerCloudwatchConfiguration struct { - Enabled *bool `pulumi:"enabled"` - LogStreams []MysqlLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +func (o HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput) ToHaproxyLayerCloudwatchConfigurationLogStreamArrayOutput() HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput { + return o } -// MysqlLayerCloudwatchConfigurationInput is an input type that accepts MysqlLayerCloudwatchConfigurationArgs and MysqlLayerCloudwatchConfigurationOutput values. -// You can construct a concrete instance of `MysqlLayerCloudwatchConfigurationInput` via: -// -// MysqlLayerCloudwatchConfigurationArgs{...} -type MysqlLayerCloudwatchConfigurationInput interface { - pulumi.Input +func (o HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput) ToHaproxyLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput { + return o +} - ToMysqlLayerCloudwatchConfigurationOutput() MysqlLayerCloudwatchConfigurationOutput - ToMysqlLayerCloudwatchConfigurationOutputWithContext(context.Context) MysqlLayerCloudwatchConfigurationOutput +func (o HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) HaproxyLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HaproxyLayerCloudwatchConfigurationLogStream { + return vs[0].([]HaproxyLayerCloudwatchConfigurationLogStream)[vs[1].(int)] + }).(HaproxyLayerCloudwatchConfigurationLogStreamOutput) } -type MysqlLayerCloudwatchConfigurationArgs struct { - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - LogStreams MysqlLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` +type HaproxyLayerEbsVolume struct { + Encrypted *bool `pulumi:"encrypted"` + // For PIOPS volumes, the IOPS per disk. + Iops *int `pulumi:"iops"` + // The path to mount the EBS volume on the layer's instances. + MountPoint string `pulumi:"mountPoint"` + // The number of disks to use for the EBS volume. + NumberOfDisks int `pulumi:"numberOfDisks"` + // The RAID level to use for the volume. + RaidLevel *string `pulumi:"raidLevel"` + // The size of the volume in gigabytes. + Size int `pulumi:"size"` + // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + Type *string `pulumi:"type"` } -func (MysqlLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MysqlLayerCloudwatchConfiguration)(nil)).Elem() +// HaproxyLayerEbsVolumeInput is an input type that accepts HaproxyLayerEbsVolumeArgs and HaproxyLayerEbsVolumeOutput values. +// You can construct a concrete instance of `HaproxyLayerEbsVolumeInput` via: +// +// HaproxyLayerEbsVolumeArgs{...} +type HaproxyLayerEbsVolumeInput interface { + pulumi.Input + + ToHaproxyLayerEbsVolumeOutput() HaproxyLayerEbsVolumeOutput + ToHaproxyLayerEbsVolumeOutputWithContext(context.Context) HaproxyLayerEbsVolumeOutput } -func (i MysqlLayerCloudwatchConfigurationArgs) ToMysqlLayerCloudwatchConfigurationOutput() MysqlLayerCloudwatchConfigurationOutput { - return i.ToMysqlLayerCloudwatchConfigurationOutputWithContext(context.Background()) +type HaproxyLayerEbsVolumeArgs struct { + Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` + // For PIOPS volumes, the IOPS per disk. + Iops pulumi.IntPtrInput `pulumi:"iops"` + // The path to mount the EBS volume on the layer's instances. + MountPoint pulumi.StringInput `pulumi:"mountPoint"` + // The number of disks to use for the EBS volume. + NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"` + // The RAID level to use for the volume. + RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"` + // The size of the volume in gigabytes. + Size pulumi.IntInput `pulumi:"size"` + // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + Type pulumi.StringPtrInput `pulumi:"type"` } -func (i MysqlLayerCloudwatchConfigurationArgs) ToMysqlLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerCloudwatchConfigurationOutput) +func (HaproxyLayerEbsVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HaproxyLayerEbsVolume)(nil)).Elem() } -func (i MysqlLayerCloudwatchConfigurationArgs) ToMysqlLayerCloudwatchConfigurationPtrOutput() MysqlLayerCloudwatchConfigurationPtrOutput { - return i.ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (i HaproxyLayerEbsVolumeArgs) ToHaproxyLayerEbsVolumeOutput() HaproxyLayerEbsVolumeOutput { + return i.ToHaproxyLayerEbsVolumeOutputWithContext(context.Background()) } -func (i MysqlLayerCloudwatchConfigurationArgs) ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerCloudwatchConfigurationOutput).ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(ctx) +func (i HaproxyLayerEbsVolumeArgs) ToHaproxyLayerEbsVolumeOutputWithContext(ctx context.Context) HaproxyLayerEbsVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerEbsVolumeOutput) } -// MysqlLayerCloudwatchConfigurationPtrInput is an input type that accepts MysqlLayerCloudwatchConfigurationArgs, MysqlLayerCloudwatchConfigurationPtr and MysqlLayerCloudwatchConfigurationPtrOutput values. -// You can construct a concrete instance of `MysqlLayerCloudwatchConfigurationPtrInput` via: -// -// MysqlLayerCloudwatchConfigurationArgs{...} -// -// or: +// HaproxyLayerEbsVolumeArrayInput is an input type that accepts HaproxyLayerEbsVolumeArray and HaproxyLayerEbsVolumeArrayOutput values. +// You can construct a concrete instance of `HaproxyLayerEbsVolumeArrayInput` via: // -// nil -type MysqlLayerCloudwatchConfigurationPtrInput interface { +// HaproxyLayerEbsVolumeArray{ HaproxyLayerEbsVolumeArgs{...} } +type HaproxyLayerEbsVolumeArrayInput interface { pulumi.Input - ToMysqlLayerCloudwatchConfigurationPtrOutput() MysqlLayerCloudwatchConfigurationPtrOutput - ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) MysqlLayerCloudwatchConfigurationPtrOutput + ToHaproxyLayerEbsVolumeArrayOutput() HaproxyLayerEbsVolumeArrayOutput + ToHaproxyLayerEbsVolumeArrayOutputWithContext(context.Context) HaproxyLayerEbsVolumeArrayOutput } -type mysqlLayerCloudwatchConfigurationPtrType MysqlLayerCloudwatchConfigurationArgs - -func MysqlLayerCloudwatchConfigurationPtr(v *MysqlLayerCloudwatchConfigurationArgs) MysqlLayerCloudwatchConfigurationPtrInput { - return (*mysqlLayerCloudwatchConfigurationPtrType)(v) -} +type HaproxyLayerEbsVolumeArray []HaproxyLayerEbsVolumeInput -func (*mysqlLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**MysqlLayerCloudwatchConfiguration)(nil)).Elem() +func (HaproxyLayerEbsVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]HaproxyLayerEbsVolume)(nil)).Elem() } -func (i *mysqlLayerCloudwatchConfigurationPtrType) ToMysqlLayerCloudwatchConfigurationPtrOutput() MysqlLayerCloudwatchConfigurationPtrOutput { - return i.ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (i HaproxyLayerEbsVolumeArray) ToHaproxyLayerEbsVolumeArrayOutput() HaproxyLayerEbsVolumeArrayOutput { + return i.ToHaproxyLayerEbsVolumeArrayOutputWithContext(context.Background()) } -func (i *mysqlLayerCloudwatchConfigurationPtrType) ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerCloudwatchConfigurationPtrOutput) +func (i HaproxyLayerEbsVolumeArray) ToHaproxyLayerEbsVolumeArrayOutputWithContext(ctx context.Context) HaproxyLayerEbsVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerEbsVolumeArrayOutput) } -type MysqlLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } +type HaproxyLayerEbsVolumeOutput struct{ *pulumi.OutputState } -func (MysqlLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MysqlLayerCloudwatchConfiguration)(nil)).Elem() +func (HaproxyLayerEbsVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HaproxyLayerEbsVolume)(nil)).Elem() } -func (o MysqlLayerCloudwatchConfigurationOutput) ToMysqlLayerCloudwatchConfigurationOutput() MysqlLayerCloudwatchConfigurationOutput { +func (o HaproxyLayerEbsVolumeOutput) ToHaproxyLayerEbsVolumeOutput() HaproxyLayerEbsVolumeOutput { return o } -func (o MysqlLayerCloudwatchConfigurationOutput) ToMysqlLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationOutput { +func (o HaproxyLayerEbsVolumeOutput) ToHaproxyLayerEbsVolumeOutputWithContext(ctx context.Context) HaproxyLayerEbsVolumeOutput { return o } -func (o MysqlLayerCloudwatchConfigurationOutput) ToMysqlLayerCloudwatchConfigurationPtrOutput() MysqlLayerCloudwatchConfigurationPtrOutput { - return o.ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (o HaproxyLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HaproxyLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) } -func (o MysqlLayerCloudwatchConfigurationOutput) ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MysqlLayerCloudwatchConfiguration) *MysqlLayerCloudwatchConfiguration { - return &v - }).(MysqlLayerCloudwatchConfigurationPtrOutput) +// For PIOPS volumes, the IOPS per disk. +func (o HaproxyLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v HaproxyLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) } -func (o MysqlLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v MysqlLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +// The path to mount the EBS volume on the layer's instances. +func (o HaproxyLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { + return o.ApplyT(func(v HaproxyLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) } -func (o MysqlLayerCloudwatchConfigurationOutput) LogStreams() MysqlLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v MysqlLayerCloudwatchConfiguration) []MysqlLayerCloudwatchConfigurationLogStream { - return v.LogStreams - }).(MysqlLayerCloudwatchConfigurationLogStreamArrayOutput) +// The number of disks to use for the EBS volume. +func (o HaproxyLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { + return o.ApplyT(func(v HaproxyLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) } -type MysqlLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } +// The RAID level to use for the volume. +func (o HaproxyLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v HaproxyLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) +} -func (MysqlLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**MysqlLayerCloudwatchConfiguration)(nil)).Elem() +// The size of the volume in gigabytes. +func (o HaproxyLayerEbsVolumeOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v HaproxyLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) } -func (o MysqlLayerCloudwatchConfigurationPtrOutput) ToMysqlLayerCloudwatchConfigurationPtrOutput() MysqlLayerCloudwatchConfigurationPtrOutput { +// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. +func (o HaproxyLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v HaproxyLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type HaproxyLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } + +func (HaproxyLayerEbsVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HaproxyLayerEbsVolume)(nil)).Elem() +} + +func (o HaproxyLayerEbsVolumeArrayOutput) ToHaproxyLayerEbsVolumeArrayOutput() HaproxyLayerEbsVolumeArrayOutput { return o } -func (o MysqlLayerCloudwatchConfigurationPtrOutput) ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationPtrOutput { +func (o HaproxyLayerEbsVolumeArrayOutput) ToHaproxyLayerEbsVolumeArrayOutputWithContext(ctx context.Context) HaproxyLayerEbsVolumeArrayOutput { return o } -func (o MysqlLayerCloudwatchConfigurationPtrOutput) Elem() MysqlLayerCloudwatchConfigurationOutput { - return o.ApplyT(func(v *MysqlLayerCloudwatchConfiguration) MysqlLayerCloudwatchConfiguration { - if v != nil { - return *v - } - var ret MysqlLayerCloudwatchConfiguration - return ret - }).(MysqlLayerCloudwatchConfigurationOutput) +func (o HaproxyLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) HaproxyLayerEbsVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HaproxyLayerEbsVolume { + return vs[0].([]HaproxyLayerEbsVolume)[vs[1].(int)] + }).(HaproxyLayerEbsVolumeOutput) } -func (o MysqlLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *MysqlLayerCloudwatchConfiguration) *bool { - if v == nil { - return nil - } - return v.Enabled - }).(pulumi.BoolPtrOutput) +type HaproxyLayerLoadBasedAutoScaling struct { + Downscaling *HaproxyLayerLoadBasedAutoScalingDownscaling `pulumi:"downscaling"` + Enable *bool `pulumi:"enable"` + Upscaling *HaproxyLayerLoadBasedAutoScalingUpscaling `pulumi:"upscaling"` } -func (o MysqlLayerCloudwatchConfigurationPtrOutput) LogStreams() MysqlLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v *MysqlLayerCloudwatchConfiguration) []MysqlLayerCloudwatchConfigurationLogStream { - if v == nil { - return nil - } - return v.LogStreams - }).(MysqlLayerCloudwatchConfigurationLogStreamArrayOutput) +// HaproxyLayerLoadBasedAutoScalingInput is an input type that accepts HaproxyLayerLoadBasedAutoScalingArgs and HaproxyLayerLoadBasedAutoScalingOutput values. +// You can construct a concrete instance of `HaproxyLayerLoadBasedAutoScalingInput` via: +// +// HaproxyLayerLoadBasedAutoScalingArgs{...} +type HaproxyLayerLoadBasedAutoScalingInput interface { + pulumi.Input + + ToHaproxyLayerLoadBasedAutoScalingOutput() HaproxyLayerLoadBasedAutoScalingOutput + ToHaproxyLayerLoadBasedAutoScalingOutputWithContext(context.Context) HaproxyLayerLoadBasedAutoScalingOutput } -type MysqlLayerCloudwatchConfigurationLogStream struct { - BatchCount *int `pulumi:"batchCount"` - BatchSize *int `pulumi:"batchSize"` - BufferDuration *int `pulumi:"bufferDuration"` - DatetimeFormat *string `pulumi:"datetimeFormat"` - Encoding *string `pulumi:"encoding"` - File string `pulumi:"file"` - FileFingerprintLines *string `pulumi:"fileFingerprintLines"` - InitialPosition *string `pulumi:"initialPosition"` - LogGroupName string `pulumi:"logGroupName"` - MultilineStartPattern *string `pulumi:"multilineStartPattern"` - TimeZone *string `pulumi:"timeZone"` +type HaproxyLayerLoadBasedAutoScalingArgs struct { + Downscaling HaproxyLayerLoadBasedAutoScalingDownscalingPtrInput `pulumi:"downscaling"` + Enable pulumi.BoolPtrInput `pulumi:"enable"` + Upscaling HaproxyLayerLoadBasedAutoScalingUpscalingPtrInput `pulumi:"upscaling"` } -// MysqlLayerCloudwatchConfigurationLogStreamInput is an input type that accepts MysqlLayerCloudwatchConfigurationLogStreamArgs and MysqlLayerCloudwatchConfigurationLogStreamOutput values. -// You can construct a concrete instance of `MysqlLayerCloudwatchConfigurationLogStreamInput` via: -// -// MysqlLayerCloudwatchConfigurationLogStreamArgs{...} -type MysqlLayerCloudwatchConfigurationLogStreamInput interface { - pulumi.Input - - ToMysqlLayerCloudwatchConfigurationLogStreamOutput() MysqlLayerCloudwatchConfigurationLogStreamOutput - ToMysqlLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) MysqlLayerCloudwatchConfigurationLogStreamOutput +func (HaproxyLayerLoadBasedAutoScalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HaproxyLayerLoadBasedAutoScaling)(nil)).Elem() } -type MysqlLayerCloudwatchConfigurationLogStreamArgs struct { - BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` - BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` - BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` - DatetimeFormat pulumi.StringPtrInput `pulumi:"datetimeFormat"` - Encoding pulumi.StringPtrInput `pulumi:"encoding"` - File pulumi.StringInput `pulumi:"file"` - FileFingerprintLines pulumi.StringPtrInput `pulumi:"fileFingerprintLines"` - InitialPosition pulumi.StringPtrInput `pulumi:"initialPosition"` - LogGroupName pulumi.StringInput `pulumi:"logGroupName"` - MultilineStartPattern pulumi.StringPtrInput `pulumi:"multilineStartPattern"` - TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +func (i HaproxyLayerLoadBasedAutoScalingArgs) ToHaproxyLayerLoadBasedAutoScalingOutput() HaproxyLayerLoadBasedAutoScalingOutput { + return i.ToHaproxyLayerLoadBasedAutoScalingOutputWithContext(context.Background()) } -func (MysqlLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MysqlLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (i HaproxyLayerLoadBasedAutoScalingArgs) ToHaproxyLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerLoadBasedAutoScalingOutput) } -func (i MysqlLayerCloudwatchConfigurationLogStreamArgs) ToMysqlLayerCloudwatchConfigurationLogStreamOutput() MysqlLayerCloudwatchConfigurationLogStreamOutput { - return i.ToMysqlLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) +func (i HaproxyLayerLoadBasedAutoScalingArgs) ToHaproxyLayerLoadBasedAutoScalingPtrOutput() HaproxyLayerLoadBasedAutoScalingPtrOutput { + return i.ToHaproxyLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) } -func (i MysqlLayerCloudwatchConfigurationLogStreamArgs) ToMysqlLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerCloudwatchConfigurationLogStreamOutput) +func (i HaproxyLayerLoadBasedAutoScalingArgs) ToHaproxyLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerLoadBasedAutoScalingOutput).ToHaproxyLayerLoadBasedAutoScalingPtrOutputWithContext(ctx) } -// MysqlLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts MysqlLayerCloudwatchConfigurationLogStreamArray and MysqlLayerCloudwatchConfigurationLogStreamArrayOutput values. -// You can construct a concrete instance of `MysqlLayerCloudwatchConfigurationLogStreamArrayInput` via: +// HaproxyLayerLoadBasedAutoScalingPtrInput is an input type that accepts HaproxyLayerLoadBasedAutoScalingArgs, HaproxyLayerLoadBasedAutoScalingPtr and HaproxyLayerLoadBasedAutoScalingPtrOutput values. +// You can construct a concrete instance of `HaproxyLayerLoadBasedAutoScalingPtrInput` via: // -// MysqlLayerCloudwatchConfigurationLogStreamArray{ MysqlLayerCloudwatchConfigurationLogStreamArgs{...} } -type MysqlLayerCloudwatchConfigurationLogStreamArrayInput interface { +// HaproxyLayerLoadBasedAutoScalingArgs{...} +// +// or: +// +// nil +type HaproxyLayerLoadBasedAutoScalingPtrInput interface { pulumi.Input - ToMysqlLayerCloudwatchConfigurationLogStreamArrayOutput() MysqlLayerCloudwatchConfigurationLogStreamArrayOutput - ToMysqlLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) MysqlLayerCloudwatchConfigurationLogStreamArrayOutput + ToHaproxyLayerLoadBasedAutoScalingPtrOutput() HaproxyLayerLoadBasedAutoScalingPtrOutput + ToHaproxyLayerLoadBasedAutoScalingPtrOutputWithContext(context.Context) HaproxyLayerLoadBasedAutoScalingPtrOutput } -type MysqlLayerCloudwatchConfigurationLogStreamArray []MysqlLayerCloudwatchConfigurationLogStreamInput +type haproxyLayerLoadBasedAutoScalingPtrType HaproxyLayerLoadBasedAutoScalingArgs -func (MysqlLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]MysqlLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func HaproxyLayerLoadBasedAutoScalingPtr(v *HaproxyLayerLoadBasedAutoScalingArgs) HaproxyLayerLoadBasedAutoScalingPtrInput { + return (*haproxyLayerLoadBasedAutoScalingPtrType)(v) } -func (i MysqlLayerCloudwatchConfigurationLogStreamArray) ToMysqlLayerCloudwatchConfigurationLogStreamArrayOutput() MysqlLayerCloudwatchConfigurationLogStreamArrayOutput { - return i.ToMysqlLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) +func (*haproxyLayerLoadBasedAutoScalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**HaproxyLayerLoadBasedAutoScaling)(nil)).Elem() } -func (i MysqlLayerCloudwatchConfigurationLogStreamArray) ToMysqlLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationLogStreamArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerCloudwatchConfigurationLogStreamArrayOutput) +func (i *haproxyLayerLoadBasedAutoScalingPtrType) ToHaproxyLayerLoadBasedAutoScalingPtrOutput() HaproxyLayerLoadBasedAutoScalingPtrOutput { + return i.ToHaproxyLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) } -type MysqlLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } +func (i *haproxyLayerLoadBasedAutoScalingPtrType) ToHaproxyLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerLoadBasedAutoScalingPtrOutput) +} -func (MysqlLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MysqlLayerCloudwatchConfigurationLogStream)(nil)).Elem() +type HaproxyLayerLoadBasedAutoScalingOutput struct{ *pulumi.OutputState } + +func (HaproxyLayerLoadBasedAutoScalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HaproxyLayerLoadBasedAutoScaling)(nil)).Elem() } -func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) ToMysqlLayerCloudwatchConfigurationLogStreamOutput() MysqlLayerCloudwatchConfigurationLogStreamOutput { +func (o HaproxyLayerLoadBasedAutoScalingOutput) ToHaproxyLayerLoadBasedAutoScalingOutput() HaproxyLayerLoadBasedAutoScalingOutput { return o } -func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) ToMysqlLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationLogStreamOutput { +func (o HaproxyLayerLoadBasedAutoScalingOutput) ToHaproxyLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingOutput { return o } -func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) +func (o HaproxyLayerLoadBasedAutoScalingOutput) ToHaproxyLayerLoadBasedAutoScalingPtrOutput() HaproxyLayerLoadBasedAutoScalingPtrOutput { + return o.ToHaproxyLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) } -func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) +func (o HaproxyLayerLoadBasedAutoScalingOutput) ToHaproxyLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v HaproxyLayerLoadBasedAutoScaling) *HaproxyLayerLoadBasedAutoScaling { + return &v + }).(HaproxyLayerLoadBasedAutoScalingPtrOutput) } -func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { - return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) +func (o HaproxyLayerLoadBasedAutoScalingOutput) Downscaling() HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v HaproxyLayerLoadBasedAutoScaling) *HaproxyLayerLoadBasedAutoScalingDownscaling { + return v.Downscaling + }).(HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput) } -func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { - return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) +func (o HaproxyLayerLoadBasedAutoScalingOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HaproxyLayerLoadBasedAutoScaling) *bool { return v.Enable }).(pulumi.BoolPtrOutput) } -func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { - return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) +func (o HaproxyLayerLoadBasedAutoScalingOutput) Upscaling() HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v HaproxyLayerLoadBasedAutoScaling) *HaproxyLayerLoadBasedAutoScalingUpscaling { + return v.Upscaling + }).(HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput) } -func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { - return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) -} +type HaproxyLayerLoadBasedAutoScalingPtrOutput struct{ *pulumi.OutputState } -func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { - return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) +func (HaproxyLayerLoadBasedAutoScalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**HaproxyLayerLoadBasedAutoScaling)(nil)).Elem() } -func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { - return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) +func (o HaproxyLayerLoadBasedAutoScalingPtrOutput) ToHaproxyLayerLoadBasedAutoScalingPtrOutput() HaproxyLayerLoadBasedAutoScalingPtrOutput { + return o } -func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { - return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) +func (o HaproxyLayerLoadBasedAutoScalingPtrOutput) ToHaproxyLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingPtrOutput { + return o } -func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { - return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) +func (o HaproxyLayerLoadBasedAutoScalingPtrOutput) Elem() HaproxyLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScaling) HaproxyLayerLoadBasedAutoScaling { + if v != nil { + return *v + } + var ret HaproxyLayerLoadBasedAutoScaling + return ret + }).(HaproxyLayerLoadBasedAutoScalingOutput) } -func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +func (o HaproxyLayerLoadBasedAutoScalingPtrOutput) Downscaling() HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScaling) *HaproxyLayerLoadBasedAutoScalingDownscaling { + if v == nil { + return nil + } + return v.Downscaling + }).(HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput) } -type MysqlLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } - -func (MysqlLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]MysqlLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (o HaproxyLayerLoadBasedAutoScalingPtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScaling) *bool { + if v == nil { + return nil + } + return v.Enable + }).(pulumi.BoolPtrOutput) } -func (o MysqlLayerCloudwatchConfigurationLogStreamArrayOutput) ToMysqlLayerCloudwatchConfigurationLogStreamArrayOutput() MysqlLayerCloudwatchConfigurationLogStreamArrayOutput { - return o +func (o HaproxyLayerLoadBasedAutoScalingPtrOutput) Upscaling() HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScaling) *HaproxyLayerLoadBasedAutoScalingUpscaling { + if v == nil { + return nil + } + return v.Upscaling + }).(HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput) } -func (o MysqlLayerCloudwatchConfigurationLogStreamArrayOutput) ToMysqlLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationLogStreamArrayOutput { - return o +type HaproxyLayerLoadBasedAutoScalingDownscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` } -func (o MysqlLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) MysqlLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) MysqlLayerCloudwatchConfigurationLogStream { - return vs[0].([]MysqlLayerCloudwatchConfigurationLogStream)[vs[1].(int)] - }).(MysqlLayerCloudwatchConfigurationLogStreamOutput) -} +// HaproxyLayerLoadBasedAutoScalingDownscalingInput is an input type that accepts HaproxyLayerLoadBasedAutoScalingDownscalingArgs and HaproxyLayerLoadBasedAutoScalingDownscalingOutput values. +// You can construct a concrete instance of `HaproxyLayerLoadBasedAutoScalingDownscalingInput` via: +// +// HaproxyLayerLoadBasedAutoScalingDownscalingArgs{...} +type HaproxyLayerLoadBasedAutoScalingDownscalingInput interface { + pulumi.Input -type MysqlLayerEbsVolume struct { - Encrypted *bool `pulumi:"encrypted"` - // For PIOPS volumes, the IOPS per disk. - Iops *int `pulumi:"iops"` - // The path to mount the EBS volume on the layer's instances. - MountPoint string `pulumi:"mountPoint"` - // The number of disks to use for the EBS volume. - NumberOfDisks int `pulumi:"numberOfDisks"` - // The RAID level to use for the volume. - RaidLevel *string `pulumi:"raidLevel"` - // The size of the volume in gigabytes. - Size int `pulumi:"size"` - // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - Type *string `pulumi:"type"` + ToHaproxyLayerLoadBasedAutoScalingDownscalingOutput() HaproxyLayerLoadBasedAutoScalingDownscalingOutput + ToHaproxyLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Context) HaproxyLayerLoadBasedAutoScalingDownscalingOutput } -// MysqlLayerEbsVolumeInput is an input type that accepts MysqlLayerEbsVolumeArgs and MysqlLayerEbsVolumeOutput values. -// You can construct a concrete instance of `MysqlLayerEbsVolumeInput` via: -// -// MysqlLayerEbsVolumeArgs{...} -type MysqlLayerEbsVolumeInput interface { - pulumi.Input +type HaproxyLayerLoadBasedAutoScalingDownscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` +} - ToMysqlLayerEbsVolumeOutput() MysqlLayerEbsVolumeOutput - ToMysqlLayerEbsVolumeOutputWithContext(context.Context) MysqlLayerEbsVolumeOutput +func (HaproxyLayerLoadBasedAutoScalingDownscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HaproxyLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -type MysqlLayerEbsVolumeArgs struct { - Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` - // For PIOPS volumes, the IOPS per disk. - Iops pulumi.IntPtrInput `pulumi:"iops"` - // The path to mount the EBS volume on the layer's instances. - MountPoint pulumi.StringInput `pulumi:"mountPoint"` - // The number of disks to use for the EBS volume. - NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"` - // The RAID level to use for the volume. - RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"` - // The size of the volume in gigabytes. - Size pulumi.IntInput `pulumi:"size"` - // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - Type pulumi.StringPtrInput `pulumi:"type"` +func (i HaproxyLayerLoadBasedAutoScalingDownscalingArgs) ToHaproxyLayerLoadBasedAutoScalingDownscalingOutput() HaproxyLayerLoadBasedAutoScalingDownscalingOutput { + return i.ToHaproxyLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Background()) } -func (MysqlLayerEbsVolumeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MysqlLayerEbsVolume)(nil)).Elem() +func (i HaproxyLayerLoadBasedAutoScalingDownscalingArgs) ToHaproxyLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingDownscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerLoadBasedAutoScalingDownscalingOutput) } -func (i MysqlLayerEbsVolumeArgs) ToMysqlLayerEbsVolumeOutput() MysqlLayerEbsVolumeOutput { - return i.ToMysqlLayerEbsVolumeOutputWithContext(context.Background()) +func (i HaproxyLayerLoadBasedAutoScalingDownscalingArgs) ToHaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput() HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToHaproxyLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) } -func (i MysqlLayerEbsVolumeArgs) ToMysqlLayerEbsVolumeOutputWithContext(ctx context.Context) MysqlLayerEbsVolumeOutput { - return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerEbsVolumeOutput) +func (i HaproxyLayerLoadBasedAutoScalingDownscalingArgs) ToHaproxyLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerLoadBasedAutoScalingDownscalingOutput).ToHaproxyLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx) } -// MysqlLayerEbsVolumeArrayInput is an input type that accepts MysqlLayerEbsVolumeArray and MysqlLayerEbsVolumeArrayOutput values. -// You can construct a concrete instance of `MysqlLayerEbsVolumeArrayInput` via: +// HaproxyLayerLoadBasedAutoScalingDownscalingPtrInput is an input type that accepts HaproxyLayerLoadBasedAutoScalingDownscalingArgs, HaproxyLayerLoadBasedAutoScalingDownscalingPtr and HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput values. +// You can construct a concrete instance of `HaproxyLayerLoadBasedAutoScalingDownscalingPtrInput` via: // -// MysqlLayerEbsVolumeArray{ MysqlLayerEbsVolumeArgs{...} } -type MysqlLayerEbsVolumeArrayInput interface { +// HaproxyLayerLoadBasedAutoScalingDownscalingArgs{...} +// +// or: +// +// nil +type HaproxyLayerLoadBasedAutoScalingDownscalingPtrInput interface { pulumi.Input - ToMysqlLayerEbsVolumeArrayOutput() MysqlLayerEbsVolumeArrayOutput - ToMysqlLayerEbsVolumeArrayOutputWithContext(context.Context) MysqlLayerEbsVolumeArrayOutput + ToHaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput() HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput + ToHaproxyLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Context) HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput } -type MysqlLayerEbsVolumeArray []MysqlLayerEbsVolumeInput +type haproxyLayerLoadBasedAutoScalingDownscalingPtrType HaproxyLayerLoadBasedAutoScalingDownscalingArgs -func (MysqlLayerEbsVolumeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]MysqlLayerEbsVolume)(nil)).Elem() +func HaproxyLayerLoadBasedAutoScalingDownscalingPtr(v *HaproxyLayerLoadBasedAutoScalingDownscalingArgs) HaproxyLayerLoadBasedAutoScalingDownscalingPtrInput { + return (*haproxyLayerLoadBasedAutoScalingDownscalingPtrType)(v) } -func (i MysqlLayerEbsVolumeArray) ToMysqlLayerEbsVolumeArrayOutput() MysqlLayerEbsVolumeArrayOutput { - return i.ToMysqlLayerEbsVolumeArrayOutputWithContext(context.Background()) +func (*haproxyLayerLoadBasedAutoScalingDownscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**HaproxyLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (i MysqlLayerEbsVolumeArray) ToMysqlLayerEbsVolumeArrayOutputWithContext(ctx context.Context) MysqlLayerEbsVolumeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerEbsVolumeArrayOutput) +func (i *haproxyLayerLoadBasedAutoScalingDownscalingPtrType) ToHaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput() HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToHaproxyLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) } -type MysqlLayerEbsVolumeOutput struct{ *pulumi.OutputState } +func (i *haproxyLayerLoadBasedAutoScalingDownscalingPtrType) ToHaproxyLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput) +} -func (MysqlLayerEbsVolumeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MysqlLayerEbsVolume)(nil)).Elem() +type HaproxyLayerLoadBasedAutoScalingDownscalingOutput struct{ *pulumi.OutputState } + +func (HaproxyLayerLoadBasedAutoScalingDownscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HaproxyLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (o MysqlLayerEbsVolumeOutput) ToMysqlLayerEbsVolumeOutput() MysqlLayerEbsVolumeOutput { +func (o HaproxyLayerLoadBasedAutoScalingDownscalingOutput) ToHaproxyLayerLoadBasedAutoScalingDownscalingOutput() HaproxyLayerLoadBasedAutoScalingDownscalingOutput { return o } -func (o MysqlLayerEbsVolumeOutput) ToMysqlLayerEbsVolumeOutputWithContext(ctx context.Context) MysqlLayerEbsVolumeOutput { +func (o HaproxyLayerLoadBasedAutoScalingDownscalingOutput) ToHaproxyLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingDownscalingOutput { return o } -func (o MysqlLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v MysqlLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +func (o HaproxyLayerLoadBasedAutoScalingDownscalingOutput) ToHaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput() HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ToHaproxyLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) } -// For PIOPS volumes, the IOPS per disk. -func (o MysqlLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v MysqlLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) +func (o HaproxyLayerLoadBasedAutoScalingDownscalingOutput) ToHaproxyLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v HaproxyLayerLoadBasedAutoScalingDownscaling) *HaproxyLayerLoadBasedAutoScalingDownscaling { + return &v + }).(HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput) } -// The path to mount the EBS volume on the layer's instances. -func (o MysqlLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { - return o.ApplyT(func(v MysqlLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) +func (o HaproxyLayerLoadBasedAutoScalingDownscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v HaproxyLayerLoadBasedAutoScalingDownscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) } -// The number of disks to use for the EBS volume. -func (o MysqlLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { - return o.ApplyT(func(v MysqlLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) +func (o HaproxyLayerLoadBasedAutoScalingDownscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v HaproxyLayerLoadBasedAutoScalingDownscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) } -// The RAID level to use for the volume. -func (o MysqlLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { - return o.ApplyT(func(v MysqlLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) +func (o HaproxyLayerLoadBasedAutoScalingDownscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v HaproxyLayerLoadBasedAutoScalingDownscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) } -// The size of the volume in gigabytes. -func (o MysqlLayerEbsVolumeOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v MysqlLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) +func (o HaproxyLayerLoadBasedAutoScalingDownscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v HaproxyLayerLoadBasedAutoScalingDownscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) } -// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. -func (o MysqlLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v MysqlLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +func (o HaproxyLayerLoadBasedAutoScalingDownscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v HaproxyLayerLoadBasedAutoScalingDownscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) } -type MysqlLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } +func (o HaproxyLayerLoadBasedAutoScalingDownscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v HaproxyLayerLoadBasedAutoScalingDownscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) +} -func (MysqlLayerEbsVolumeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]MysqlLayerEbsVolume)(nil)).Elem() +func (o HaproxyLayerLoadBasedAutoScalingDownscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v HaproxyLayerLoadBasedAutoScalingDownscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) } -func (o MysqlLayerEbsVolumeArrayOutput) ToMysqlLayerEbsVolumeArrayOutput() MysqlLayerEbsVolumeArrayOutput { - return o +type HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput struct{ *pulumi.OutputState } + +func (HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**HaproxyLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (o MysqlLayerEbsVolumeArrayOutput) ToMysqlLayerEbsVolumeArrayOutputWithContext(ctx context.Context) MysqlLayerEbsVolumeArrayOutput { +func (o HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput) ToHaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput() HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput { return o } -func (o MysqlLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) MysqlLayerEbsVolumeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) MysqlLayerEbsVolume { - return vs[0].([]MysqlLayerEbsVolume)[vs[1].(int)] - }).(MysqlLayerEbsVolumeOutput) +func (o HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput) ToHaproxyLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o } -type NodejsAppLayerCloudwatchConfiguration struct { - Enabled *bool `pulumi:"enabled"` - LogStreams []NodejsAppLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +func (o HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput) Elem() HaproxyLayerLoadBasedAutoScalingDownscalingOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScalingDownscaling) HaproxyLayerLoadBasedAutoScalingDownscaling { + if v != nil { + return *v + } + var ret HaproxyLayerLoadBasedAutoScalingDownscaling + return ret + }).(HaproxyLayerLoadBasedAutoScalingDownscalingOutput) } -// NodejsAppLayerCloudwatchConfigurationInput is an input type that accepts NodejsAppLayerCloudwatchConfigurationArgs and NodejsAppLayerCloudwatchConfigurationOutput values. -// You can construct a concrete instance of `NodejsAppLayerCloudwatchConfigurationInput` via: -// -// NodejsAppLayerCloudwatchConfigurationArgs{...} -type NodejsAppLayerCloudwatchConfigurationInput interface { - pulumi.Input +func (o HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScalingDownscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) +} - ToNodejsAppLayerCloudwatchConfigurationOutput() NodejsAppLayerCloudwatchConfigurationOutput - ToNodejsAppLayerCloudwatchConfigurationOutputWithContext(context.Context) NodejsAppLayerCloudwatchConfigurationOutput +func (o HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) } -type NodejsAppLayerCloudwatchConfigurationArgs struct { - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - LogStreams NodejsAppLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` +func (o HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) } -func (NodejsAppLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NodejsAppLayerCloudwatchConfiguration)(nil)).Elem() +func (o HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) } -func (i NodejsAppLayerCloudwatchConfigurationArgs) ToNodejsAppLayerCloudwatchConfigurationOutput() NodejsAppLayerCloudwatchConfigurationOutput { - return i.ToNodejsAppLayerCloudwatchConfigurationOutputWithContext(context.Background()) +func (o HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) } -func (i NodejsAppLayerCloudwatchConfigurationArgs) ToNodejsAppLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerCloudwatchConfigurationOutput) +func (o HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) } -func (i NodejsAppLayerCloudwatchConfigurationArgs) ToNodejsAppLayerCloudwatchConfigurationPtrOutput() NodejsAppLayerCloudwatchConfigurationPtrOutput { - return i.ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (o HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) } -func (i NodejsAppLayerCloudwatchConfigurationArgs) ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerCloudwatchConfigurationOutput).ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx) +type HaproxyLayerLoadBasedAutoScalingUpscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` } -// NodejsAppLayerCloudwatchConfigurationPtrInput is an input type that accepts NodejsAppLayerCloudwatchConfigurationArgs, NodejsAppLayerCloudwatchConfigurationPtr and NodejsAppLayerCloudwatchConfigurationPtrOutput values. -// You can construct a concrete instance of `NodejsAppLayerCloudwatchConfigurationPtrInput` via: +// HaproxyLayerLoadBasedAutoScalingUpscalingInput is an input type that accepts HaproxyLayerLoadBasedAutoScalingUpscalingArgs and HaproxyLayerLoadBasedAutoScalingUpscalingOutput values. +// You can construct a concrete instance of `HaproxyLayerLoadBasedAutoScalingUpscalingInput` via: // -// NodejsAppLayerCloudwatchConfigurationArgs{...} +// HaproxyLayerLoadBasedAutoScalingUpscalingArgs{...} +type HaproxyLayerLoadBasedAutoScalingUpscalingInput interface { + pulumi.Input + + ToHaproxyLayerLoadBasedAutoScalingUpscalingOutput() HaproxyLayerLoadBasedAutoScalingUpscalingOutput + ToHaproxyLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Context) HaproxyLayerLoadBasedAutoScalingUpscalingOutput +} + +type HaproxyLayerLoadBasedAutoScalingUpscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` +} + +func (HaproxyLayerLoadBasedAutoScalingUpscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HaproxyLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (i HaproxyLayerLoadBasedAutoScalingUpscalingArgs) ToHaproxyLayerLoadBasedAutoScalingUpscalingOutput() HaproxyLayerLoadBasedAutoScalingUpscalingOutput { + return i.ToHaproxyLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Background()) +} + +func (i HaproxyLayerLoadBasedAutoScalingUpscalingArgs) ToHaproxyLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingUpscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerLoadBasedAutoScalingUpscalingOutput) +} + +func (i HaproxyLayerLoadBasedAutoScalingUpscalingArgs) ToHaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput() HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToHaproxyLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (i HaproxyLayerLoadBasedAutoScalingUpscalingArgs) ToHaproxyLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerLoadBasedAutoScalingUpscalingOutput).ToHaproxyLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx) +} + +// HaproxyLayerLoadBasedAutoScalingUpscalingPtrInput is an input type that accepts HaproxyLayerLoadBasedAutoScalingUpscalingArgs, HaproxyLayerLoadBasedAutoScalingUpscalingPtr and HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput values. +// You can construct a concrete instance of `HaproxyLayerLoadBasedAutoScalingUpscalingPtrInput` via: +// +// HaproxyLayerLoadBasedAutoScalingUpscalingArgs{...} // // or: // // nil -type NodejsAppLayerCloudwatchConfigurationPtrInput interface { +type HaproxyLayerLoadBasedAutoScalingUpscalingPtrInput interface { pulumi.Input - ToNodejsAppLayerCloudwatchConfigurationPtrOutput() NodejsAppLayerCloudwatchConfigurationPtrOutput - ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) NodejsAppLayerCloudwatchConfigurationPtrOutput + ToHaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput() HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput + ToHaproxyLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Context) HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput } -type nodejsAppLayerCloudwatchConfigurationPtrType NodejsAppLayerCloudwatchConfigurationArgs +type haproxyLayerLoadBasedAutoScalingUpscalingPtrType HaproxyLayerLoadBasedAutoScalingUpscalingArgs -func NodejsAppLayerCloudwatchConfigurationPtr(v *NodejsAppLayerCloudwatchConfigurationArgs) NodejsAppLayerCloudwatchConfigurationPtrInput { - return (*nodejsAppLayerCloudwatchConfigurationPtrType)(v) +func HaproxyLayerLoadBasedAutoScalingUpscalingPtr(v *HaproxyLayerLoadBasedAutoScalingUpscalingArgs) HaproxyLayerLoadBasedAutoScalingUpscalingPtrInput { + return (*haproxyLayerLoadBasedAutoScalingUpscalingPtrType)(v) } -func (*nodejsAppLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NodejsAppLayerCloudwatchConfiguration)(nil)).Elem() +func (*haproxyLayerLoadBasedAutoScalingUpscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**HaproxyLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() } -func (i *nodejsAppLayerCloudwatchConfigurationPtrType) ToNodejsAppLayerCloudwatchConfigurationPtrOutput() NodejsAppLayerCloudwatchConfigurationPtrOutput { - return i.ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (i *haproxyLayerLoadBasedAutoScalingUpscalingPtrType) ToHaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput() HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToHaproxyLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) } -func (i *nodejsAppLayerCloudwatchConfigurationPtrType) ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerCloudwatchConfigurationPtrOutput) +func (i *haproxyLayerLoadBasedAutoScalingUpscalingPtrType) ToHaproxyLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput) } -type NodejsAppLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } +type HaproxyLayerLoadBasedAutoScalingUpscalingOutput struct{ *pulumi.OutputState } -func (NodejsAppLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NodejsAppLayerCloudwatchConfiguration)(nil)).Elem() +func (HaproxyLayerLoadBasedAutoScalingUpscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HaproxyLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() } -func (o NodejsAppLayerCloudwatchConfigurationOutput) ToNodejsAppLayerCloudwatchConfigurationOutput() NodejsAppLayerCloudwatchConfigurationOutput { +func (o HaproxyLayerLoadBasedAutoScalingUpscalingOutput) ToHaproxyLayerLoadBasedAutoScalingUpscalingOutput() HaproxyLayerLoadBasedAutoScalingUpscalingOutput { return o } -func (o NodejsAppLayerCloudwatchConfigurationOutput) ToNodejsAppLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationOutput { +func (o HaproxyLayerLoadBasedAutoScalingUpscalingOutput) ToHaproxyLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingUpscalingOutput { return o } -func (o NodejsAppLayerCloudwatchConfigurationOutput) ToNodejsAppLayerCloudwatchConfigurationPtrOutput() NodejsAppLayerCloudwatchConfigurationPtrOutput { - return o.ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (o HaproxyLayerLoadBasedAutoScalingUpscalingOutput) ToHaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput() HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ToHaproxyLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) } -func (o NodejsAppLayerCloudwatchConfigurationOutput) ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NodejsAppLayerCloudwatchConfiguration) *NodejsAppLayerCloudwatchConfiguration { +func (o HaproxyLayerLoadBasedAutoScalingUpscalingOutput) ToHaproxyLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v HaproxyLayerLoadBasedAutoScalingUpscaling) *HaproxyLayerLoadBasedAutoScalingUpscaling { return &v - }).(NodejsAppLayerCloudwatchConfigurationPtrOutput) + }).(HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput) } -func (o NodejsAppLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v NodejsAppLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +func (o HaproxyLayerLoadBasedAutoScalingUpscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v HaproxyLayerLoadBasedAutoScalingUpscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) } -func (o NodejsAppLayerCloudwatchConfigurationOutput) LogStreams() NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v NodejsAppLayerCloudwatchConfiguration) []NodejsAppLayerCloudwatchConfigurationLogStream { - return v.LogStreams - }).(NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput) +func (o HaproxyLayerLoadBasedAutoScalingUpscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v HaproxyLayerLoadBasedAutoScalingUpscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) } -type NodejsAppLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } +func (o HaproxyLayerLoadBasedAutoScalingUpscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v HaproxyLayerLoadBasedAutoScalingUpscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) +} -func (NodejsAppLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NodejsAppLayerCloudwatchConfiguration)(nil)).Elem() +func (o HaproxyLayerLoadBasedAutoScalingUpscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v HaproxyLayerLoadBasedAutoScalingUpscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) } -func (o NodejsAppLayerCloudwatchConfigurationPtrOutput) ToNodejsAppLayerCloudwatchConfigurationPtrOutput() NodejsAppLayerCloudwatchConfigurationPtrOutput { +func (o HaproxyLayerLoadBasedAutoScalingUpscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v HaproxyLayerLoadBasedAutoScalingUpscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) +} + +func (o HaproxyLayerLoadBasedAutoScalingUpscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v HaproxyLayerLoadBasedAutoScalingUpscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) +} + +func (o HaproxyLayerLoadBasedAutoScalingUpscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v HaproxyLayerLoadBasedAutoScalingUpscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) +} + +type HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput struct{ *pulumi.OutputState } + +func (HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**HaproxyLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (o HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput) ToHaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput() HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput { return o } -func (o NodejsAppLayerCloudwatchConfigurationPtrOutput) ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationPtrOutput { +func (o HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput) ToHaproxyLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput { return o } -func (o NodejsAppLayerCloudwatchConfigurationPtrOutput) Elem() NodejsAppLayerCloudwatchConfigurationOutput { - return o.ApplyT(func(v *NodejsAppLayerCloudwatchConfiguration) NodejsAppLayerCloudwatchConfiguration { +func (o HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput) Elem() HaproxyLayerLoadBasedAutoScalingUpscalingOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScalingUpscaling) HaproxyLayerLoadBasedAutoScalingUpscaling { if v != nil { return *v } - var ret NodejsAppLayerCloudwatchConfiguration + var ret HaproxyLayerLoadBasedAutoScalingUpscaling return ret - }).(NodejsAppLayerCloudwatchConfigurationOutput) + }).(HaproxyLayerLoadBasedAutoScalingUpscalingOutput) } -func (o NodejsAppLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *NodejsAppLayerCloudwatchConfiguration) *bool { +func (o HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScalingUpscaling) []string { if v == nil { return nil } - return v.Enabled - }).(pulumi.BoolPtrOutput) + return v.Alarms + }).(pulumi.StringArrayOutput) } -func (o NodejsAppLayerCloudwatchConfigurationPtrOutput) LogStreams() NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v *NodejsAppLayerCloudwatchConfiguration) []NodejsAppLayerCloudwatchConfigurationLogStream { +func (o HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScalingUpscaling) *float64 { if v == nil { return nil } - return v.LogStreams - }).(NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput) + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) } -type NodejsAppLayerCloudwatchConfigurationLogStream struct { - BatchCount *int `pulumi:"batchCount"` - BatchSize *int `pulumi:"batchSize"` - BufferDuration *int `pulumi:"bufferDuration"` - DatetimeFormat *string `pulumi:"datetimeFormat"` - Encoding *string `pulumi:"encoding"` - File string `pulumi:"file"` - FileFingerprintLines *string `pulumi:"fileFingerprintLines"` - InitialPosition *string `pulumi:"initialPosition"` - LogGroupName string `pulumi:"logGroupName"` - MultilineStartPattern *string `pulumi:"multilineStartPattern"` - TimeZone *string `pulumi:"timeZone"` +func (o HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) } -// NodejsAppLayerCloudwatchConfigurationLogStreamInput is an input type that accepts NodejsAppLayerCloudwatchConfigurationLogStreamArgs and NodejsAppLayerCloudwatchConfigurationLogStreamOutput values. -// You can construct a concrete instance of `NodejsAppLayerCloudwatchConfigurationLogStreamInput` via: -// -// NodejsAppLayerCloudwatchConfigurationLogStreamArgs{...} -type NodejsAppLayerCloudwatchConfigurationLogStreamInput interface { - pulumi.Input - - ToNodejsAppLayerCloudwatchConfigurationLogStreamOutput() NodejsAppLayerCloudwatchConfigurationLogStreamOutput - ToNodejsAppLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) NodejsAppLayerCloudwatchConfigurationLogStreamOutput +func (o HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) } -type NodejsAppLayerCloudwatchConfigurationLogStreamArgs struct { - BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` - BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` - BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` - DatetimeFormat pulumi.StringPtrInput `pulumi:"datetimeFormat"` - Encoding pulumi.StringPtrInput `pulumi:"encoding"` - File pulumi.StringInput `pulumi:"file"` - FileFingerprintLines pulumi.StringPtrInput `pulumi:"fileFingerprintLines"` - InitialPosition pulumi.StringPtrInput `pulumi:"initialPosition"` - LogGroupName pulumi.StringInput `pulumi:"logGroupName"` - MultilineStartPattern pulumi.StringPtrInput `pulumi:"multilineStartPattern"` - TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +func (o HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) } -func (NodejsAppLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NodejsAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (o HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) } -func (i NodejsAppLayerCloudwatchConfigurationLogStreamArgs) ToNodejsAppLayerCloudwatchConfigurationLogStreamOutput() NodejsAppLayerCloudwatchConfigurationLogStreamOutput { - return i.ToNodejsAppLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) +func (o HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *HaproxyLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) } -func (i NodejsAppLayerCloudwatchConfigurationLogStreamArgs) ToNodejsAppLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerCloudwatchConfigurationLogStreamOutput) +type InstanceEbsBlockDevice struct { + DeleteOnTermination *bool `pulumi:"deleteOnTermination"` + DeviceName string `pulumi:"deviceName"` + Iops *int `pulumi:"iops"` + SnapshotId *string `pulumi:"snapshotId"` + VolumeSize *int `pulumi:"volumeSize"` + VolumeType *string `pulumi:"volumeType"` } -// NodejsAppLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts NodejsAppLayerCloudwatchConfigurationLogStreamArray and NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput values. -// You can construct a concrete instance of `NodejsAppLayerCloudwatchConfigurationLogStreamArrayInput` via: +// InstanceEbsBlockDeviceInput is an input type that accepts InstanceEbsBlockDeviceArgs and InstanceEbsBlockDeviceOutput values. +// You can construct a concrete instance of `InstanceEbsBlockDeviceInput` via: // -// NodejsAppLayerCloudwatchConfigurationLogStreamArray{ NodejsAppLayerCloudwatchConfigurationLogStreamArgs{...} } -type NodejsAppLayerCloudwatchConfigurationLogStreamArrayInput interface { +// InstanceEbsBlockDeviceArgs{...} +type InstanceEbsBlockDeviceInput interface { pulumi.Input - ToNodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput() NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput - ToNodejsAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput + ToInstanceEbsBlockDeviceOutput() InstanceEbsBlockDeviceOutput + ToInstanceEbsBlockDeviceOutputWithContext(context.Context) InstanceEbsBlockDeviceOutput } -type NodejsAppLayerCloudwatchConfigurationLogStreamArray []NodejsAppLayerCloudwatchConfigurationLogStreamInput +type InstanceEbsBlockDeviceArgs struct { + DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` + DeviceName pulumi.StringInput `pulumi:"deviceName"` + Iops pulumi.IntPtrInput `pulumi:"iops"` + SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` + VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` + VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` +} -func (NodejsAppLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NodejsAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (InstanceEbsBlockDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceEbsBlockDevice)(nil)).Elem() } -func (i NodejsAppLayerCloudwatchConfigurationLogStreamArray) ToNodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput() NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return i.ToNodejsAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) +func (i InstanceEbsBlockDeviceArgs) ToInstanceEbsBlockDeviceOutput() InstanceEbsBlockDeviceOutput { + return i.ToInstanceEbsBlockDeviceOutputWithContext(context.Background()) } -func (i NodejsAppLayerCloudwatchConfigurationLogStreamArray) ToNodejsAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput) +func (i InstanceEbsBlockDeviceArgs) ToInstanceEbsBlockDeviceOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceEbsBlockDeviceOutput) } -type NodejsAppLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } +// InstanceEbsBlockDeviceArrayInput is an input type that accepts InstanceEbsBlockDeviceArray and InstanceEbsBlockDeviceArrayOutput values. +// You can construct a concrete instance of `InstanceEbsBlockDeviceArrayInput` via: +// +// InstanceEbsBlockDeviceArray{ InstanceEbsBlockDeviceArgs{...} } +type InstanceEbsBlockDeviceArrayInput interface { + pulumi.Input -func (NodejsAppLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NodejsAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() + ToInstanceEbsBlockDeviceArrayOutput() InstanceEbsBlockDeviceArrayOutput + ToInstanceEbsBlockDeviceArrayOutputWithContext(context.Context) InstanceEbsBlockDeviceArrayOutput } -func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) ToNodejsAppLayerCloudwatchConfigurationLogStreamOutput() NodejsAppLayerCloudwatchConfigurationLogStreamOutput { - return o -} +type InstanceEbsBlockDeviceArray []InstanceEbsBlockDeviceInput -func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) ToNodejsAppLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationLogStreamOutput { - return o +func (InstanceEbsBlockDeviceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceEbsBlockDevice)(nil)).Elem() } -func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) +func (i InstanceEbsBlockDeviceArray) ToInstanceEbsBlockDeviceArrayOutput() InstanceEbsBlockDeviceArrayOutput { + return i.ToInstanceEbsBlockDeviceArrayOutputWithContext(context.Background()) } -func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) +func (i InstanceEbsBlockDeviceArray) ToInstanceEbsBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceEbsBlockDeviceArrayOutput) } -func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { - return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) +type InstanceEbsBlockDeviceOutput struct{ *pulumi.OutputState } + +func (InstanceEbsBlockDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceEbsBlockDevice)(nil)).Elem() } -func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) +func (o InstanceEbsBlockDeviceOutput) ToInstanceEbsBlockDeviceOutput() InstanceEbsBlockDeviceOutput { + return o } -func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) +func (o InstanceEbsBlockDeviceOutput) ToInstanceEbsBlockDeviceOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceOutput { + return o } -func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { - return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) +func (o InstanceEbsBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) } -func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) +func (o InstanceEbsBlockDeviceOutput) DeviceName() pulumi.StringOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) } -func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) +func (o InstanceEbsBlockDeviceOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) } -func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { - return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) +func (o InstanceEbsBlockDeviceOutput) SnapshotId() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) } -func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) +func (o InstanceEbsBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) } -func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +func (o InstanceEbsBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) } -type NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } +type InstanceEbsBlockDeviceArrayOutput struct{ *pulumi.OutputState } -func (NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NodejsAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (InstanceEbsBlockDeviceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceEbsBlockDevice)(nil)).Elem() } -func (o NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput) ToNodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput() NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput { +func (o InstanceEbsBlockDeviceArrayOutput) ToInstanceEbsBlockDeviceArrayOutput() InstanceEbsBlockDeviceArrayOutput { return o } -func (o NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput) ToNodejsAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput { +func (o InstanceEbsBlockDeviceArrayOutput) ToInstanceEbsBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceArrayOutput { return o } -func (o NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) NodejsAppLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodejsAppLayerCloudwatchConfigurationLogStream { - return vs[0].([]NodejsAppLayerCloudwatchConfigurationLogStream)[vs[1].(int)] - }).(NodejsAppLayerCloudwatchConfigurationLogStreamOutput) +func (o InstanceEbsBlockDeviceArrayOutput) Index(i pulumi.IntInput) InstanceEbsBlockDeviceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceEbsBlockDevice { + return vs[0].([]InstanceEbsBlockDevice)[vs[1].(int)] + }).(InstanceEbsBlockDeviceOutput) } -type NodejsAppLayerEbsVolume struct { - Encrypted *bool `pulumi:"encrypted"` - // For PIOPS volumes, the IOPS per disk. - Iops *int `pulumi:"iops"` - // The path to mount the EBS volume on the layer's instances. - MountPoint string `pulumi:"mountPoint"` - // The number of disks to use for the EBS volume. - NumberOfDisks int `pulumi:"numberOfDisks"` - // The RAID level to use for the volume. - RaidLevel *string `pulumi:"raidLevel"` - // The size of the volume in gigabytes. - Size int `pulumi:"size"` - // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - Type *string `pulumi:"type"` +type InstanceEphemeralBlockDevice struct { + DeviceName string `pulumi:"deviceName"` + VirtualName string `pulumi:"virtualName"` } -// NodejsAppLayerEbsVolumeInput is an input type that accepts NodejsAppLayerEbsVolumeArgs and NodejsAppLayerEbsVolumeOutput values. -// You can construct a concrete instance of `NodejsAppLayerEbsVolumeInput` via: +// InstanceEphemeralBlockDeviceInput is an input type that accepts InstanceEphemeralBlockDeviceArgs and InstanceEphemeralBlockDeviceOutput values. +// You can construct a concrete instance of `InstanceEphemeralBlockDeviceInput` via: // -// NodejsAppLayerEbsVolumeArgs{...} -type NodejsAppLayerEbsVolumeInput interface { +// InstanceEphemeralBlockDeviceArgs{...} +type InstanceEphemeralBlockDeviceInput interface { pulumi.Input - ToNodejsAppLayerEbsVolumeOutput() NodejsAppLayerEbsVolumeOutput - ToNodejsAppLayerEbsVolumeOutputWithContext(context.Context) NodejsAppLayerEbsVolumeOutput + ToInstanceEphemeralBlockDeviceOutput() InstanceEphemeralBlockDeviceOutput + ToInstanceEphemeralBlockDeviceOutputWithContext(context.Context) InstanceEphemeralBlockDeviceOutput } -type NodejsAppLayerEbsVolumeArgs struct { - Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` - // For PIOPS volumes, the IOPS per disk. - Iops pulumi.IntPtrInput `pulumi:"iops"` - // The path to mount the EBS volume on the layer's instances. - MountPoint pulumi.StringInput `pulumi:"mountPoint"` - // The number of disks to use for the EBS volume. - NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"` - // The RAID level to use for the volume. - RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"` - // The size of the volume in gigabytes. - Size pulumi.IntInput `pulumi:"size"` - // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - Type pulumi.StringPtrInput `pulumi:"type"` +type InstanceEphemeralBlockDeviceArgs struct { + DeviceName pulumi.StringInput `pulumi:"deviceName"` + VirtualName pulumi.StringInput `pulumi:"virtualName"` } -func (NodejsAppLayerEbsVolumeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NodejsAppLayerEbsVolume)(nil)).Elem() +func (InstanceEphemeralBlockDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceEphemeralBlockDevice)(nil)).Elem() } -func (i NodejsAppLayerEbsVolumeArgs) ToNodejsAppLayerEbsVolumeOutput() NodejsAppLayerEbsVolumeOutput { - return i.ToNodejsAppLayerEbsVolumeOutputWithContext(context.Background()) +func (i InstanceEphemeralBlockDeviceArgs) ToInstanceEphemeralBlockDeviceOutput() InstanceEphemeralBlockDeviceOutput { + return i.ToInstanceEphemeralBlockDeviceOutputWithContext(context.Background()) } -func (i NodejsAppLayerEbsVolumeArgs) ToNodejsAppLayerEbsVolumeOutputWithContext(ctx context.Context) NodejsAppLayerEbsVolumeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerEbsVolumeOutput) +func (i InstanceEphemeralBlockDeviceArgs) ToInstanceEphemeralBlockDeviceOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceEphemeralBlockDeviceOutput) } -// NodejsAppLayerEbsVolumeArrayInput is an input type that accepts NodejsAppLayerEbsVolumeArray and NodejsAppLayerEbsVolumeArrayOutput values. -// You can construct a concrete instance of `NodejsAppLayerEbsVolumeArrayInput` via: +// InstanceEphemeralBlockDeviceArrayInput is an input type that accepts InstanceEphemeralBlockDeviceArray and InstanceEphemeralBlockDeviceArrayOutput values. +// You can construct a concrete instance of `InstanceEphemeralBlockDeviceArrayInput` via: // -// NodejsAppLayerEbsVolumeArray{ NodejsAppLayerEbsVolumeArgs{...} } -type NodejsAppLayerEbsVolumeArrayInput interface { +// InstanceEphemeralBlockDeviceArray{ InstanceEphemeralBlockDeviceArgs{...} } +type InstanceEphemeralBlockDeviceArrayInput interface { pulumi.Input - ToNodejsAppLayerEbsVolumeArrayOutput() NodejsAppLayerEbsVolumeArrayOutput - ToNodejsAppLayerEbsVolumeArrayOutputWithContext(context.Context) NodejsAppLayerEbsVolumeArrayOutput + ToInstanceEphemeralBlockDeviceArrayOutput() InstanceEphemeralBlockDeviceArrayOutput + ToInstanceEphemeralBlockDeviceArrayOutputWithContext(context.Context) InstanceEphemeralBlockDeviceArrayOutput } -type NodejsAppLayerEbsVolumeArray []NodejsAppLayerEbsVolumeInput +type InstanceEphemeralBlockDeviceArray []InstanceEphemeralBlockDeviceInput -func (NodejsAppLayerEbsVolumeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NodejsAppLayerEbsVolume)(nil)).Elem() +func (InstanceEphemeralBlockDeviceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceEphemeralBlockDevice)(nil)).Elem() } -func (i NodejsAppLayerEbsVolumeArray) ToNodejsAppLayerEbsVolumeArrayOutput() NodejsAppLayerEbsVolumeArrayOutput { - return i.ToNodejsAppLayerEbsVolumeArrayOutputWithContext(context.Background()) +func (i InstanceEphemeralBlockDeviceArray) ToInstanceEphemeralBlockDeviceArrayOutput() InstanceEphemeralBlockDeviceArrayOutput { + return i.ToInstanceEphemeralBlockDeviceArrayOutputWithContext(context.Background()) } -func (i NodejsAppLayerEbsVolumeArray) ToNodejsAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) NodejsAppLayerEbsVolumeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerEbsVolumeArrayOutput) +func (i InstanceEphemeralBlockDeviceArray) ToInstanceEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceEphemeralBlockDeviceArrayOutput) } -type NodejsAppLayerEbsVolumeOutput struct{ *pulumi.OutputState } +type InstanceEphemeralBlockDeviceOutput struct{ *pulumi.OutputState } -func (NodejsAppLayerEbsVolumeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NodejsAppLayerEbsVolume)(nil)).Elem() +func (InstanceEphemeralBlockDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceEphemeralBlockDevice)(nil)).Elem() } -func (o NodejsAppLayerEbsVolumeOutput) ToNodejsAppLayerEbsVolumeOutput() NodejsAppLayerEbsVolumeOutput { +func (o InstanceEphemeralBlockDeviceOutput) ToInstanceEphemeralBlockDeviceOutput() InstanceEphemeralBlockDeviceOutput { return o } -func (o NodejsAppLayerEbsVolumeOutput) ToNodejsAppLayerEbsVolumeOutputWithContext(ctx context.Context) NodejsAppLayerEbsVolumeOutput { +func (o InstanceEphemeralBlockDeviceOutput) ToInstanceEphemeralBlockDeviceOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceOutput { return o } -func (o NodejsAppLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v NodejsAppLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +func (o InstanceEphemeralBlockDeviceOutput) DeviceName() pulumi.StringOutput { + return o.ApplyT(func(v InstanceEphemeralBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) } -// For PIOPS volumes, the IOPS per disk. -func (o NodejsAppLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v NodejsAppLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) +func (o InstanceEphemeralBlockDeviceOutput) VirtualName() pulumi.StringOutput { + return o.ApplyT(func(v InstanceEphemeralBlockDevice) string { return v.VirtualName }).(pulumi.StringOutput) } -// The path to mount the EBS volume on the layer's instances. -func (o NodejsAppLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { - return o.ApplyT(func(v NodejsAppLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) +type InstanceEphemeralBlockDeviceArrayOutput struct{ *pulumi.OutputState } + +func (InstanceEphemeralBlockDeviceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceEphemeralBlockDevice)(nil)).Elem() } -// The number of disks to use for the EBS volume. -func (o NodejsAppLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { - return o.ApplyT(func(v NodejsAppLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) +func (o InstanceEphemeralBlockDeviceArrayOutput) ToInstanceEphemeralBlockDeviceArrayOutput() InstanceEphemeralBlockDeviceArrayOutput { + return o } -// The RAID level to use for the volume. -func (o NodejsAppLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodejsAppLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) +func (o InstanceEphemeralBlockDeviceArrayOutput) ToInstanceEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceArrayOutput { + return o } -// The size of the volume in gigabytes. -func (o NodejsAppLayerEbsVolumeOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v NodejsAppLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) +func (o InstanceEphemeralBlockDeviceArrayOutput) Index(i pulumi.IntInput) InstanceEphemeralBlockDeviceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceEphemeralBlockDevice { + return vs[0].([]InstanceEphemeralBlockDevice)[vs[1].(int)] + }).(InstanceEphemeralBlockDeviceOutput) } -// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. -func (o NodejsAppLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodejsAppLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +type InstanceRootBlockDevice struct { + DeleteOnTermination *bool `pulumi:"deleteOnTermination"` + Iops *int `pulumi:"iops"` + VolumeSize *int `pulumi:"volumeSize"` + VolumeType *string `pulumi:"volumeType"` } -type NodejsAppLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } +// InstanceRootBlockDeviceInput is an input type that accepts InstanceRootBlockDeviceArgs and InstanceRootBlockDeviceOutput values. +// You can construct a concrete instance of `InstanceRootBlockDeviceInput` via: +// +// InstanceRootBlockDeviceArgs{...} +type InstanceRootBlockDeviceInput interface { + pulumi.Input -func (NodejsAppLayerEbsVolumeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NodejsAppLayerEbsVolume)(nil)).Elem() + ToInstanceRootBlockDeviceOutput() InstanceRootBlockDeviceOutput + ToInstanceRootBlockDeviceOutputWithContext(context.Context) InstanceRootBlockDeviceOutput } -func (o NodejsAppLayerEbsVolumeArrayOutput) ToNodejsAppLayerEbsVolumeArrayOutput() NodejsAppLayerEbsVolumeArrayOutput { - return o +type InstanceRootBlockDeviceArgs struct { + DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` + Iops pulumi.IntPtrInput `pulumi:"iops"` + VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` + VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` } -func (o NodejsAppLayerEbsVolumeArrayOutput) ToNodejsAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) NodejsAppLayerEbsVolumeArrayOutput { - return o +func (InstanceRootBlockDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceRootBlockDevice)(nil)).Elem() } -func (o NodejsAppLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) NodejsAppLayerEbsVolumeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodejsAppLayerEbsVolume { - return vs[0].([]NodejsAppLayerEbsVolume)[vs[1].(int)] - }).(NodejsAppLayerEbsVolumeOutput) +func (i InstanceRootBlockDeviceArgs) ToInstanceRootBlockDeviceOutput() InstanceRootBlockDeviceOutput { + return i.ToInstanceRootBlockDeviceOutputWithContext(context.Background()) } -type PhpAppLayerCloudwatchConfiguration struct { - Enabled *bool `pulumi:"enabled"` - LogStreams []PhpAppLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +func (i InstanceRootBlockDeviceArgs) ToInstanceRootBlockDeviceOutputWithContext(ctx context.Context) InstanceRootBlockDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceRootBlockDeviceOutput) } -// PhpAppLayerCloudwatchConfigurationInput is an input type that accepts PhpAppLayerCloudwatchConfigurationArgs and PhpAppLayerCloudwatchConfigurationOutput values. -// You can construct a concrete instance of `PhpAppLayerCloudwatchConfigurationInput` via: +// InstanceRootBlockDeviceArrayInput is an input type that accepts InstanceRootBlockDeviceArray and InstanceRootBlockDeviceArrayOutput values. +// You can construct a concrete instance of `InstanceRootBlockDeviceArrayInput` via: // -// PhpAppLayerCloudwatchConfigurationArgs{...} -type PhpAppLayerCloudwatchConfigurationInput interface { +// InstanceRootBlockDeviceArray{ InstanceRootBlockDeviceArgs{...} } +type InstanceRootBlockDeviceArrayInput interface { pulumi.Input - ToPhpAppLayerCloudwatchConfigurationOutput() PhpAppLayerCloudwatchConfigurationOutput - ToPhpAppLayerCloudwatchConfigurationOutputWithContext(context.Context) PhpAppLayerCloudwatchConfigurationOutput + ToInstanceRootBlockDeviceArrayOutput() InstanceRootBlockDeviceArrayOutput + ToInstanceRootBlockDeviceArrayOutputWithContext(context.Context) InstanceRootBlockDeviceArrayOutput } -type PhpAppLayerCloudwatchConfigurationArgs struct { - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - LogStreams PhpAppLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` -} +type InstanceRootBlockDeviceArray []InstanceRootBlockDeviceInput -func (PhpAppLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PhpAppLayerCloudwatchConfiguration)(nil)).Elem() +func (InstanceRootBlockDeviceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceRootBlockDevice)(nil)).Elem() } -func (i PhpAppLayerCloudwatchConfigurationArgs) ToPhpAppLayerCloudwatchConfigurationOutput() PhpAppLayerCloudwatchConfigurationOutput { - return i.ToPhpAppLayerCloudwatchConfigurationOutputWithContext(context.Background()) +func (i InstanceRootBlockDeviceArray) ToInstanceRootBlockDeviceArrayOutput() InstanceRootBlockDeviceArrayOutput { + return i.ToInstanceRootBlockDeviceArrayOutputWithContext(context.Background()) } -func (i PhpAppLayerCloudwatchConfigurationArgs) ToPhpAppLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerCloudwatchConfigurationOutput) +func (i InstanceRootBlockDeviceArray) ToInstanceRootBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceRootBlockDeviceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceRootBlockDeviceArrayOutput) } -func (i PhpAppLayerCloudwatchConfigurationArgs) ToPhpAppLayerCloudwatchConfigurationPtrOutput() PhpAppLayerCloudwatchConfigurationPtrOutput { - return i.ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) -} +type InstanceRootBlockDeviceOutput struct{ *pulumi.OutputState } -func (i PhpAppLayerCloudwatchConfigurationArgs) ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerCloudwatchConfigurationOutput).ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx) +func (InstanceRootBlockDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceRootBlockDevice)(nil)).Elem() } -// PhpAppLayerCloudwatchConfigurationPtrInput is an input type that accepts PhpAppLayerCloudwatchConfigurationArgs, PhpAppLayerCloudwatchConfigurationPtr and PhpAppLayerCloudwatchConfigurationPtrOutput values. -// You can construct a concrete instance of `PhpAppLayerCloudwatchConfigurationPtrInput` via: -// -// PhpAppLayerCloudwatchConfigurationArgs{...} -// -// or: -// -// nil -type PhpAppLayerCloudwatchConfigurationPtrInput interface { - pulumi.Input - - ToPhpAppLayerCloudwatchConfigurationPtrOutput() PhpAppLayerCloudwatchConfigurationPtrOutput - ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) PhpAppLayerCloudwatchConfigurationPtrOutput +func (o InstanceRootBlockDeviceOutput) ToInstanceRootBlockDeviceOutput() InstanceRootBlockDeviceOutput { + return o } -type phpAppLayerCloudwatchConfigurationPtrType PhpAppLayerCloudwatchConfigurationArgs +func (o InstanceRootBlockDeviceOutput) ToInstanceRootBlockDeviceOutputWithContext(ctx context.Context) InstanceRootBlockDeviceOutput { + return o +} -func PhpAppLayerCloudwatchConfigurationPtr(v *PhpAppLayerCloudwatchConfigurationArgs) PhpAppLayerCloudwatchConfigurationPtrInput { - return (*phpAppLayerCloudwatchConfigurationPtrType)(v) +func (o InstanceRootBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v InstanceRootBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) } -func (*phpAppLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PhpAppLayerCloudwatchConfiguration)(nil)).Elem() +func (o InstanceRootBlockDeviceOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceRootBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) } -func (i *phpAppLayerCloudwatchConfigurationPtrType) ToPhpAppLayerCloudwatchConfigurationPtrOutput() PhpAppLayerCloudwatchConfigurationPtrOutput { - return i.ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (o InstanceRootBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceRootBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) } -func (i *phpAppLayerCloudwatchConfigurationPtrType) ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerCloudwatchConfigurationPtrOutput) +func (o InstanceRootBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceRootBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) } -type PhpAppLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } +type InstanceRootBlockDeviceArrayOutput struct{ *pulumi.OutputState } -func (PhpAppLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PhpAppLayerCloudwatchConfiguration)(nil)).Elem() +func (InstanceRootBlockDeviceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceRootBlockDevice)(nil)).Elem() } -func (o PhpAppLayerCloudwatchConfigurationOutput) ToPhpAppLayerCloudwatchConfigurationOutput() PhpAppLayerCloudwatchConfigurationOutput { +func (o InstanceRootBlockDeviceArrayOutput) ToInstanceRootBlockDeviceArrayOutput() InstanceRootBlockDeviceArrayOutput { return o } -func (o PhpAppLayerCloudwatchConfigurationOutput) ToPhpAppLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationOutput { +func (o InstanceRootBlockDeviceArrayOutput) ToInstanceRootBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceRootBlockDeviceArrayOutput { return o } -func (o PhpAppLayerCloudwatchConfigurationOutput) ToPhpAppLayerCloudwatchConfigurationPtrOutput() PhpAppLayerCloudwatchConfigurationPtrOutput { - return o.ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (o InstanceRootBlockDeviceArrayOutput) Index(i pulumi.IntInput) InstanceRootBlockDeviceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceRootBlockDevice { + return vs[0].([]InstanceRootBlockDevice)[vs[1].(int)] + }).(InstanceRootBlockDeviceOutput) } -func (o PhpAppLayerCloudwatchConfigurationOutput) ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PhpAppLayerCloudwatchConfiguration) *PhpAppLayerCloudwatchConfiguration { +type JavaAppLayerCloudwatchConfiguration struct { + Enabled *bool `pulumi:"enabled"` + LogStreams []JavaAppLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +} + +// JavaAppLayerCloudwatchConfigurationInput is an input type that accepts JavaAppLayerCloudwatchConfigurationArgs and JavaAppLayerCloudwatchConfigurationOutput values. +// You can construct a concrete instance of `JavaAppLayerCloudwatchConfigurationInput` via: +// +// JavaAppLayerCloudwatchConfigurationArgs{...} +type JavaAppLayerCloudwatchConfigurationInput interface { + pulumi.Input + + ToJavaAppLayerCloudwatchConfigurationOutput() JavaAppLayerCloudwatchConfigurationOutput + ToJavaAppLayerCloudwatchConfigurationOutputWithContext(context.Context) JavaAppLayerCloudwatchConfigurationOutput +} + +type JavaAppLayerCloudwatchConfigurationArgs struct { + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + LogStreams JavaAppLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` +} + +func (JavaAppLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JavaAppLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (i JavaAppLayerCloudwatchConfigurationArgs) ToJavaAppLayerCloudwatchConfigurationOutput() JavaAppLayerCloudwatchConfigurationOutput { + return i.ToJavaAppLayerCloudwatchConfigurationOutputWithContext(context.Background()) +} + +func (i JavaAppLayerCloudwatchConfigurationArgs) ToJavaAppLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerCloudwatchConfigurationOutput) +} + +func (i JavaAppLayerCloudwatchConfigurationArgs) ToJavaAppLayerCloudwatchConfigurationPtrOutput() JavaAppLayerCloudwatchConfigurationPtrOutput { + return i.ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (i JavaAppLayerCloudwatchConfigurationArgs) ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerCloudwatchConfigurationOutput).ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx) +} + +// JavaAppLayerCloudwatchConfigurationPtrInput is an input type that accepts JavaAppLayerCloudwatchConfigurationArgs, JavaAppLayerCloudwatchConfigurationPtr and JavaAppLayerCloudwatchConfigurationPtrOutput values. +// You can construct a concrete instance of `JavaAppLayerCloudwatchConfigurationPtrInput` via: +// +// JavaAppLayerCloudwatchConfigurationArgs{...} +// +// or: +// +// nil +type JavaAppLayerCloudwatchConfigurationPtrInput interface { + pulumi.Input + + ToJavaAppLayerCloudwatchConfigurationPtrOutput() JavaAppLayerCloudwatchConfigurationPtrOutput + ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) JavaAppLayerCloudwatchConfigurationPtrOutput +} + +type javaAppLayerCloudwatchConfigurationPtrType JavaAppLayerCloudwatchConfigurationArgs + +func JavaAppLayerCloudwatchConfigurationPtr(v *JavaAppLayerCloudwatchConfigurationArgs) JavaAppLayerCloudwatchConfigurationPtrInput { + return (*javaAppLayerCloudwatchConfigurationPtrType)(v) +} + +func (*javaAppLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**JavaAppLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (i *javaAppLayerCloudwatchConfigurationPtrType) ToJavaAppLayerCloudwatchConfigurationPtrOutput() JavaAppLayerCloudwatchConfigurationPtrOutput { + return i.ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *javaAppLayerCloudwatchConfigurationPtrType) ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerCloudwatchConfigurationPtrOutput) +} + +type JavaAppLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } + +func (JavaAppLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JavaAppLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (o JavaAppLayerCloudwatchConfigurationOutput) ToJavaAppLayerCloudwatchConfigurationOutput() JavaAppLayerCloudwatchConfigurationOutput { + return o +} + +func (o JavaAppLayerCloudwatchConfigurationOutput) ToJavaAppLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationOutput { + return o +} + +func (o JavaAppLayerCloudwatchConfigurationOutput) ToJavaAppLayerCloudwatchConfigurationPtrOutput() JavaAppLayerCloudwatchConfigurationPtrOutput { + return o.ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (o JavaAppLayerCloudwatchConfigurationOutput) ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v JavaAppLayerCloudwatchConfiguration) *JavaAppLayerCloudwatchConfiguration { return &v - }).(PhpAppLayerCloudwatchConfigurationPtrOutput) + }).(JavaAppLayerCloudwatchConfigurationPtrOutput) } -func (o PhpAppLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v PhpAppLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +func (o JavaAppLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v JavaAppLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -func (o PhpAppLayerCloudwatchConfigurationOutput) LogStreams() PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v PhpAppLayerCloudwatchConfiguration) []PhpAppLayerCloudwatchConfigurationLogStream { +func (o JavaAppLayerCloudwatchConfigurationOutput) LogStreams() JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v JavaAppLayerCloudwatchConfiguration) []JavaAppLayerCloudwatchConfigurationLogStream { return v.LogStreams - }).(PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput) + }).(JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput) } -type PhpAppLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } +type JavaAppLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } -func (PhpAppLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PhpAppLayerCloudwatchConfiguration)(nil)).Elem() +func (JavaAppLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**JavaAppLayerCloudwatchConfiguration)(nil)).Elem() } -func (o PhpAppLayerCloudwatchConfigurationPtrOutput) ToPhpAppLayerCloudwatchConfigurationPtrOutput() PhpAppLayerCloudwatchConfigurationPtrOutput { +func (o JavaAppLayerCloudwatchConfigurationPtrOutput) ToJavaAppLayerCloudwatchConfigurationPtrOutput() JavaAppLayerCloudwatchConfigurationPtrOutput { return o } -func (o PhpAppLayerCloudwatchConfigurationPtrOutput) ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationPtrOutput { +func (o JavaAppLayerCloudwatchConfigurationPtrOutput) ToJavaAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationPtrOutput { return o } -func (o PhpAppLayerCloudwatchConfigurationPtrOutput) Elem() PhpAppLayerCloudwatchConfigurationOutput { - return o.ApplyT(func(v *PhpAppLayerCloudwatchConfiguration) PhpAppLayerCloudwatchConfiguration { +func (o JavaAppLayerCloudwatchConfigurationPtrOutput) Elem() JavaAppLayerCloudwatchConfigurationOutput { + return o.ApplyT(func(v *JavaAppLayerCloudwatchConfiguration) JavaAppLayerCloudwatchConfiguration { if v != nil { return *v } - var ret PhpAppLayerCloudwatchConfiguration + var ret JavaAppLayerCloudwatchConfiguration return ret - }).(PhpAppLayerCloudwatchConfigurationOutput) + }).(JavaAppLayerCloudwatchConfigurationOutput) } -func (o PhpAppLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *PhpAppLayerCloudwatchConfiguration) *bool { +func (o JavaAppLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *JavaAppLayerCloudwatchConfiguration) *bool { if v == nil { return nil } @@ -4515,16 +5225,16 @@ func (o PhpAppLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOut }).(pulumi.BoolPtrOutput) } -func (o PhpAppLayerCloudwatchConfigurationPtrOutput) LogStreams() PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v *PhpAppLayerCloudwatchConfiguration) []PhpAppLayerCloudwatchConfigurationLogStream { +func (o JavaAppLayerCloudwatchConfigurationPtrOutput) LogStreams() JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v *JavaAppLayerCloudwatchConfiguration) []JavaAppLayerCloudwatchConfigurationLogStream { if v == nil { return nil } return v.LogStreams - }).(PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput) + }).(JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput) } -type PhpAppLayerCloudwatchConfigurationLogStream struct { +type JavaAppLayerCloudwatchConfigurationLogStream struct { BatchCount *int `pulumi:"batchCount"` BatchSize *int `pulumi:"batchSize"` BufferDuration *int `pulumi:"bufferDuration"` @@ -4538,18 +5248,18 @@ type PhpAppLayerCloudwatchConfigurationLogStream struct { TimeZone *string `pulumi:"timeZone"` } -// PhpAppLayerCloudwatchConfigurationLogStreamInput is an input type that accepts PhpAppLayerCloudwatchConfigurationLogStreamArgs and PhpAppLayerCloudwatchConfigurationLogStreamOutput values. -// You can construct a concrete instance of `PhpAppLayerCloudwatchConfigurationLogStreamInput` via: +// JavaAppLayerCloudwatchConfigurationLogStreamInput is an input type that accepts JavaAppLayerCloudwatchConfigurationLogStreamArgs and JavaAppLayerCloudwatchConfigurationLogStreamOutput values. +// You can construct a concrete instance of `JavaAppLayerCloudwatchConfigurationLogStreamInput` via: // -// PhpAppLayerCloudwatchConfigurationLogStreamArgs{...} -type PhpAppLayerCloudwatchConfigurationLogStreamInput interface { +// JavaAppLayerCloudwatchConfigurationLogStreamArgs{...} +type JavaAppLayerCloudwatchConfigurationLogStreamInput interface { pulumi.Input - ToPhpAppLayerCloudwatchConfigurationLogStreamOutput() PhpAppLayerCloudwatchConfigurationLogStreamOutput - ToPhpAppLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) PhpAppLayerCloudwatchConfigurationLogStreamOutput + ToJavaAppLayerCloudwatchConfigurationLogStreamOutput() JavaAppLayerCloudwatchConfigurationLogStreamOutput + ToJavaAppLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) JavaAppLayerCloudwatchConfigurationLogStreamOutput } -type PhpAppLayerCloudwatchConfigurationLogStreamArgs struct { +type JavaAppLayerCloudwatchConfigurationLogStreamArgs struct { BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` @@ -4563,122 +5273,122 @@ type PhpAppLayerCloudwatchConfigurationLogStreamArgs struct { TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` } -func (PhpAppLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PhpAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (JavaAppLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JavaAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() } -func (i PhpAppLayerCloudwatchConfigurationLogStreamArgs) ToPhpAppLayerCloudwatchConfigurationLogStreamOutput() PhpAppLayerCloudwatchConfigurationLogStreamOutput { - return i.ToPhpAppLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) +func (i JavaAppLayerCloudwatchConfigurationLogStreamArgs) ToJavaAppLayerCloudwatchConfigurationLogStreamOutput() JavaAppLayerCloudwatchConfigurationLogStreamOutput { + return i.ToJavaAppLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) } -func (i PhpAppLayerCloudwatchConfigurationLogStreamArgs) ToPhpAppLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerCloudwatchConfigurationLogStreamOutput) +func (i JavaAppLayerCloudwatchConfigurationLogStreamArgs) ToJavaAppLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerCloudwatchConfigurationLogStreamOutput) } -// PhpAppLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts PhpAppLayerCloudwatchConfigurationLogStreamArray and PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput values. -// You can construct a concrete instance of `PhpAppLayerCloudwatchConfigurationLogStreamArrayInput` via: +// JavaAppLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts JavaAppLayerCloudwatchConfigurationLogStreamArray and JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput values. +// You can construct a concrete instance of `JavaAppLayerCloudwatchConfigurationLogStreamArrayInput` via: // -// PhpAppLayerCloudwatchConfigurationLogStreamArray{ PhpAppLayerCloudwatchConfigurationLogStreamArgs{...} } -type PhpAppLayerCloudwatchConfigurationLogStreamArrayInput interface { +// JavaAppLayerCloudwatchConfigurationLogStreamArray{ JavaAppLayerCloudwatchConfigurationLogStreamArgs{...} } +type JavaAppLayerCloudwatchConfigurationLogStreamArrayInput interface { pulumi.Input - ToPhpAppLayerCloudwatchConfigurationLogStreamArrayOutput() PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput - ToPhpAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput + ToJavaAppLayerCloudwatchConfigurationLogStreamArrayOutput() JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput + ToJavaAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput } -type PhpAppLayerCloudwatchConfigurationLogStreamArray []PhpAppLayerCloudwatchConfigurationLogStreamInput +type JavaAppLayerCloudwatchConfigurationLogStreamArray []JavaAppLayerCloudwatchConfigurationLogStreamInput -func (PhpAppLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]PhpAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (JavaAppLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JavaAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() } -func (i PhpAppLayerCloudwatchConfigurationLogStreamArray) ToPhpAppLayerCloudwatchConfigurationLogStreamArrayOutput() PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return i.ToPhpAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) +func (i JavaAppLayerCloudwatchConfigurationLogStreamArray) ToJavaAppLayerCloudwatchConfigurationLogStreamArrayOutput() JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return i.ToJavaAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) } -func (i PhpAppLayerCloudwatchConfigurationLogStreamArray) ToPhpAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput) +func (i JavaAppLayerCloudwatchConfigurationLogStreamArray) ToJavaAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput) } -type PhpAppLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } +type JavaAppLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } -func (PhpAppLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PhpAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (JavaAppLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JavaAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() } -func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) ToPhpAppLayerCloudwatchConfigurationLogStreamOutput() PhpAppLayerCloudwatchConfigurationLogStreamOutput { +func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) ToJavaAppLayerCloudwatchConfigurationLogStreamOutput() JavaAppLayerCloudwatchConfigurationLogStreamOutput { return o } -func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) ToPhpAppLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationLogStreamOutput { +func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) ToJavaAppLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationLogStreamOutput { return o } -func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) +func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) } -func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) +func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) } -func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { - return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) +func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) } -func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { - return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) +func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) } -func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { - return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) +func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) } -func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { - return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) +func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { + return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) } -func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { - return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) +func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { + return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) } -func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { - return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) +func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { + return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) } -func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { - return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) +func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { + return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) } -func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { - return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) +func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) } -func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +func (o JavaAppLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v JavaAppLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) } -type PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } +type JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } -func (PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PhpAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JavaAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() } -func (o PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput) ToPhpAppLayerCloudwatchConfigurationLogStreamArrayOutput() PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput { +func (o JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput) ToJavaAppLayerCloudwatchConfigurationLogStreamArrayOutput() JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput { return o } -func (o PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput) ToPhpAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput { +func (o JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput) ToJavaAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput { return o } -func (o PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) PhpAppLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PhpAppLayerCloudwatchConfigurationLogStream { - return vs[0].([]PhpAppLayerCloudwatchConfigurationLogStream)[vs[1].(int)] - }).(PhpAppLayerCloudwatchConfigurationLogStreamOutput) +func (o JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) JavaAppLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JavaAppLayerCloudwatchConfigurationLogStream { + return vs[0].([]JavaAppLayerCloudwatchConfigurationLogStream)[vs[1].(int)] + }).(JavaAppLayerCloudwatchConfigurationLogStreamOutput) } -type PhpAppLayerEbsVolume struct { +type JavaAppLayerEbsVolume struct { Encrypted *bool `pulumi:"encrypted"` // For PIOPS volumes, the IOPS per disk. Iops *int `pulumi:"iops"` @@ -4694,18 +5404,18 @@ type PhpAppLayerEbsVolume struct { Type *string `pulumi:"type"` } -// PhpAppLayerEbsVolumeInput is an input type that accepts PhpAppLayerEbsVolumeArgs and PhpAppLayerEbsVolumeOutput values. -// You can construct a concrete instance of `PhpAppLayerEbsVolumeInput` via: +// JavaAppLayerEbsVolumeInput is an input type that accepts JavaAppLayerEbsVolumeArgs and JavaAppLayerEbsVolumeOutput values. +// You can construct a concrete instance of `JavaAppLayerEbsVolumeInput` via: // -// PhpAppLayerEbsVolumeArgs{...} -type PhpAppLayerEbsVolumeInput interface { +// JavaAppLayerEbsVolumeArgs{...} +type JavaAppLayerEbsVolumeInput interface { pulumi.Input - ToPhpAppLayerEbsVolumeOutput() PhpAppLayerEbsVolumeOutput - ToPhpAppLayerEbsVolumeOutputWithContext(context.Context) PhpAppLayerEbsVolumeOutput + ToJavaAppLayerEbsVolumeOutput() JavaAppLayerEbsVolumeOutput + ToJavaAppLayerEbsVolumeOutputWithContext(context.Context) JavaAppLayerEbsVolumeOutput } -type PhpAppLayerEbsVolumeArgs struct { +type JavaAppLayerEbsVolumeArgs struct { Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` // For PIOPS volumes, the IOPS per disk. Iops pulumi.IntPtrInput `pulumi:"iops"` @@ -4721,1155 +5431,7250 @@ type PhpAppLayerEbsVolumeArgs struct { Type pulumi.StringPtrInput `pulumi:"type"` } -func (PhpAppLayerEbsVolumeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PhpAppLayerEbsVolume)(nil)).Elem() +func (JavaAppLayerEbsVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JavaAppLayerEbsVolume)(nil)).Elem() } -func (i PhpAppLayerEbsVolumeArgs) ToPhpAppLayerEbsVolumeOutput() PhpAppLayerEbsVolumeOutput { - return i.ToPhpAppLayerEbsVolumeOutputWithContext(context.Background()) +func (i JavaAppLayerEbsVolumeArgs) ToJavaAppLayerEbsVolumeOutput() JavaAppLayerEbsVolumeOutput { + return i.ToJavaAppLayerEbsVolumeOutputWithContext(context.Background()) } -func (i PhpAppLayerEbsVolumeArgs) ToPhpAppLayerEbsVolumeOutputWithContext(ctx context.Context) PhpAppLayerEbsVolumeOutput { - return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerEbsVolumeOutput) +func (i JavaAppLayerEbsVolumeArgs) ToJavaAppLayerEbsVolumeOutputWithContext(ctx context.Context) JavaAppLayerEbsVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerEbsVolumeOutput) } -// PhpAppLayerEbsVolumeArrayInput is an input type that accepts PhpAppLayerEbsVolumeArray and PhpAppLayerEbsVolumeArrayOutput values. -// You can construct a concrete instance of `PhpAppLayerEbsVolumeArrayInput` via: +// JavaAppLayerEbsVolumeArrayInput is an input type that accepts JavaAppLayerEbsVolumeArray and JavaAppLayerEbsVolumeArrayOutput values. +// You can construct a concrete instance of `JavaAppLayerEbsVolumeArrayInput` via: // -// PhpAppLayerEbsVolumeArray{ PhpAppLayerEbsVolumeArgs{...} } -type PhpAppLayerEbsVolumeArrayInput interface { +// JavaAppLayerEbsVolumeArray{ JavaAppLayerEbsVolumeArgs{...} } +type JavaAppLayerEbsVolumeArrayInput interface { pulumi.Input - ToPhpAppLayerEbsVolumeArrayOutput() PhpAppLayerEbsVolumeArrayOutput - ToPhpAppLayerEbsVolumeArrayOutputWithContext(context.Context) PhpAppLayerEbsVolumeArrayOutput + ToJavaAppLayerEbsVolumeArrayOutput() JavaAppLayerEbsVolumeArrayOutput + ToJavaAppLayerEbsVolumeArrayOutputWithContext(context.Context) JavaAppLayerEbsVolumeArrayOutput } -type PhpAppLayerEbsVolumeArray []PhpAppLayerEbsVolumeInput +type JavaAppLayerEbsVolumeArray []JavaAppLayerEbsVolumeInput -func (PhpAppLayerEbsVolumeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]PhpAppLayerEbsVolume)(nil)).Elem() +func (JavaAppLayerEbsVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JavaAppLayerEbsVolume)(nil)).Elem() } -func (i PhpAppLayerEbsVolumeArray) ToPhpAppLayerEbsVolumeArrayOutput() PhpAppLayerEbsVolumeArrayOutput { - return i.ToPhpAppLayerEbsVolumeArrayOutputWithContext(context.Background()) +func (i JavaAppLayerEbsVolumeArray) ToJavaAppLayerEbsVolumeArrayOutput() JavaAppLayerEbsVolumeArrayOutput { + return i.ToJavaAppLayerEbsVolumeArrayOutputWithContext(context.Background()) } -func (i PhpAppLayerEbsVolumeArray) ToPhpAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) PhpAppLayerEbsVolumeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerEbsVolumeArrayOutput) +func (i JavaAppLayerEbsVolumeArray) ToJavaAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) JavaAppLayerEbsVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerEbsVolumeArrayOutput) } -type PhpAppLayerEbsVolumeOutput struct{ *pulumi.OutputState } +type JavaAppLayerEbsVolumeOutput struct{ *pulumi.OutputState } -func (PhpAppLayerEbsVolumeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PhpAppLayerEbsVolume)(nil)).Elem() +func (JavaAppLayerEbsVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JavaAppLayerEbsVolume)(nil)).Elem() } -func (o PhpAppLayerEbsVolumeOutput) ToPhpAppLayerEbsVolumeOutput() PhpAppLayerEbsVolumeOutput { +func (o JavaAppLayerEbsVolumeOutput) ToJavaAppLayerEbsVolumeOutput() JavaAppLayerEbsVolumeOutput { return o } -func (o PhpAppLayerEbsVolumeOutput) ToPhpAppLayerEbsVolumeOutputWithContext(ctx context.Context) PhpAppLayerEbsVolumeOutput { +func (o JavaAppLayerEbsVolumeOutput) ToJavaAppLayerEbsVolumeOutputWithContext(ctx context.Context) JavaAppLayerEbsVolumeOutput { return o } -func (o PhpAppLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v PhpAppLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +func (o JavaAppLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v JavaAppLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) } // For PIOPS volumes, the IOPS per disk. -func (o PhpAppLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v PhpAppLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) +func (o JavaAppLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v JavaAppLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) } // The path to mount the EBS volume on the layer's instances. -func (o PhpAppLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { - return o.ApplyT(func(v PhpAppLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) +func (o JavaAppLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { + return o.ApplyT(func(v JavaAppLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) } // The number of disks to use for the EBS volume. -func (o PhpAppLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { - return o.ApplyT(func(v PhpAppLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) +func (o JavaAppLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { + return o.ApplyT(func(v JavaAppLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) } // The RAID level to use for the volume. -func (o PhpAppLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { - return o.ApplyT(func(v PhpAppLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) +func (o JavaAppLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v JavaAppLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) } // The size of the volume in gigabytes. -func (o PhpAppLayerEbsVolumeOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v PhpAppLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) +func (o JavaAppLayerEbsVolumeOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v JavaAppLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) } // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. -func (o PhpAppLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v PhpAppLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +func (o JavaAppLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v JavaAppLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) } -type PhpAppLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } +type JavaAppLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } -func (PhpAppLayerEbsVolumeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PhpAppLayerEbsVolume)(nil)).Elem() +func (JavaAppLayerEbsVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JavaAppLayerEbsVolume)(nil)).Elem() } -func (o PhpAppLayerEbsVolumeArrayOutput) ToPhpAppLayerEbsVolumeArrayOutput() PhpAppLayerEbsVolumeArrayOutput { +func (o JavaAppLayerEbsVolumeArrayOutput) ToJavaAppLayerEbsVolumeArrayOutput() JavaAppLayerEbsVolumeArrayOutput { return o } -func (o PhpAppLayerEbsVolumeArrayOutput) ToPhpAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) PhpAppLayerEbsVolumeArrayOutput { +func (o JavaAppLayerEbsVolumeArrayOutput) ToJavaAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) JavaAppLayerEbsVolumeArrayOutput { return o } -func (o PhpAppLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) PhpAppLayerEbsVolumeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PhpAppLayerEbsVolume { - return vs[0].([]PhpAppLayerEbsVolume)[vs[1].(int)] - }).(PhpAppLayerEbsVolumeOutput) +func (o JavaAppLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) JavaAppLayerEbsVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JavaAppLayerEbsVolume { + return vs[0].([]JavaAppLayerEbsVolume)[vs[1].(int)] + }).(JavaAppLayerEbsVolumeOutput) } -type RailsAppLayerCloudwatchConfiguration struct { - Enabled *bool `pulumi:"enabled"` - LogStreams []RailsAppLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +type JavaAppLayerLoadBasedAutoScaling struct { + Downscaling *JavaAppLayerLoadBasedAutoScalingDownscaling `pulumi:"downscaling"` + Enable *bool `pulumi:"enable"` + Upscaling *JavaAppLayerLoadBasedAutoScalingUpscaling `pulumi:"upscaling"` } -// RailsAppLayerCloudwatchConfigurationInput is an input type that accepts RailsAppLayerCloudwatchConfigurationArgs and RailsAppLayerCloudwatchConfigurationOutput values. -// You can construct a concrete instance of `RailsAppLayerCloudwatchConfigurationInput` via: +// JavaAppLayerLoadBasedAutoScalingInput is an input type that accepts JavaAppLayerLoadBasedAutoScalingArgs and JavaAppLayerLoadBasedAutoScalingOutput values. +// You can construct a concrete instance of `JavaAppLayerLoadBasedAutoScalingInput` via: // -// RailsAppLayerCloudwatchConfigurationArgs{...} -type RailsAppLayerCloudwatchConfigurationInput interface { +// JavaAppLayerLoadBasedAutoScalingArgs{...} +type JavaAppLayerLoadBasedAutoScalingInput interface { pulumi.Input - ToRailsAppLayerCloudwatchConfigurationOutput() RailsAppLayerCloudwatchConfigurationOutput - ToRailsAppLayerCloudwatchConfigurationOutputWithContext(context.Context) RailsAppLayerCloudwatchConfigurationOutput + ToJavaAppLayerLoadBasedAutoScalingOutput() JavaAppLayerLoadBasedAutoScalingOutput + ToJavaAppLayerLoadBasedAutoScalingOutputWithContext(context.Context) JavaAppLayerLoadBasedAutoScalingOutput } -type RailsAppLayerCloudwatchConfigurationArgs struct { - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - LogStreams RailsAppLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` +type JavaAppLayerLoadBasedAutoScalingArgs struct { + Downscaling JavaAppLayerLoadBasedAutoScalingDownscalingPtrInput `pulumi:"downscaling"` + Enable pulumi.BoolPtrInput `pulumi:"enable"` + Upscaling JavaAppLayerLoadBasedAutoScalingUpscalingPtrInput `pulumi:"upscaling"` } -func (RailsAppLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RailsAppLayerCloudwatchConfiguration)(nil)).Elem() +func (JavaAppLayerLoadBasedAutoScalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JavaAppLayerLoadBasedAutoScaling)(nil)).Elem() } -func (i RailsAppLayerCloudwatchConfigurationArgs) ToRailsAppLayerCloudwatchConfigurationOutput() RailsAppLayerCloudwatchConfigurationOutput { - return i.ToRailsAppLayerCloudwatchConfigurationOutputWithContext(context.Background()) +func (i JavaAppLayerLoadBasedAutoScalingArgs) ToJavaAppLayerLoadBasedAutoScalingOutput() JavaAppLayerLoadBasedAutoScalingOutput { + return i.ToJavaAppLayerLoadBasedAutoScalingOutputWithContext(context.Background()) } -func (i RailsAppLayerCloudwatchConfigurationArgs) ToRailsAppLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerCloudwatchConfigurationOutput) +func (i JavaAppLayerLoadBasedAutoScalingArgs) ToJavaAppLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerLoadBasedAutoScalingOutput) } -func (i RailsAppLayerCloudwatchConfigurationArgs) ToRailsAppLayerCloudwatchConfigurationPtrOutput() RailsAppLayerCloudwatchConfigurationPtrOutput { - return i.ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (i JavaAppLayerLoadBasedAutoScalingArgs) ToJavaAppLayerLoadBasedAutoScalingPtrOutput() JavaAppLayerLoadBasedAutoScalingPtrOutput { + return i.ToJavaAppLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) } -func (i RailsAppLayerCloudwatchConfigurationArgs) ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerCloudwatchConfigurationOutput).ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx) +func (i JavaAppLayerLoadBasedAutoScalingArgs) ToJavaAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerLoadBasedAutoScalingOutput).ToJavaAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx) } -// RailsAppLayerCloudwatchConfigurationPtrInput is an input type that accepts RailsAppLayerCloudwatchConfigurationArgs, RailsAppLayerCloudwatchConfigurationPtr and RailsAppLayerCloudwatchConfigurationPtrOutput values. -// You can construct a concrete instance of `RailsAppLayerCloudwatchConfigurationPtrInput` via: +// JavaAppLayerLoadBasedAutoScalingPtrInput is an input type that accepts JavaAppLayerLoadBasedAutoScalingArgs, JavaAppLayerLoadBasedAutoScalingPtr and JavaAppLayerLoadBasedAutoScalingPtrOutput values. +// You can construct a concrete instance of `JavaAppLayerLoadBasedAutoScalingPtrInput` via: // -// RailsAppLayerCloudwatchConfigurationArgs{...} +// JavaAppLayerLoadBasedAutoScalingArgs{...} // // or: // // nil -type RailsAppLayerCloudwatchConfigurationPtrInput interface { +type JavaAppLayerLoadBasedAutoScalingPtrInput interface { pulumi.Input - ToRailsAppLayerCloudwatchConfigurationPtrOutput() RailsAppLayerCloudwatchConfigurationPtrOutput - ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) RailsAppLayerCloudwatchConfigurationPtrOutput + ToJavaAppLayerLoadBasedAutoScalingPtrOutput() JavaAppLayerLoadBasedAutoScalingPtrOutput + ToJavaAppLayerLoadBasedAutoScalingPtrOutputWithContext(context.Context) JavaAppLayerLoadBasedAutoScalingPtrOutput } -type railsAppLayerCloudwatchConfigurationPtrType RailsAppLayerCloudwatchConfigurationArgs +type javaAppLayerLoadBasedAutoScalingPtrType JavaAppLayerLoadBasedAutoScalingArgs -func RailsAppLayerCloudwatchConfigurationPtr(v *RailsAppLayerCloudwatchConfigurationArgs) RailsAppLayerCloudwatchConfigurationPtrInput { - return (*railsAppLayerCloudwatchConfigurationPtrType)(v) +func JavaAppLayerLoadBasedAutoScalingPtr(v *JavaAppLayerLoadBasedAutoScalingArgs) JavaAppLayerLoadBasedAutoScalingPtrInput { + return (*javaAppLayerLoadBasedAutoScalingPtrType)(v) } -func (*railsAppLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RailsAppLayerCloudwatchConfiguration)(nil)).Elem() +func (*javaAppLayerLoadBasedAutoScalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**JavaAppLayerLoadBasedAutoScaling)(nil)).Elem() } -func (i *railsAppLayerCloudwatchConfigurationPtrType) ToRailsAppLayerCloudwatchConfigurationPtrOutput() RailsAppLayerCloudwatchConfigurationPtrOutput { - return i.ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (i *javaAppLayerLoadBasedAutoScalingPtrType) ToJavaAppLayerLoadBasedAutoScalingPtrOutput() JavaAppLayerLoadBasedAutoScalingPtrOutput { + return i.ToJavaAppLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) } -func (i *railsAppLayerCloudwatchConfigurationPtrType) ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerCloudwatchConfigurationPtrOutput) +func (i *javaAppLayerLoadBasedAutoScalingPtrType) ToJavaAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerLoadBasedAutoScalingPtrOutput) } -type RailsAppLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } +type JavaAppLayerLoadBasedAutoScalingOutput struct{ *pulumi.OutputState } -func (RailsAppLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RailsAppLayerCloudwatchConfiguration)(nil)).Elem() +func (JavaAppLayerLoadBasedAutoScalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JavaAppLayerLoadBasedAutoScaling)(nil)).Elem() } -func (o RailsAppLayerCloudwatchConfigurationOutput) ToRailsAppLayerCloudwatchConfigurationOutput() RailsAppLayerCloudwatchConfigurationOutput { +func (o JavaAppLayerLoadBasedAutoScalingOutput) ToJavaAppLayerLoadBasedAutoScalingOutput() JavaAppLayerLoadBasedAutoScalingOutput { return o } -func (o RailsAppLayerCloudwatchConfigurationOutput) ToRailsAppLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationOutput { +func (o JavaAppLayerLoadBasedAutoScalingOutput) ToJavaAppLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingOutput { return o } -func (o RailsAppLayerCloudwatchConfigurationOutput) ToRailsAppLayerCloudwatchConfigurationPtrOutput() RailsAppLayerCloudwatchConfigurationPtrOutput { - return o.ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (o JavaAppLayerLoadBasedAutoScalingOutput) ToJavaAppLayerLoadBasedAutoScalingPtrOutput() JavaAppLayerLoadBasedAutoScalingPtrOutput { + return o.ToJavaAppLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) } -func (o RailsAppLayerCloudwatchConfigurationOutput) ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RailsAppLayerCloudwatchConfiguration) *RailsAppLayerCloudwatchConfiguration { +func (o JavaAppLayerLoadBasedAutoScalingOutput) ToJavaAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v JavaAppLayerLoadBasedAutoScaling) *JavaAppLayerLoadBasedAutoScaling { return &v - }).(RailsAppLayerCloudwatchConfigurationPtrOutput) + }).(JavaAppLayerLoadBasedAutoScalingPtrOutput) } -func (o RailsAppLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v RailsAppLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +func (o JavaAppLayerLoadBasedAutoScalingOutput) Downscaling() JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v JavaAppLayerLoadBasedAutoScaling) *JavaAppLayerLoadBasedAutoScalingDownscaling { + return v.Downscaling + }).(JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput) } -func (o RailsAppLayerCloudwatchConfigurationOutput) LogStreams() RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v RailsAppLayerCloudwatchConfiguration) []RailsAppLayerCloudwatchConfigurationLogStream { - return v.LogStreams - }).(RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput) +func (o JavaAppLayerLoadBasedAutoScalingOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v JavaAppLayerLoadBasedAutoScaling) *bool { return v.Enable }).(pulumi.BoolPtrOutput) } -type RailsAppLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } +func (o JavaAppLayerLoadBasedAutoScalingOutput) Upscaling() JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v JavaAppLayerLoadBasedAutoScaling) *JavaAppLayerLoadBasedAutoScalingUpscaling { + return v.Upscaling + }).(JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput) +} -func (RailsAppLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RailsAppLayerCloudwatchConfiguration)(nil)).Elem() +type JavaAppLayerLoadBasedAutoScalingPtrOutput struct{ *pulumi.OutputState } + +func (JavaAppLayerLoadBasedAutoScalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**JavaAppLayerLoadBasedAutoScaling)(nil)).Elem() } -func (o RailsAppLayerCloudwatchConfigurationPtrOutput) ToRailsAppLayerCloudwatchConfigurationPtrOutput() RailsAppLayerCloudwatchConfigurationPtrOutput { +func (o JavaAppLayerLoadBasedAutoScalingPtrOutput) ToJavaAppLayerLoadBasedAutoScalingPtrOutput() JavaAppLayerLoadBasedAutoScalingPtrOutput { return o } -func (o RailsAppLayerCloudwatchConfigurationPtrOutput) ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationPtrOutput { +func (o JavaAppLayerLoadBasedAutoScalingPtrOutput) ToJavaAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingPtrOutput { return o } -func (o RailsAppLayerCloudwatchConfigurationPtrOutput) Elem() RailsAppLayerCloudwatchConfigurationOutput { - return o.ApplyT(func(v *RailsAppLayerCloudwatchConfiguration) RailsAppLayerCloudwatchConfiguration { +func (o JavaAppLayerLoadBasedAutoScalingPtrOutput) Elem() JavaAppLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScaling) JavaAppLayerLoadBasedAutoScaling { if v != nil { return *v } - var ret RailsAppLayerCloudwatchConfiguration + var ret JavaAppLayerLoadBasedAutoScaling return ret - }).(RailsAppLayerCloudwatchConfigurationOutput) + }).(JavaAppLayerLoadBasedAutoScalingOutput) } -func (o RailsAppLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *RailsAppLayerCloudwatchConfiguration) *bool { +func (o JavaAppLayerLoadBasedAutoScalingPtrOutput) Downscaling() JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScaling) *JavaAppLayerLoadBasedAutoScalingDownscaling { if v == nil { return nil } - return v.Enabled + return v.Downscaling + }).(JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o JavaAppLayerLoadBasedAutoScalingPtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScaling) *bool { + if v == nil { + return nil + } + return v.Enable }).(pulumi.BoolPtrOutput) } -func (o RailsAppLayerCloudwatchConfigurationPtrOutput) LogStreams() RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v *RailsAppLayerCloudwatchConfiguration) []RailsAppLayerCloudwatchConfigurationLogStream { +func (o JavaAppLayerLoadBasedAutoScalingPtrOutput) Upscaling() JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScaling) *JavaAppLayerLoadBasedAutoScalingUpscaling { if v == nil { return nil } - return v.LogStreams - }).(RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput) + return v.Upscaling + }).(JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput) } -type RailsAppLayerCloudwatchConfigurationLogStream struct { - BatchCount *int `pulumi:"batchCount"` - BatchSize *int `pulumi:"batchSize"` - BufferDuration *int `pulumi:"bufferDuration"` - DatetimeFormat *string `pulumi:"datetimeFormat"` - Encoding *string `pulumi:"encoding"` - File string `pulumi:"file"` - FileFingerprintLines *string `pulumi:"fileFingerprintLines"` - InitialPosition *string `pulumi:"initialPosition"` - LogGroupName string `pulumi:"logGroupName"` - MultilineStartPattern *string `pulumi:"multilineStartPattern"` - TimeZone *string `pulumi:"timeZone"` +type JavaAppLayerLoadBasedAutoScalingDownscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` } -// RailsAppLayerCloudwatchConfigurationLogStreamInput is an input type that accepts RailsAppLayerCloudwatchConfigurationLogStreamArgs and RailsAppLayerCloudwatchConfigurationLogStreamOutput values. -// You can construct a concrete instance of `RailsAppLayerCloudwatchConfigurationLogStreamInput` via: +// JavaAppLayerLoadBasedAutoScalingDownscalingInput is an input type that accepts JavaAppLayerLoadBasedAutoScalingDownscalingArgs and JavaAppLayerLoadBasedAutoScalingDownscalingOutput values. +// You can construct a concrete instance of `JavaAppLayerLoadBasedAutoScalingDownscalingInput` via: // -// RailsAppLayerCloudwatchConfigurationLogStreamArgs{...} -type RailsAppLayerCloudwatchConfigurationLogStreamInput interface { +// JavaAppLayerLoadBasedAutoScalingDownscalingArgs{...} +type JavaAppLayerLoadBasedAutoScalingDownscalingInput interface { pulumi.Input - ToRailsAppLayerCloudwatchConfigurationLogStreamOutput() RailsAppLayerCloudwatchConfigurationLogStreamOutput - ToRailsAppLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) RailsAppLayerCloudwatchConfigurationLogStreamOutput + ToJavaAppLayerLoadBasedAutoScalingDownscalingOutput() JavaAppLayerLoadBasedAutoScalingDownscalingOutput + ToJavaAppLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Context) JavaAppLayerLoadBasedAutoScalingDownscalingOutput } -type RailsAppLayerCloudwatchConfigurationLogStreamArgs struct { - BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` - BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` - BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` - DatetimeFormat pulumi.StringPtrInput `pulumi:"datetimeFormat"` - Encoding pulumi.StringPtrInput `pulumi:"encoding"` - File pulumi.StringInput `pulumi:"file"` - FileFingerprintLines pulumi.StringPtrInput `pulumi:"fileFingerprintLines"` - InitialPosition pulumi.StringPtrInput `pulumi:"initialPosition"` - LogGroupName pulumi.StringInput `pulumi:"logGroupName"` - MultilineStartPattern pulumi.StringPtrInput `pulumi:"multilineStartPattern"` - TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +type JavaAppLayerLoadBasedAutoScalingDownscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` } -func (RailsAppLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RailsAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (JavaAppLayerLoadBasedAutoScalingDownscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JavaAppLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (i RailsAppLayerCloudwatchConfigurationLogStreamArgs) ToRailsAppLayerCloudwatchConfigurationLogStreamOutput() RailsAppLayerCloudwatchConfigurationLogStreamOutput { - return i.ToRailsAppLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) +func (i JavaAppLayerLoadBasedAutoScalingDownscalingArgs) ToJavaAppLayerLoadBasedAutoScalingDownscalingOutput() JavaAppLayerLoadBasedAutoScalingDownscalingOutput { + return i.ToJavaAppLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Background()) } -func (i RailsAppLayerCloudwatchConfigurationLogStreamArgs) ToRailsAppLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerCloudwatchConfigurationLogStreamOutput) +func (i JavaAppLayerLoadBasedAutoScalingDownscalingArgs) ToJavaAppLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingDownscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerLoadBasedAutoScalingDownscalingOutput) } -// RailsAppLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts RailsAppLayerCloudwatchConfigurationLogStreamArray and RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput values. -// You can construct a concrete instance of `RailsAppLayerCloudwatchConfigurationLogStreamArrayInput` via: +func (i JavaAppLayerLoadBasedAutoScalingDownscalingArgs) ToJavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput() JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToJavaAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (i JavaAppLayerLoadBasedAutoScalingDownscalingArgs) ToJavaAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerLoadBasedAutoScalingDownscalingOutput).ToJavaAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx) +} + +// JavaAppLayerLoadBasedAutoScalingDownscalingPtrInput is an input type that accepts JavaAppLayerLoadBasedAutoScalingDownscalingArgs, JavaAppLayerLoadBasedAutoScalingDownscalingPtr and JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput values. +// You can construct a concrete instance of `JavaAppLayerLoadBasedAutoScalingDownscalingPtrInput` via: // -// RailsAppLayerCloudwatchConfigurationLogStreamArray{ RailsAppLayerCloudwatchConfigurationLogStreamArgs{...} } -type RailsAppLayerCloudwatchConfigurationLogStreamArrayInput interface { +// JavaAppLayerLoadBasedAutoScalingDownscalingArgs{...} +// +// or: +// +// nil +type JavaAppLayerLoadBasedAutoScalingDownscalingPtrInput interface { pulumi.Input - ToRailsAppLayerCloudwatchConfigurationLogStreamArrayOutput() RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput - ToRailsAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput + ToJavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput() JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput + ToJavaAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Context) JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput } -type RailsAppLayerCloudwatchConfigurationLogStreamArray []RailsAppLayerCloudwatchConfigurationLogStreamInput +type javaAppLayerLoadBasedAutoScalingDownscalingPtrType JavaAppLayerLoadBasedAutoScalingDownscalingArgs -func (RailsAppLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RailsAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func JavaAppLayerLoadBasedAutoScalingDownscalingPtr(v *JavaAppLayerLoadBasedAutoScalingDownscalingArgs) JavaAppLayerLoadBasedAutoScalingDownscalingPtrInput { + return (*javaAppLayerLoadBasedAutoScalingDownscalingPtrType)(v) } -func (i RailsAppLayerCloudwatchConfigurationLogStreamArray) ToRailsAppLayerCloudwatchConfigurationLogStreamArrayOutput() RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return i.ToRailsAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) +func (*javaAppLayerLoadBasedAutoScalingDownscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**JavaAppLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (i RailsAppLayerCloudwatchConfigurationLogStreamArray) ToRailsAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput) +func (i *javaAppLayerLoadBasedAutoScalingDownscalingPtrType) ToJavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput() JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToJavaAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) } -type RailsAppLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } +func (i *javaAppLayerLoadBasedAutoScalingDownscalingPtrType) ToJavaAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput) +} -func (RailsAppLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RailsAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +type JavaAppLayerLoadBasedAutoScalingDownscalingOutput struct{ *pulumi.OutputState } + +func (JavaAppLayerLoadBasedAutoScalingDownscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JavaAppLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) ToRailsAppLayerCloudwatchConfigurationLogStreamOutput() RailsAppLayerCloudwatchConfigurationLogStreamOutput { +func (o JavaAppLayerLoadBasedAutoScalingDownscalingOutput) ToJavaAppLayerLoadBasedAutoScalingDownscalingOutput() JavaAppLayerLoadBasedAutoScalingDownscalingOutput { return o } -func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) ToRailsAppLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationLogStreamOutput { +func (o JavaAppLayerLoadBasedAutoScalingDownscalingOutput) ToJavaAppLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingDownscalingOutput { return o } -func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) +func (o JavaAppLayerLoadBasedAutoScalingDownscalingOutput) ToJavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput() JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ToJavaAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) } -func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) +func (o JavaAppLayerLoadBasedAutoScalingDownscalingOutput) ToJavaAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v JavaAppLayerLoadBasedAutoScalingDownscaling) *JavaAppLayerLoadBasedAutoScalingDownscaling { + return &v + }).(JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput) } -func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { - return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) +func (o JavaAppLayerLoadBasedAutoScalingDownscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v JavaAppLayerLoadBasedAutoScalingDownscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) } -func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { - return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) +func (o JavaAppLayerLoadBasedAutoScalingDownscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v JavaAppLayerLoadBasedAutoScalingDownscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) } -func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { - return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) +func (o JavaAppLayerLoadBasedAutoScalingDownscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v JavaAppLayerLoadBasedAutoScalingDownscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) } -func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { - return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) +func (o JavaAppLayerLoadBasedAutoScalingDownscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v JavaAppLayerLoadBasedAutoScalingDownscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) } -func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { - return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) +func (o JavaAppLayerLoadBasedAutoScalingDownscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v JavaAppLayerLoadBasedAutoScalingDownscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) } -func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { - return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) +func (o JavaAppLayerLoadBasedAutoScalingDownscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v JavaAppLayerLoadBasedAutoScalingDownscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) } -func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { - return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) +func (o JavaAppLayerLoadBasedAutoScalingDownscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v JavaAppLayerLoadBasedAutoScalingDownscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) } -func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { - return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) +type JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput struct{ *pulumi.OutputState } + +func (JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**JavaAppLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +func (o JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput) ToJavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput() JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o } -type RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } +func (o JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput) ToJavaAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o +} -func (RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RailsAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (o JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput) Elem() JavaAppLayerLoadBasedAutoScalingDownscalingOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScalingDownscaling) JavaAppLayerLoadBasedAutoScalingDownscaling { + if v != nil { + return *v + } + var ret JavaAppLayerLoadBasedAutoScalingDownscaling + return ret + }).(JavaAppLayerLoadBasedAutoScalingDownscalingOutput) } -func (o RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput) ToRailsAppLayerCloudwatchConfigurationLogStreamArrayOutput() RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return o +func (o JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScalingDownscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) } -func (o RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput) ToRailsAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput { - return o +func (o JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) } -func (o RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) RailsAppLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RailsAppLayerCloudwatchConfigurationLogStream { - return vs[0].([]RailsAppLayerCloudwatchConfigurationLogStream)[vs[1].(int)] - }).(RailsAppLayerCloudwatchConfigurationLogStreamOutput) +func (o JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) } -type RailsAppLayerEbsVolume struct { - Encrypted *bool `pulumi:"encrypted"` - // For PIOPS volumes, the IOPS per disk. - Iops *int `pulumi:"iops"` - // The path to mount the EBS volume on the layer's instances. - MountPoint string `pulumi:"mountPoint"` - // The number of disks to use for the EBS volume. - NumberOfDisks int `pulumi:"numberOfDisks"` - // The RAID level to use for the volume. - RaidLevel *string `pulumi:"raidLevel"` - // The size of the volume in gigabytes. - Size int `pulumi:"size"` - // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - Type *string `pulumi:"type"` +func (o JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) } -// RailsAppLayerEbsVolumeInput is an input type that accepts RailsAppLayerEbsVolumeArgs and RailsAppLayerEbsVolumeOutput values. -// You can construct a concrete instance of `RailsAppLayerEbsVolumeInput` via: +func (o JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) +} + +type JavaAppLayerLoadBasedAutoScalingUpscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` +} + +// JavaAppLayerLoadBasedAutoScalingUpscalingInput is an input type that accepts JavaAppLayerLoadBasedAutoScalingUpscalingArgs and JavaAppLayerLoadBasedAutoScalingUpscalingOutput values. +// You can construct a concrete instance of `JavaAppLayerLoadBasedAutoScalingUpscalingInput` via: // -// RailsAppLayerEbsVolumeArgs{...} -type RailsAppLayerEbsVolumeInput interface { +// JavaAppLayerLoadBasedAutoScalingUpscalingArgs{...} +type JavaAppLayerLoadBasedAutoScalingUpscalingInput interface { pulumi.Input - ToRailsAppLayerEbsVolumeOutput() RailsAppLayerEbsVolumeOutput - ToRailsAppLayerEbsVolumeOutputWithContext(context.Context) RailsAppLayerEbsVolumeOutput + ToJavaAppLayerLoadBasedAutoScalingUpscalingOutput() JavaAppLayerLoadBasedAutoScalingUpscalingOutput + ToJavaAppLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Context) JavaAppLayerLoadBasedAutoScalingUpscalingOutput } -type RailsAppLayerEbsVolumeArgs struct { - Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` - // For PIOPS volumes, the IOPS per disk. - Iops pulumi.IntPtrInput `pulumi:"iops"` - // The path to mount the EBS volume on the layer's instances. - MountPoint pulumi.StringInput `pulumi:"mountPoint"` - // The number of disks to use for the EBS volume. - NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"` - // The RAID level to use for the volume. - RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"` - // The size of the volume in gigabytes. - Size pulumi.IntInput `pulumi:"size"` - // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - Type pulumi.StringPtrInput `pulumi:"type"` +type JavaAppLayerLoadBasedAutoScalingUpscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` } -func (RailsAppLayerEbsVolumeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RailsAppLayerEbsVolume)(nil)).Elem() +func (JavaAppLayerLoadBasedAutoScalingUpscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JavaAppLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() } -func (i RailsAppLayerEbsVolumeArgs) ToRailsAppLayerEbsVolumeOutput() RailsAppLayerEbsVolumeOutput { - return i.ToRailsAppLayerEbsVolumeOutputWithContext(context.Background()) +func (i JavaAppLayerLoadBasedAutoScalingUpscalingArgs) ToJavaAppLayerLoadBasedAutoScalingUpscalingOutput() JavaAppLayerLoadBasedAutoScalingUpscalingOutput { + return i.ToJavaAppLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Background()) } -func (i RailsAppLayerEbsVolumeArgs) ToRailsAppLayerEbsVolumeOutputWithContext(ctx context.Context) RailsAppLayerEbsVolumeOutput { - return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerEbsVolumeOutput) +func (i JavaAppLayerLoadBasedAutoScalingUpscalingArgs) ToJavaAppLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingUpscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerLoadBasedAutoScalingUpscalingOutput) } -// RailsAppLayerEbsVolumeArrayInput is an input type that accepts RailsAppLayerEbsVolumeArray and RailsAppLayerEbsVolumeArrayOutput values. -// You can construct a concrete instance of `RailsAppLayerEbsVolumeArrayInput` via: +func (i JavaAppLayerLoadBasedAutoScalingUpscalingArgs) ToJavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput() JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToJavaAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (i JavaAppLayerLoadBasedAutoScalingUpscalingArgs) ToJavaAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerLoadBasedAutoScalingUpscalingOutput).ToJavaAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx) +} + +// JavaAppLayerLoadBasedAutoScalingUpscalingPtrInput is an input type that accepts JavaAppLayerLoadBasedAutoScalingUpscalingArgs, JavaAppLayerLoadBasedAutoScalingUpscalingPtr and JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput values. +// You can construct a concrete instance of `JavaAppLayerLoadBasedAutoScalingUpscalingPtrInput` via: // -// RailsAppLayerEbsVolumeArray{ RailsAppLayerEbsVolumeArgs{...} } -type RailsAppLayerEbsVolumeArrayInput interface { +// JavaAppLayerLoadBasedAutoScalingUpscalingArgs{...} +// +// or: +// +// nil +type JavaAppLayerLoadBasedAutoScalingUpscalingPtrInput interface { pulumi.Input - ToRailsAppLayerEbsVolumeArrayOutput() RailsAppLayerEbsVolumeArrayOutput - ToRailsAppLayerEbsVolumeArrayOutputWithContext(context.Context) RailsAppLayerEbsVolumeArrayOutput + ToJavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput() JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput + ToJavaAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Context) JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput } -type RailsAppLayerEbsVolumeArray []RailsAppLayerEbsVolumeInput +type javaAppLayerLoadBasedAutoScalingUpscalingPtrType JavaAppLayerLoadBasedAutoScalingUpscalingArgs -func (RailsAppLayerEbsVolumeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RailsAppLayerEbsVolume)(nil)).Elem() +func JavaAppLayerLoadBasedAutoScalingUpscalingPtr(v *JavaAppLayerLoadBasedAutoScalingUpscalingArgs) JavaAppLayerLoadBasedAutoScalingUpscalingPtrInput { + return (*javaAppLayerLoadBasedAutoScalingUpscalingPtrType)(v) } -func (i RailsAppLayerEbsVolumeArray) ToRailsAppLayerEbsVolumeArrayOutput() RailsAppLayerEbsVolumeArrayOutput { - return i.ToRailsAppLayerEbsVolumeArrayOutputWithContext(context.Background()) +func (*javaAppLayerLoadBasedAutoScalingUpscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**JavaAppLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() } -func (i RailsAppLayerEbsVolumeArray) ToRailsAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) RailsAppLayerEbsVolumeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerEbsVolumeArrayOutput) +func (i *javaAppLayerLoadBasedAutoScalingUpscalingPtrType) ToJavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput() JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToJavaAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) } -type RailsAppLayerEbsVolumeOutput struct{ *pulumi.OutputState } +func (i *javaAppLayerLoadBasedAutoScalingUpscalingPtrType) ToJavaAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput) +} -func (RailsAppLayerEbsVolumeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RailsAppLayerEbsVolume)(nil)).Elem() +type JavaAppLayerLoadBasedAutoScalingUpscalingOutput struct{ *pulumi.OutputState } + +func (JavaAppLayerLoadBasedAutoScalingUpscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JavaAppLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() } -func (o RailsAppLayerEbsVolumeOutput) ToRailsAppLayerEbsVolumeOutput() RailsAppLayerEbsVolumeOutput { +func (o JavaAppLayerLoadBasedAutoScalingUpscalingOutput) ToJavaAppLayerLoadBasedAutoScalingUpscalingOutput() JavaAppLayerLoadBasedAutoScalingUpscalingOutput { return o } -func (o RailsAppLayerEbsVolumeOutput) ToRailsAppLayerEbsVolumeOutputWithContext(ctx context.Context) RailsAppLayerEbsVolumeOutput { +func (o JavaAppLayerLoadBasedAutoScalingUpscalingOutput) ToJavaAppLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingUpscalingOutput { return o } -func (o RailsAppLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v RailsAppLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +func (o JavaAppLayerLoadBasedAutoScalingUpscalingOutput) ToJavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput() JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ToJavaAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) } -// For PIOPS volumes, the IOPS per disk. -func (o RailsAppLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v RailsAppLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) +func (o JavaAppLayerLoadBasedAutoScalingUpscalingOutput) ToJavaAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v JavaAppLayerLoadBasedAutoScalingUpscaling) *JavaAppLayerLoadBasedAutoScalingUpscaling { + return &v + }).(JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput) } -// The path to mount the EBS volume on the layer's instances. -func (o RailsAppLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { - return o.ApplyT(func(v RailsAppLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) +func (o JavaAppLayerLoadBasedAutoScalingUpscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v JavaAppLayerLoadBasedAutoScalingUpscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) } -// The number of disks to use for the EBS volume. -func (o RailsAppLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { - return o.ApplyT(func(v RailsAppLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) +func (o JavaAppLayerLoadBasedAutoScalingUpscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v JavaAppLayerLoadBasedAutoScalingUpscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) } -// The RAID level to use for the volume. -func (o RailsAppLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { - return o.ApplyT(func(v RailsAppLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) +func (o JavaAppLayerLoadBasedAutoScalingUpscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v JavaAppLayerLoadBasedAutoScalingUpscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) } -// The size of the volume in gigabytes. -func (o RailsAppLayerEbsVolumeOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v RailsAppLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) +func (o JavaAppLayerLoadBasedAutoScalingUpscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v JavaAppLayerLoadBasedAutoScalingUpscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) } -// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. -func (o RailsAppLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v RailsAppLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +func (o JavaAppLayerLoadBasedAutoScalingUpscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v JavaAppLayerLoadBasedAutoScalingUpscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) } -type RailsAppLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } +func (o JavaAppLayerLoadBasedAutoScalingUpscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v JavaAppLayerLoadBasedAutoScalingUpscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) +} -func (RailsAppLayerEbsVolumeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RailsAppLayerEbsVolume)(nil)).Elem() +func (o JavaAppLayerLoadBasedAutoScalingUpscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v JavaAppLayerLoadBasedAutoScalingUpscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) } -func (o RailsAppLayerEbsVolumeArrayOutput) ToRailsAppLayerEbsVolumeArrayOutput() RailsAppLayerEbsVolumeArrayOutput { +type JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput struct{ *pulumi.OutputState } + +func (JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**JavaAppLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (o JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput) ToJavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput() JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput { return o } -func (o RailsAppLayerEbsVolumeArrayOutput) ToRailsAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) RailsAppLayerEbsVolumeArrayOutput { +func (o JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput) ToJavaAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput { return o } -func (o RailsAppLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) RailsAppLayerEbsVolumeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RailsAppLayerEbsVolume { - return vs[0].([]RailsAppLayerEbsVolume)[vs[1].(int)] - }).(RailsAppLayerEbsVolumeOutput) +func (o JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput) Elem() JavaAppLayerLoadBasedAutoScalingUpscalingOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScalingUpscaling) JavaAppLayerLoadBasedAutoScalingUpscaling { + if v != nil { + return *v + } + var ret JavaAppLayerLoadBasedAutoScalingUpscaling + return ret + }).(JavaAppLayerLoadBasedAutoScalingUpscalingOutput) } -type StackCustomCookbooksSource struct { - // Password to use when authenticating to the source. The provider cannot perform drift detection of this configuration. - Password *string `pulumi:"password"` - // For sources that are version-aware, the revision to use. - Revision *string `pulumi:"revision"` - // SSH key to use when authenticating to the source. The provider cannot perform drift detection of this configuration. - SshKey *string `pulumi:"sshKey"` - // The type of source to use. For example, "archive". - Type string `pulumi:"type"` - // The URL where the cookbooks resource can be found. - Url string `pulumi:"url"` - // Username to use when authenticating to the source. - Username *string `pulumi:"username"` +func (o JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScalingUpscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) +} + +func (o JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) +} + +func (o JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) +} + +func (o JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *JavaAppLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) +} + +type MemcachedLayerCloudwatchConfiguration struct { + Enabled *bool `pulumi:"enabled"` + LogStreams []MemcachedLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +} + +// MemcachedLayerCloudwatchConfigurationInput is an input type that accepts MemcachedLayerCloudwatchConfigurationArgs and MemcachedLayerCloudwatchConfigurationOutput values. +// You can construct a concrete instance of `MemcachedLayerCloudwatchConfigurationInput` via: +// +// MemcachedLayerCloudwatchConfigurationArgs{...} +type MemcachedLayerCloudwatchConfigurationInput interface { + pulumi.Input + + ToMemcachedLayerCloudwatchConfigurationOutput() MemcachedLayerCloudwatchConfigurationOutput + ToMemcachedLayerCloudwatchConfigurationOutputWithContext(context.Context) MemcachedLayerCloudwatchConfigurationOutput +} + +type MemcachedLayerCloudwatchConfigurationArgs struct { + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + LogStreams MemcachedLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` +} + +func (MemcachedLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MemcachedLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (i MemcachedLayerCloudwatchConfigurationArgs) ToMemcachedLayerCloudwatchConfigurationOutput() MemcachedLayerCloudwatchConfigurationOutput { + return i.ToMemcachedLayerCloudwatchConfigurationOutputWithContext(context.Background()) +} + +func (i MemcachedLayerCloudwatchConfigurationArgs) ToMemcachedLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerCloudwatchConfigurationOutput) +} + +func (i MemcachedLayerCloudwatchConfigurationArgs) ToMemcachedLayerCloudwatchConfigurationPtrOutput() MemcachedLayerCloudwatchConfigurationPtrOutput { + return i.ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (i MemcachedLayerCloudwatchConfigurationArgs) ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerCloudwatchConfigurationOutput).ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(ctx) +} + +// MemcachedLayerCloudwatchConfigurationPtrInput is an input type that accepts MemcachedLayerCloudwatchConfigurationArgs, MemcachedLayerCloudwatchConfigurationPtr and MemcachedLayerCloudwatchConfigurationPtrOutput values. +// You can construct a concrete instance of `MemcachedLayerCloudwatchConfigurationPtrInput` via: +// +// MemcachedLayerCloudwatchConfigurationArgs{...} +// +// or: +// +// nil +type MemcachedLayerCloudwatchConfigurationPtrInput interface { + pulumi.Input + + ToMemcachedLayerCloudwatchConfigurationPtrOutput() MemcachedLayerCloudwatchConfigurationPtrOutput + ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) MemcachedLayerCloudwatchConfigurationPtrOutput +} + +type memcachedLayerCloudwatchConfigurationPtrType MemcachedLayerCloudwatchConfigurationArgs + +func MemcachedLayerCloudwatchConfigurationPtr(v *MemcachedLayerCloudwatchConfigurationArgs) MemcachedLayerCloudwatchConfigurationPtrInput { + return (*memcachedLayerCloudwatchConfigurationPtrType)(v) +} + +func (*memcachedLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MemcachedLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (i *memcachedLayerCloudwatchConfigurationPtrType) ToMemcachedLayerCloudwatchConfigurationPtrOutput() MemcachedLayerCloudwatchConfigurationPtrOutput { + return i.ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *memcachedLayerCloudwatchConfigurationPtrType) ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerCloudwatchConfigurationPtrOutput) +} + +type MemcachedLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } + +func (MemcachedLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MemcachedLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (o MemcachedLayerCloudwatchConfigurationOutput) ToMemcachedLayerCloudwatchConfigurationOutput() MemcachedLayerCloudwatchConfigurationOutput { + return o +} + +func (o MemcachedLayerCloudwatchConfigurationOutput) ToMemcachedLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationOutput { + return o +} + +func (o MemcachedLayerCloudwatchConfigurationOutput) ToMemcachedLayerCloudwatchConfigurationPtrOutput() MemcachedLayerCloudwatchConfigurationPtrOutput { + return o.ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (o MemcachedLayerCloudwatchConfigurationOutput) ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MemcachedLayerCloudwatchConfiguration) *MemcachedLayerCloudwatchConfiguration { + return &v + }).(MemcachedLayerCloudwatchConfigurationPtrOutput) +} + +func (o MemcachedLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v MemcachedLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +func (o MemcachedLayerCloudwatchConfigurationOutput) LogStreams() MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v MemcachedLayerCloudwatchConfiguration) []MemcachedLayerCloudwatchConfigurationLogStream { + return v.LogStreams + }).(MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type MemcachedLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (MemcachedLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MemcachedLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (o MemcachedLayerCloudwatchConfigurationPtrOutput) ToMemcachedLayerCloudwatchConfigurationPtrOutput() MemcachedLayerCloudwatchConfigurationPtrOutput { + return o +} + +func (o MemcachedLayerCloudwatchConfigurationPtrOutput) ToMemcachedLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationPtrOutput { + return o +} + +func (o MemcachedLayerCloudwatchConfigurationPtrOutput) Elem() MemcachedLayerCloudwatchConfigurationOutput { + return o.ApplyT(func(v *MemcachedLayerCloudwatchConfiguration) MemcachedLayerCloudwatchConfiguration { + if v != nil { + return *v + } + var ret MemcachedLayerCloudwatchConfiguration + return ret + }).(MemcachedLayerCloudwatchConfigurationOutput) +} + +func (o MemcachedLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *MemcachedLayerCloudwatchConfiguration) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +func (o MemcachedLayerCloudwatchConfigurationPtrOutput) LogStreams() MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v *MemcachedLayerCloudwatchConfiguration) []MemcachedLayerCloudwatchConfigurationLogStream { + if v == nil { + return nil + } + return v.LogStreams + }).(MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type MemcachedLayerCloudwatchConfigurationLogStream struct { + BatchCount *int `pulumi:"batchCount"` + BatchSize *int `pulumi:"batchSize"` + BufferDuration *int `pulumi:"bufferDuration"` + DatetimeFormat *string `pulumi:"datetimeFormat"` + Encoding *string `pulumi:"encoding"` + File string `pulumi:"file"` + FileFingerprintLines *string `pulumi:"fileFingerprintLines"` + InitialPosition *string `pulumi:"initialPosition"` + LogGroupName string `pulumi:"logGroupName"` + MultilineStartPattern *string `pulumi:"multilineStartPattern"` + TimeZone *string `pulumi:"timeZone"` +} + +// MemcachedLayerCloudwatchConfigurationLogStreamInput is an input type that accepts MemcachedLayerCloudwatchConfigurationLogStreamArgs and MemcachedLayerCloudwatchConfigurationLogStreamOutput values. +// You can construct a concrete instance of `MemcachedLayerCloudwatchConfigurationLogStreamInput` via: +// +// MemcachedLayerCloudwatchConfigurationLogStreamArgs{...} +type MemcachedLayerCloudwatchConfigurationLogStreamInput interface { + pulumi.Input + + ToMemcachedLayerCloudwatchConfigurationLogStreamOutput() MemcachedLayerCloudwatchConfigurationLogStreamOutput + ToMemcachedLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) MemcachedLayerCloudwatchConfigurationLogStreamOutput +} + +type MemcachedLayerCloudwatchConfigurationLogStreamArgs struct { + BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` + BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` + BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` + DatetimeFormat pulumi.StringPtrInput `pulumi:"datetimeFormat"` + Encoding pulumi.StringPtrInput `pulumi:"encoding"` + File pulumi.StringInput `pulumi:"file"` + FileFingerprintLines pulumi.StringPtrInput `pulumi:"fileFingerprintLines"` + InitialPosition pulumi.StringPtrInput `pulumi:"initialPosition"` + LogGroupName pulumi.StringInput `pulumi:"logGroupName"` + MultilineStartPattern pulumi.StringPtrInput `pulumi:"multilineStartPattern"` + TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +} + +func (MemcachedLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MemcachedLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (i MemcachedLayerCloudwatchConfigurationLogStreamArgs) ToMemcachedLayerCloudwatchConfigurationLogStreamOutput() MemcachedLayerCloudwatchConfigurationLogStreamOutput { + return i.ToMemcachedLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) +} + +func (i MemcachedLayerCloudwatchConfigurationLogStreamArgs) ToMemcachedLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerCloudwatchConfigurationLogStreamOutput) +} + +// MemcachedLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts MemcachedLayerCloudwatchConfigurationLogStreamArray and MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput values. +// You can construct a concrete instance of `MemcachedLayerCloudwatchConfigurationLogStreamArrayInput` via: +// +// MemcachedLayerCloudwatchConfigurationLogStreamArray{ MemcachedLayerCloudwatchConfigurationLogStreamArgs{...} } +type MemcachedLayerCloudwatchConfigurationLogStreamArrayInput interface { + pulumi.Input + + ToMemcachedLayerCloudwatchConfigurationLogStreamArrayOutput() MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput + ToMemcachedLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput +} + +type MemcachedLayerCloudwatchConfigurationLogStreamArray []MemcachedLayerCloudwatchConfigurationLogStreamInput + +func (MemcachedLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]MemcachedLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (i MemcachedLayerCloudwatchConfigurationLogStreamArray) ToMemcachedLayerCloudwatchConfigurationLogStreamArrayOutput() MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput { + return i.ToMemcachedLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) +} + +func (i MemcachedLayerCloudwatchConfigurationLogStreamArray) ToMemcachedLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type MemcachedLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } + +func (MemcachedLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MemcachedLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) ToMemcachedLayerCloudwatchConfigurationLogStreamOutput() MemcachedLayerCloudwatchConfigurationLogStreamOutput { + return o +} + +func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) ToMemcachedLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationLogStreamOutput { + return o +} + +func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) +} + +func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) +} + +func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) +} + +func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) +} + +func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) +} + +func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { + return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) +} + +func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { + return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) +} + +func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { + return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) +} + +func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { + return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) +} + +func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) +} + +func (o MemcachedLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v MemcachedLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +} + +type MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } + +func (MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]MemcachedLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (o MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput) ToMemcachedLayerCloudwatchConfigurationLogStreamArrayOutput() MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput { + return o +} + +func (o MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput) ToMemcachedLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput { + return o +} + +func (o MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) MemcachedLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) MemcachedLayerCloudwatchConfigurationLogStream { + return vs[0].([]MemcachedLayerCloudwatchConfigurationLogStream)[vs[1].(int)] + }).(MemcachedLayerCloudwatchConfigurationLogStreamOutput) +} + +type MemcachedLayerEbsVolume struct { + Encrypted *bool `pulumi:"encrypted"` + // For PIOPS volumes, the IOPS per disk. + Iops *int `pulumi:"iops"` + // The path to mount the EBS volume on the layer's instances. + MountPoint string `pulumi:"mountPoint"` + // The number of disks to use for the EBS volume. + NumberOfDisks int `pulumi:"numberOfDisks"` + // The RAID level to use for the volume. + RaidLevel *string `pulumi:"raidLevel"` + // The size of the volume in gigabytes. + Size int `pulumi:"size"` + // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + Type *string `pulumi:"type"` +} + +// MemcachedLayerEbsVolumeInput is an input type that accepts MemcachedLayerEbsVolumeArgs and MemcachedLayerEbsVolumeOutput values. +// You can construct a concrete instance of `MemcachedLayerEbsVolumeInput` via: +// +// MemcachedLayerEbsVolumeArgs{...} +type MemcachedLayerEbsVolumeInput interface { + pulumi.Input + + ToMemcachedLayerEbsVolumeOutput() MemcachedLayerEbsVolumeOutput + ToMemcachedLayerEbsVolumeOutputWithContext(context.Context) MemcachedLayerEbsVolumeOutput +} + +type MemcachedLayerEbsVolumeArgs struct { + Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` + // For PIOPS volumes, the IOPS per disk. + Iops pulumi.IntPtrInput `pulumi:"iops"` + // The path to mount the EBS volume on the layer's instances. + MountPoint pulumi.StringInput `pulumi:"mountPoint"` + // The number of disks to use for the EBS volume. + NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"` + // The RAID level to use for the volume. + RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"` + // The size of the volume in gigabytes. + Size pulumi.IntInput `pulumi:"size"` + // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (MemcachedLayerEbsVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MemcachedLayerEbsVolume)(nil)).Elem() +} + +func (i MemcachedLayerEbsVolumeArgs) ToMemcachedLayerEbsVolumeOutput() MemcachedLayerEbsVolumeOutput { + return i.ToMemcachedLayerEbsVolumeOutputWithContext(context.Background()) +} + +func (i MemcachedLayerEbsVolumeArgs) ToMemcachedLayerEbsVolumeOutputWithContext(ctx context.Context) MemcachedLayerEbsVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerEbsVolumeOutput) +} + +// MemcachedLayerEbsVolumeArrayInput is an input type that accepts MemcachedLayerEbsVolumeArray and MemcachedLayerEbsVolumeArrayOutput values. +// You can construct a concrete instance of `MemcachedLayerEbsVolumeArrayInput` via: +// +// MemcachedLayerEbsVolumeArray{ MemcachedLayerEbsVolumeArgs{...} } +type MemcachedLayerEbsVolumeArrayInput interface { + pulumi.Input + + ToMemcachedLayerEbsVolumeArrayOutput() MemcachedLayerEbsVolumeArrayOutput + ToMemcachedLayerEbsVolumeArrayOutputWithContext(context.Context) MemcachedLayerEbsVolumeArrayOutput +} + +type MemcachedLayerEbsVolumeArray []MemcachedLayerEbsVolumeInput + +func (MemcachedLayerEbsVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]MemcachedLayerEbsVolume)(nil)).Elem() +} + +func (i MemcachedLayerEbsVolumeArray) ToMemcachedLayerEbsVolumeArrayOutput() MemcachedLayerEbsVolumeArrayOutput { + return i.ToMemcachedLayerEbsVolumeArrayOutputWithContext(context.Background()) +} + +func (i MemcachedLayerEbsVolumeArray) ToMemcachedLayerEbsVolumeArrayOutputWithContext(ctx context.Context) MemcachedLayerEbsVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerEbsVolumeArrayOutput) +} + +type MemcachedLayerEbsVolumeOutput struct{ *pulumi.OutputState } + +func (MemcachedLayerEbsVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MemcachedLayerEbsVolume)(nil)).Elem() +} + +func (o MemcachedLayerEbsVolumeOutput) ToMemcachedLayerEbsVolumeOutput() MemcachedLayerEbsVolumeOutput { + return o +} + +func (o MemcachedLayerEbsVolumeOutput) ToMemcachedLayerEbsVolumeOutputWithContext(ctx context.Context) MemcachedLayerEbsVolumeOutput { + return o +} + +func (o MemcachedLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v MemcachedLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +} + +// For PIOPS volumes, the IOPS per disk. +func (o MemcachedLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v MemcachedLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) +} + +// The path to mount the EBS volume on the layer's instances. +func (o MemcachedLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { + return o.ApplyT(func(v MemcachedLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) +} + +// The number of disks to use for the EBS volume. +func (o MemcachedLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { + return o.ApplyT(func(v MemcachedLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) +} + +// The RAID level to use for the volume. +func (o MemcachedLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v MemcachedLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) +} + +// The size of the volume in gigabytes. +func (o MemcachedLayerEbsVolumeOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v MemcachedLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) +} + +// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. +func (o MemcachedLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v MemcachedLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type MemcachedLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } + +func (MemcachedLayerEbsVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]MemcachedLayerEbsVolume)(nil)).Elem() +} + +func (o MemcachedLayerEbsVolumeArrayOutput) ToMemcachedLayerEbsVolumeArrayOutput() MemcachedLayerEbsVolumeArrayOutput { + return o +} + +func (o MemcachedLayerEbsVolumeArrayOutput) ToMemcachedLayerEbsVolumeArrayOutputWithContext(ctx context.Context) MemcachedLayerEbsVolumeArrayOutput { + return o +} + +func (o MemcachedLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) MemcachedLayerEbsVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) MemcachedLayerEbsVolume { + return vs[0].([]MemcachedLayerEbsVolume)[vs[1].(int)] + }).(MemcachedLayerEbsVolumeOutput) +} + +type MemcachedLayerLoadBasedAutoScaling struct { + Downscaling *MemcachedLayerLoadBasedAutoScalingDownscaling `pulumi:"downscaling"` + Enable *bool `pulumi:"enable"` + Upscaling *MemcachedLayerLoadBasedAutoScalingUpscaling `pulumi:"upscaling"` +} + +// MemcachedLayerLoadBasedAutoScalingInput is an input type that accepts MemcachedLayerLoadBasedAutoScalingArgs and MemcachedLayerLoadBasedAutoScalingOutput values. +// You can construct a concrete instance of `MemcachedLayerLoadBasedAutoScalingInput` via: +// +// MemcachedLayerLoadBasedAutoScalingArgs{...} +type MemcachedLayerLoadBasedAutoScalingInput interface { + pulumi.Input + + ToMemcachedLayerLoadBasedAutoScalingOutput() MemcachedLayerLoadBasedAutoScalingOutput + ToMemcachedLayerLoadBasedAutoScalingOutputWithContext(context.Context) MemcachedLayerLoadBasedAutoScalingOutput +} + +type MemcachedLayerLoadBasedAutoScalingArgs struct { + Downscaling MemcachedLayerLoadBasedAutoScalingDownscalingPtrInput `pulumi:"downscaling"` + Enable pulumi.BoolPtrInput `pulumi:"enable"` + Upscaling MemcachedLayerLoadBasedAutoScalingUpscalingPtrInput `pulumi:"upscaling"` +} + +func (MemcachedLayerLoadBasedAutoScalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MemcachedLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (i MemcachedLayerLoadBasedAutoScalingArgs) ToMemcachedLayerLoadBasedAutoScalingOutput() MemcachedLayerLoadBasedAutoScalingOutput { + return i.ToMemcachedLayerLoadBasedAutoScalingOutputWithContext(context.Background()) +} + +func (i MemcachedLayerLoadBasedAutoScalingArgs) ToMemcachedLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerLoadBasedAutoScalingOutput) +} + +func (i MemcachedLayerLoadBasedAutoScalingArgs) ToMemcachedLayerLoadBasedAutoScalingPtrOutput() MemcachedLayerLoadBasedAutoScalingPtrOutput { + return i.ToMemcachedLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) +} + +func (i MemcachedLayerLoadBasedAutoScalingArgs) ToMemcachedLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerLoadBasedAutoScalingOutput).ToMemcachedLayerLoadBasedAutoScalingPtrOutputWithContext(ctx) +} + +// MemcachedLayerLoadBasedAutoScalingPtrInput is an input type that accepts MemcachedLayerLoadBasedAutoScalingArgs, MemcachedLayerLoadBasedAutoScalingPtr and MemcachedLayerLoadBasedAutoScalingPtrOutput values. +// You can construct a concrete instance of `MemcachedLayerLoadBasedAutoScalingPtrInput` via: +// +// MemcachedLayerLoadBasedAutoScalingArgs{...} +// +// or: +// +// nil +type MemcachedLayerLoadBasedAutoScalingPtrInput interface { + pulumi.Input + + ToMemcachedLayerLoadBasedAutoScalingPtrOutput() MemcachedLayerLoadBasedAutoScalingPtrOutput + ToMemcachedLayerLoadBasedAutoScalingPtrOutputWithContext(context.Context) MemcachedLayerLoadBasedAutoScalingPtrOutput +} + +type memcachedLayerLoadBasedAutoScalingPtrType MemcachedLayerLoadBasedAutoScalingArgs + +func MemcachedLayerLoadBasedAutoScalingPtr(v *MemcachedLayerLoadBasedAutoScalingArgs) MemcachedLayerLoadBasedAutoScalingPtrInput { + return (*memcachedLayerLoadBasedAutoScalingPtrType)(v) +} + +func (*memcachedLayerLoadBasedAutoScalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MemcachedLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (i *memcachedLayerLoadBasedAutoScalingPtrType) ToMemcachedLayerLoadBasedAutoScalingPtrOutput() MemcachedLayerLoadBasedAutoScalingPtrOutput { + return i.ToMemcachedLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) +} + +func (i *memcachedLayerLoadBasedAutoScalingPtrType) ToMemcachedLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerLoadBasedAutoScalingPtrOutput) +} + +type MemcachedLayerLoadBasedAutoScalingOutput struct{ *pulumi.OutputState } + +func (MemcachedLayerLoadBasedAutoScalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MemcachedLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (o MemcachedLayerLoadBasedAutoScalingOutput) ToMemcachedLayerLoadBasedAutoScalingOutput() MemcachedLayerLoadBasedAutoScalingOutput { + return o +} + +func (o MemcachedLayerLoadBasedAutoScalingOutput) ToMemcachedLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingOutput { + return o +} + +func (o MemcachedLayerLoadBasedAutoScalingOutput) ToMemcachedLayerLoadBasedAutoScalingPtrOutput() MemcachedLayerLoadBasedAutoScalingPtrOutput { + return o.ToMemcachedLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) +} + +func (o MemcachedLayerLoadBasedAutoScalingOutput) ToMemcachedLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MemcachedLayerLoadBasedAutoScaling) *MemcachedLayerLoadBasedAutoScaling { + return &v + }).(MemcachedLayerLoadBasedAutoScalingPtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingOutput) Downscaling() MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v MemcachedLayerLoadBasedAutoScaling) *MemcachedLayerLoadBasedAutoScalingDownscaling { + return v.Downscaling + }).(MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v MemcachedLayerLoadBasedAutoScaling) *bool { return v.Enable }).(pulumi.BoolPtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingOutput) Upscaling() MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v MemcachedLayerLoadBasedAutoScaling) *MemcachedLayerLoadBasedAutoScalingUpscaling { + return v.Upscaling + }).(MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +type MemcachedLayerLoadBasedAutoScalingPtrOutput struct{ *pulumi.OutputState } + +func (MemcachedLayerLoadBasedAutoScalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MemcachedLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (o MemcachedLayerLoadBasedAutoScalingPtrOutput) ToMemcachedLayerLoadBasedAutoScalingPtrOutput() MemcachedLayerLoadBasedAutoScalingPtrOutput { + return o +} + +func (o MemcachedLayerLoadBasedAutoScalingPtrOutput) ToMemcachedLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingPtrOutput { + return o +} + +func (o MemcachedLayerLoadBasedAutoScalingPtrOutput) Elem() MemcachedLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScaling) MemcachedLayerLoadBasedAutoScaling { + if v != nil { + return *v + } + var ret MemcachedLayerLoadBasedAutoScaling + return ret + }).(MemcachedLayerLoadBasedAutoScalingOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingPtrOutput) Downscaling() MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScaling) *MemcachedLayerLoadBasedAutoScalingDownscaling { + if v == nil { + return nil + } + return v.Downscaling + }).(MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingPtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScaling) *bool { + if v == nil { + return nil + } + return v.Enable + }).(pulumi.BoolPtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingPtrOutput) Upscaling() MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScaling) *MemcachedLayerLoadBasedAutoScalingUpscaling { + if v == nil { + return nil + } + return v.Upscaling + }).(MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +type MemcachedLayerLoadBasedAutoScalingDownscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` +} + +// MemcachedLayerLoadBasedAutoScalingDownscalingInput is an input type that accepts MemcachedLayerLoadBasedAutoScalingDownscalingArgs and MemcachedLayerLoadBasedAutoScalingDownscalingOutput values. +// You can construct a concrete instance of `MemcachedLayerLoadBasedAutoScalingDownscalingInput` via: +// +// MemcachedLayerLoadBasedAutoScalingDownscalingArgs{...} +type MemcachedLayerLoadBasedAutoScalingDownscalingInput interface { + pulumi.Input + + ToMemcachedLayerLoadBasedAutoScalingDownscalingOutput() MemcachedLayerLoadBasedAutoScalingDownscalingOutput + ToMemcachedLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Context) MemcachedLayerLoadBasedAutoScalingDownscalingOutput +} + +type MemcachedLayerLoadBasedAutoScalingDownscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` +} + +func (MemcachedLayerLoadBasedAutoScalingDownscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MemcachedLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (i MemcachedLayerLoadBasedAutoScalingDownscalingArgs) ToMemcachedLayerLoadBasedAutoScalingDownscalingOutput() MemcachedLayerLoadBasedAutoScalingDownscalingOutput { + return i.ToMemcachedLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Background()) +} + +func (i MemcachedLayerLoadBasedAutoScalingDownscalingArgs) ToMemcachedLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingDownscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerLoadBasedAutoScalingDownscalingOutput) +} + +func (i MemcachedLayerLoadBasedAutoScalingDownscalingArgs) ToMemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput() MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToMemcachedLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (i MemcachedLayerLoadBasedAutoScalingDownscalingArgs) ToMemcachedLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerLoadBasedAutoScalingDownscalingOutput).ToMemcachedLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx) +} + +// MemcachedLayerLoadBasedAutoScalingDownscalingPtrInput is an input type that accepts MemcachedLayerLoadBasedAutoScalingDownscalingArgs, MemcachedLayerLoadBasedAutoScalingDownscalingPtr and MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput values. +// You can construct a concrete instance of `MemcachedLayerLoadBasedAutoScalingDownscalingPtrInput` via: +// +// MemcachedLayerLoadBasedAutoScalingDownscalingArgs{...} +// +// or: +// +// nil +type MemcachedLayerLoadBasedAutoScalingDownscalingPtrInput interface { + pulumi.Input + + ToMemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput() MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput + ToMemcachedLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Context) MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput +} + +type memcachedLayerLoadBasedAutoScalingDownscalingPtrType MemcachedLayerLoadBasedAutoScalingDownscalingArgs + +func MemcachedLayerLoadBasedAutoScalingDownscalingPtr(v *MemcachedLayerLoadBasedAutoScalingDownscalingArgs) MemcachedLayerLoadBasedAutoScalingDownscalingPtrInput { + return (*memcachedLayerLoadBasedAutoScalingDownscalingPtrType)(v) +} + +func (*memcachedLayerLoadBasedAutoScalingDownscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MemcachedLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (i *memcachedLayerLoadBasedAutoScalingDownscalingPtrType) ToMemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput() MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToMemcachedLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (i *memcachedLayerLoadBasedAutoScalingDownscalingPtrType) ToMemcachedLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +type MemcachedLayerLoadBasedAutoScalingDownscalingOutput struct{ *pulumi.OutputState } + +func (MemcachedLayerLoadBasedAutoScalingDownscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MemcachedLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingOutput) ToMemcachedLayerLoadBasedAutoScalingDownscalingOutput() MemcachedLayerLoadBasedAutoScalingDownscalingOutput { + return o +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingOutput) ToMemcachedLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingDownscalingOutput { + return o +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingOutput) ToMemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput() MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ToMemcachedLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingOutput) ToMemcachedLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MemcachedLayerLoadBasedAutoScalingDownscaling) *MemcachedLayerLoadBasedAutoScalingDownscaling { + return &v + }).(MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v MemcachedLayerLoadBasedAutoScalingDownscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v MemcachedLayerLoadBasedAutoScalingDownscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v MemcachedLayerLoadBasedAutoScalingDownscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v MemcachedLayerLoadBasedAutoScalingDownscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v MemcachedLayerLoadBasedAutoScalingDownscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v MemcachedLayerLoadBasedAutoScalingDownscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v MemcachedLayerLoadBasedAutoScalingDownscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) +} + +type MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput struct{ *pulumi.OutputState } + +func (MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MemcachedLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput) ToMemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput() MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput) ToMemcachedLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput) Elem() MemcachedLayerLoadBasedAutoScalingDownscalingOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScalingDownscaling) MemcachedLayerLoadBasedAutoScalingDownscaling { + if v != nil { + return *v + } + var ret MemcachedLayerLoadBasedAutoScalingDownscaling + return ret + }).(MemcachedLayerLoadBasedAutoScalingDownscalingOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScalingDownscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) +} + +type MemcachedLayerLoadBasedAutoScalingUpscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` +} + +// MemcachedLayerLoadBasedAutoScalingUpscalingInput is an input type that accepts MemcachedLayerLoadBasedAutoScalingUpscalingArgs and MemcachedLayerLoadBasedAutoScalingUpscalingOutput values. +// You can construct a concrete instance of `MemcachedLayerLoadBasedAutoScalingUpscalingInput` via: +// +// MemcachedLayerLoadBasedAutoScalingUpscalingArgs{...} +type MemcachedLayerLoadBasedAutoScalingUpscalingInput interface { + pulumi.Input + + ToMemcachedLayerLoadBasedAutoScalingUpscalingOutput() MemcachedLayerLoadBasedAutoScalingUpscalingOutput + ToMemcachedLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Context) MemcachedLayerLoadBasedAutoScalingUpscalingOutput +} + +type MemcachedLayerLoadBasedAutoScalingUpscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` +} + +func (MemcachedLayerLoadBasedAutoScalingUpscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MemcachedLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (i MemcachedLayerLoadBasedAutoScalingUpscalingArgs) ToMemcachedLayerLoadBasedAutoScalingUpscalingOutput() MemcachedLayerLoadBasedAutoScalingUpscalingOutput { + return i.ToMemcachedLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Background()) +} + +func (i MemcachedLayerLoadBasedAutoScalingUpscalingArgs) ToMemcachedLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingUpscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerLoadBasedAutoScalingUpscalingOutput) +} + +func (i MemcachedLayerLoadBasedAutoScalingUpscalingArgs) ToMemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput() MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToMemcachedLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (i MemcachedLayerLoadBasedAutoScalingUpscalingArgs) ToMemcachedLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerLoadBasedAutoScalingUpscalingOutput).ToMemcachedLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx) +} + +// MemcachedLayerLoadBasedAutoScalingUpscalingPtrInput is an input type that accepts MemcachedLayerLoadBasedAutoScalingUpscalingArgs, MemcachedLayerLoadBasedAutoScalingUpscalingPtr and MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput values. +// You can construct a concrete instance of `MemcachedLayerLoadBasedAutoScalingUpscalingPtrInput` via: +// +// MemcachedLayerLoadBasedAutoScalingUpscalingArgs{...} +// +// or: +// +// nil +type MemcachedLayerLoadBasedAutoScalingUpscalingPtrInput interface { + pulumi.Input + + ToMemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput() MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput + ToMemcachedLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Context) MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput +} + +type memcachedLayerLoadBasedAutoScalingUpscalingPtrType MemcachedLayerLoadBasedAutoScalingUpscalingArgs + +func MemcachedLayerLoadBasedAutoScalingUpscalingPtr(v *MemcachedLayerLoadBasedAutoScalingUpscalingArgs) MemcachedLayerLoadBasedAutoScalingUpscalingPtrInput { + return (*memcachedLayerLoadBasedAutoScalingUpscalingPtrType)(v) +} + +func (*memcachedLayerLoadBasedAutoScalingUpscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MemcachedLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (i *memcachedLayerLoadBasedAutoScalingUpscalingPtrType) ToMemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput() MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToMemcachedLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (i *memcachedLayerLoadBasedAutoScalingUpscalingPtrType) ToMemcachedLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +type MemcachedLayerLoadBasedAutoScalingUpscalingOutput struct{ *pulumi.OutputState } + +func (MemcachedLayerLoadBasedAutoScalingUpscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MemcachedLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingOutput) ToMemcachedLayerLoadBasedAutoScalingUpscalingOutput() MemcachedLayerLoadBasedAutoScalingUpscalingOutput { + return o +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingOutput) ToMemcachedLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingUpscalingOutput { + return o +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingOutput) ToMemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput() MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ToMemcachedLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingOutput) ToMemcachedLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MemcachedLayerLoadBasedAutoScalingUpscaling) *MemcachedLayerLoadBasedAutoScalingUpscaling { + return &v + }).(MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v MemcachedLayerLoadBasedAutoScalingUpscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v MemcachedLayerLoadBasedAutoScalingUpscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v MemcachedLayerLoadBasedAutoScalingUpscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v MemcachedLayerLoadBasedAutoScalingUpscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v MemcachedLayerLoadBasedAutoScalingUpscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v MemcachedLayerLoadBasedAutoScalingUpscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v MemcachedLayerLoadBasedAutoScalingUpscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) +} + +type MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput struct{ *pulumi.OutputState } + +func (MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MemcachedLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput) ToMemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput() MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput) ToMemcachedLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput) Elem() MemcachedLayerLoadBasedAutoScalingUpscalingOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScalingUpscaling) MemcachedLayerLoadBasedAutoScalingUpscaling { + if v != nil { + return *v + } + var ret MemcachedLayerLoadBasedAutoScalingUpscaling + return ret + }).(MemcachedLayerLoadBasedAutoScalingUpscalingOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScalingUpscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MemcachedLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) +} + +type MysqlLayerCloudwatchConfiguration struct { + Enabled *bool `pulumi:"enabled"` + LogStreams []MysqlLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +} + +// MysqlLayerCloudwatchConfigurationInput is an input type that accepts MysqlLayerCloudwatchConfigurationArgs and MysqlLayerCloudwatchConfigurationOutput values. +// You can construct a concrete instance of `MysqlLayerCloudwatchConfigurationInput` via: +// +// MysqlLayerCloudwatchConfigurationArgs{...} +type MysqlLayerCloudwatchConfigurationInput interface { + pulumi.Input + + ToMysqlLayerCloudwatchConfigurationOutput() MysqlLayerCloudwatchConfigurationOutput + ToMysqlLayerCloudwatchConfigurationOutputWithContext(context.Context) MysqlLayerCloudwatchConfigurationOutput +} + +type MysqlLayerCloudwatchConfigurationArgs struct { + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + LogStreams MysqlLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` +} + +func (MysqlLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MysqlLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (i MysqlLayerCloudwatchConfigurationArgs) ToMysqlLayerCloudwatchConfigurationOutput() MysqlLayerCloudwatchConfigurationOutput { + return i.ToMysqlLayerCloudwatchConfigurationOutputWithContext(context.Background()) +} + +func (i MysqlLayerCloudwatchConfigurationArgs) ToMysqlLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerCloudwatchConfigurationOutput) +} + +func (i MysqlLayerCloudwatchConfigurationArgs) ToMysqlLayerCloudwatchConfigurationPtrOutput() MysqlLayerCloudwatchConfigurationPtrOutput { + return i.ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (i MysqlLayerCloudwatchConfigurationArgs) ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerCloudwatchConfigurationOutput).ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(ctx) +} + +// MysqlLayerCloudwatchConfigurationPtrInput is an input type that accepts MysqlLayerCloudwatchConfigurationArgs, MysqlLayerCloudwatchConfigurationPtr and MysqlLayerCloudwatchConfigurationPtrOutput values. +// You can construct a concrete instance of `MysqlLayerCloudwatchConfigurationPtrInput` via: +// +// MysqlLayerCloudwatchConfigurationArgs{...} +// +// or: +// +// nil +type MysqlLayerCloudwatchConfigurationPtrInput interface { + pulumi.Input + + ToMysqlLayerCloudwatchConfigurationPtrOutput() MysqlLayerCloudwatchConfigurationPtrOutput + ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) MysqlLayerCloudwatchConfigurationPtrOutput +} + +type mysqlLayerCloudwatchConfigurationPtrType MysqlLayerCloudwatchConfigurationArgs + +func MysqlLayerCloudwatchConfigurationPtr(v *MysqlLayerCloudwatchConfigurationArgs) MysqlLayerCloudwatchConfigurationPtrInput { + return (*mysqlLayerCloudwatchConfigurationPtrType)(v) +} + +func (*mysqlLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MysqlLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (i *mysqlLayerCloudwatchConfigurationPtrType) ToMysqlLayerCloudwatchConfigurationPtrOutput() MysqlLayerCloudwatchConfigurationPtrOutput { + return i.ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *mysqlLayerCloudwatchConfigurationPtrType) ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerCloudwatchConfigurationPtrOutput) +} + +type MysqlLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } + +func (MysqlLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MysqlLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (o MysqlLayerCloudwatchConfigurationOutput) ToMysqlLayerCloudwatchConfigurationOutput() MysqlLayerCloudwatchConfigurationOutput { + return o +} + +func (o MysqlLayerCloudwatchConfigurationOutput) ToMysqlLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationOutput { + return o +} + +func (o MysqlLayerCloudwatchConfigurationOutput) ToMysqlLayerCloudwatchConfigurationPtrOutput() MysqlLayerCloudwatchConfigurationPtrOutput { + return o.ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (o MysqlLayerCloudwatchConfigurationOutput) ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MysqlLayerCloudwatchConfiguration) *MysqlLayerCloudwatchConfiguration { + return &v + }).(MysqlLayerCloudwatchConfigurationPtrOutput) +} + +func (o MysqlLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v MysqlLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +func (o MysqlLayerCloudwatchConfigurationOutput) LogStreams() MysqlLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v MysqlLayerCloudwatchConfiguration) []MysqlLayerCloudwatchConfigurationLogStream { + return v.LogStreams + }).(MysqlLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type MysqlLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (MysqlLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MysqlLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (o MysqlLayerCloudwatchConfigurationPtrOutput) ToMysqlLayerCloudwatchConfigurationPtrOutput() MysqlLayerCloudwatchConfigurationPtrOutput { + return o +} + +func (o MysqlLayerCloudwatchConfigurationPtrOutput) ToMysqlLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationPtrOutput { + return o +} + +func (o MysqlLayerCloudwatchConfigurationPtrOutput) Elem() MysqlLayerCloudwatchConfigurationOutput { + return o.ApplyT(func(v *MysqlLayerCloudwatchConfiguration) MysqlLayerCloudwatchConfiguration { + if v != nil { + return *v + } + var ret MysqlLayerCloudwatchConfiguration + return ret + }).(MysqlLayerCloudwatchConfigurationOutput) +} + +func (o MysqlLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *MysqlLayerCloudwatchConfiguration) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +func (o MysqlLayerCloudwatchConfigurationPtrOutput) LogStreams() MysqlLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v *MysqlLayerCloudwatchConfiguration) []MysqlLayerCloudwatchConfigurationLogStream { + if v == nil { + return nil + } + return v.LogStreams + }).(MysqlLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type MysqlLayerCloudwatchConfigurationLogStream struct { + BatchCount *int `pulumi:"batchCount"` + BatchSize *int `pulumi:"batchSize"` + BufferDuration *int `pulumi:"bufferDuration"` + DatetimeFormat *string `pulumi:"datetimeFormat"` + Encoding *string `pulumi:"encoding"` + File string `pulumi:"file"` + FileFingerprintLines *string `pulumi:"fileFingerprintLines"` + InitialPosition *string `pulumi:"initialPosition"` + LogGroupName string `pulumi:"logGroupName"` + MultilineStartPattern *string `pulumi:"multilineStartPattern"` + TimeZone *string `pulumi:"timeZone"` +} + +// MysqlLayerCloudwatchConfigurationLogStreamInput is an input type that accepts MysqlLayerCloudwatchConfigurationLogStreamArgs and MysqlLayerCloudwatchConfigurationLogStreamOutput values. +// You can construct a concrete instance of `MysqlLayerCloudwatchConfigurationLogStreamInput` via: +// +// MysqlLayerCloudwatchConfigurationLogStreamArgs{...} +type MysqlLayerCloudwatchConfigurationLogStreamInput interface { + pulumi.Input + + ToMysqlLayerCloudwatchConfigurationLogStreamOutput() MysqlLayerCloudwatchConfigurationLogStreamOutput + ToMysqlLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) MysqlLayerCloudwatchConfigurationLogStreamOutput +} + +type MysqlLayerCloudwatchConfigurationLogStreamArgs struct { + BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` + BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` + BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` + DatetimeFormat pulumi.StringPtrInput `pulumi:"datetimeFormat"` + Encoding pulumi.StringPtrInput `pulumi:"encoding"` + File pulumi.StringInput `pulumi:"file"` + FileFingerprintLines pulumi.StringPtrInput `pulumi:"fileFingerprintLines"` + InitialPosition pulumi.StringPtrInput `pulumi:"initialPosition"` + LogGroupName pulumi.StringInput `pulumi:"logGroupName"` + MultilineStartPattern pulumi.StringPtrInput `pulumi:"multilineStartPattern"` + TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +} + +func (MysqlLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MysqlLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (i MysqlLayerCloudwatchConfigurationLogStreamArgs) ToMysqlLayerCloudwatchConfigurationLogStreamOutput() MysqlLayerCloudwatchConfigurationLogStreamOutput { + return i.ToMysqlLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) +} + +func (i MysqlLayerCloudwatchConfigurationLogStreamArgs) ToMysqlLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerCloudwatchConfigurationLogStreamOutput) +} + +// MysqlLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts MysqlLayerCloudwatchConfigurationLogStreamArray and MysqlLayerCloudwatchConfigurationLogStreamArrayOutput values. +// You can construct a concrete instance of `MysqlLayerCloudwatchConfigurationLogStreamArrayInput` via: +// +// MysqlLayerCloudwatchConfigurationLogStreamArray{ MysqlLayerCloudwatchConfigurationLogStreamArgs{...} } +type MysqlLayerCloudwatchConfigurationLogStreamArrayInput interface { + pulumi.Input + + ToMysqlLayerCloudwatchConfigurationLogStreamArrayOutput() MysqlLayerCloudwatchConfigurationLogStreamArrayOutput + ToMysqlLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) MysqlLayerCloudwatchConfigurationLogStreamArrayOutput +} + +type MysqlLayerCloudwatchConfigurationLogStreamArray []MysqlLayerCloudwatchConfigurationLogStreamInput + +func (MysqlLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]MysqlLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (i MysqlLayerCloudwatchConfigurationLogStreamArray) ToMysqlLayerCloudwatchConfigurationLogStreamArrayOutput() MysqlLayerCloudwatchConfigurationLogStreamArrayOutput { + return i.ToMysqlLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) +} + +func (i MysqlLayerCloudwatchConfigurationLogStreamArray) ToMysqlLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationLogStreamArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type MysqlLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } + +func (MysqlLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MysqlLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) ToMysqlLayerCloudwatchConfigurationLogStreamOutput() MysqlLayerCloudwatchConfigurationLogStreamOutput { + return o +} + +func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) ToMysqlLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationLogStreamOutput { + return o +} + +func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) +} + +func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) +} + +func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) +} + +func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) +} + +func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) +} + +func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { + return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) +} + +func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { + return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) +} + +func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { + return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) +} + +func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { + return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) +} + +func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) +} + +func (o MysqlLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v MysqlLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +} + +type MysqlLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } + +func (MysqlLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]MysqlLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (o MysqlLayerCloudwatchConfigurationLogStreamArrayOutput) ToMysqlLayerCloudwatchConfigurationLogStreamArrayOutput() MysqlLayerCloudwatchConfigurationLogStreamArrayOutput { + return o +} + +func (o MysqlLayerCloudwatchConfigurationLogStreamArrayOutput) ToMysqlLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) MysqlLayerCloudwatchConfigurationLogStreamArrayOutput { + return o +} + +func (o MysqlLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) MysqlLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) MysqlLayerCloudwatchConfigurationLogStream { + return vs[0].([]MysqlLayerCloudwatchConfigurationLogStream)[vs[1].(int)] + }).(MysqlLayerCloudwatchConfigurationLogStreamOutput) +} + +type MysqlLayerEbsVolume struct { + Encrypted *bool `pulumi:"encrypted"` + // For PIOPS volumes, the IOPS per disk. + Iops *int `pulumi:"iops"` + // The path to mount the EBS volume on the layer's instances. + MountPoint string `pulumi:"mountPoint"` + // The number of disks to use for the EBS volume. + NumberOfDisks int `pulumi:"numberOfDisks"` + // The RAID level to use for the volume. + RaidLevel *string `pulumi:"raidLevel"` + // The size of the volume in gigabytes. + Size int `pulumi:"size"` + // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + Type *string `pulumi:"type"` +} + +// MysqlLayerEbsVolumeInput is an input type that accepts MysqlLayerEbsVolumeArgs and MysqlLayerEbsVolumeOutput values. +// You can construct a concrete instance of `MysqlLayerEbsVolumeInput` via: +// +// MysqlLayerEbsVolumeArgs{...} +type MysqlLayerEbsVolumeInput interface { + pulumi.Input + + ToMysqlLayerEbsVolumeOutput() MysqlLayerEbsVolumeOutput + ToMysqlLayerEbsVolumeOutputWithContext(context.Context) MysqlLayerEbsVolumeOutput +} + +type MysqlLayerEbsVolumeArgs struct { + Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` + // For PIOPS volumes, the IOPS per disk. + Iops pulumi.IntPtrInput `pulumi:"iops"` + // The path to mount the EBS volume on the layer's instances. + MountPoint pulumi.StringInput `pulumi:"mountPoint"` + // The number of disks to use for the EBS volume. + NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"` + // The RAID level to use for the volume. + RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"` + // The size of the volume in gigabytes. + Size pulumi.IntInput `pulumi:"size"` + // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (MysqlLayerEbsVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MysqlLayerEbsVolume)(nil)).Elem() +} + +func (i MysqlLayerEbsVolumeArgs) ToMysqlLayerEbsVolumeOutput() MysqlLayerEbsVolumeOutput { + return i.ToMysqlLayerEbsVolumeOutputWithContext(context.Background()) +} + +func (i MysqlLayerEbsVolumeArgs) ToMysqlLayerEbsVolumeOutputWithContext(ctx context.Context) MysqlLayerEbsVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerEbsVolumeOutput) +} + +// MysqlLayerEbsVolumeArrayInput is an input type that accepts MysqlLayerEbsVolumeArray and MysqlLayerEbsVolumeArrayOutput values. +// You can construct a concrete instance of `MysqlLayerEbsVolumeArrayInput` via: +// +// MysqlLayerEbsVolumeArray{ MysqlLayerEbsVolumeArgs{...} } +type MysqlLayerEbsVolumeArrayInput interface { + pulumi.Input + + ToMysqlLayerEbsVolumeArrayOutput() MysqlLayerEbsVolumeArrayOutput + ToMysqlLayerEbsVolumeArrayOutputWithContext(context.Context) MysqlLayerEbsVolumeArrayOutput +} + +type MysqlLayerEbsVolumeArray []MysqlLayerEbsVolumeInput + +func (MysqlLayerEbsVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]MysqlLayerEbsVolume)(nil)).Elem() +} + +func (i MysqlLayerEbsVolumeArray) ToMysqlLayerEbsVolumeArrayOutput() MysqlLayerEbsVolumeArrayOutput { + return i.ToMysqlLayerEbsVolumeArrayOutputWithContext(context.Background()) +} + +func (i MysqlLayerEbsVolumeArray) ToMysqlLayerEbsVolumeArrayOutputWithContext(ctx context.Context) MysqlLayerEbsVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerEbsVolumeArrayOutput) +} + +type MysqlLayerEbsVolumeOutput struct{ *pulumi.OutputState } + +func (MysqlLayerEbsVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MysqlLayerEbsVolume)(nil)).Elem() +} + +func (o MysqlLayerEbsVolumeOutput) ToMysqlLayerEbsVolumeOutput() MysqlLayerEbsVolumeOutput { + return o +} + +func (o MysqlLayerEbsVolumeOutput) ToMysqlLayerEbsVolumeOutputWithContext(ctx context.Context) MysqlLayerEbsVolumeOutput { + return o +} + +func (o MysqlLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v MysqlLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +} + +// For PIOPS volumes, the IOPS per disk. +func (o MysqlLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v MysqlLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) +} + +// The path to mount the EBS volume on the layer's instances. +func (o MysqlLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { + return o.ApplyT(func(v MysqlLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) +} + +// The number of disks to use for the EBS volume. +func (o MysqlLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { + return o.ApplyT(func(v MysqlLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) +} + +// The RAID level to use for the volume. +func (o MysqlLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v MysqlLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) +} + +// The size of the volume in gigabytes. +func (o MysqlLayerEbsVolumeOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v MysqlLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) +} + +// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. +func (o MysqlLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v MysqlLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type MysqlLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } + +func (MysqlLayerEbsVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]MysqlLayerEbsVolume)(nil)).Elem() +} + +func (o MysqlLayerEbsVolumeArrayOutput) ToMysqlLayerEbsVolumeArrayOutput() MysqlLayerEbsVolumeArrayOutput { + return o +} + +func (o MysqlLayerEbsVolumeArrayOutput) ToMysqlLayerEbsVolumeArrayOutputWithContext(ctx context.Context) MysqlLayerEbsVolumeArrayOutput { + return o +} + +func (o MysqlLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) MysqlLayerEbsVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) MysqlLayerEbsVolume { + return vs[0].([]MysqlLayerEbsVolume)[vs[1].(int)] + }).(MysqlLayerEbsVolumeOutput) +} + +type MysqlLayerLoadBasedAutoScaling struct { + Downscaling *MysqlLayerLoadBasedAutoScalingDownscaling `pulumi:"downscaling"` + Enable *bool `pulumi:"enable"` + Upscaling *MysqlLayerLoadBasedAutoScalingUpscaling `pulumi:"upscaling"` +} + +// MysqlLayerLoadBasedAutoScalingInput is an input type that accepts MysqlLayerLoadBasedAutoScalingArgs and MysqlLayerLoadBasedAutoScalingOutput values. +// You can construct a concrete instance of `MysqlLayerLoadBasedAutoScalingInput` via: +// +// MysqlLayerLoadBasedAutoScalingArgs{...} +type MysqlLayerLoadBasedAutoScalingInput interface { + pulumi.Input + + ToMysqlLayerLoadBasedAutoScalingOutput() MysqlLayerLoadBasedAutoScalingOutput + ToMysqlLayerLoadBasedAutoScalingOutputWithContext(context.Context) MysqlLayerLoadBasedAutoScalingOutput +} + +type MysqlLayerLoadBasedAutoScalingArgs struct { + Downscaling MysqlLayerLoadBasedAutoScalingDownscalingPtrInput `pulumi:"downscaling"` + Enable pulumi.BoolPtrInput `pulumi:"enable"` + Upscaling MysqlLayerLoadBasedAutoScalingUpscalingPtrInput `pulumi:"upscaling"` +} + +func (MysqlLayerLoadBasedAutoScalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MysqlLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (i MysqlLayerLoadBasedAutoScalingArgs) ToMysqlLayerLoadBasedAutoScalingOutput() MysqlLayerLoadBasedAutoScalingOutput { + return i.ToMysqlLayerLoadBasedAutoScalingOutputWithContext(context.Background()) +} + +func (i MysqlLayerLoadBasedAutoScalingArgs) ToMysqlLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerLoadBasedAutoScalingOutput) +} + +func (i MysqlLayerLoadBasedAutoScalingArgs) ToMysqlLayerLoadBasedAutoScalingPtrOutput() MysqlLayerLoadBasedAutoScalingPtrOutput { + return i.ToMysqlLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) +} + +func (i MysqlLayerLoadBasedAutoScalingArgs) ToMysqlLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerLoadBasedAutoScalingOutput).ToMysqlLayerLoadBasedAutoScalingPtrOutputWithContext(ctx) +} + +// MysqlLayerLoadBasedAutoScalingPtrInput is an input type that accepts MysqlLayerLoadBasedAutoScalingArgs, MysqlLayerLoadBasedAutoScalingPtr and MysqlLayerLoadBasedAutoScalingPtrOutput values. +// You can construct a concrete instance of `MysqlLayerLoadBasedAutoScalingPtrInput` via: +// +// MysqlLayerLoadBasedAutoScalingArgs{...} +// +// or: +// +// nil +type MysqlLayerLoadBasedAutoScalingPtrInput interface { + pulumi.Input + + ToMysqlLayerLoadBasedAutoScalingPtrOutput() MysqlLayerLoadBasedAutoScalingPtrOutput + ToMysqlLayerLoadBasedAutoScalingPtrOutputWithContext(context.Context) MysqlLayerLoadBasedAutoScalingPtrOutput +} + +type mysqlLayerLoadBasedAutoScalingPtrType MysqlLayerLoadBasedAutoScalingArgs + +func MysqlLayerLoadBasedAutoScalingPtr(v *MysqlLayerLoadBasedAutoScalingArgs) MysqlLayerLoadBasedAutoScalingPtrInput { + return (*mysqlLayerLoadBasedAutoScalingPtrType)(v) +} + +func (*mysqlLayerLoadBasedAutoScalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MysqlLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (i *mysqlLayerLoadBasedAutoScalingPtrType) ToMysqlLayerLoadBasedAutoScalingPtrOutput() MysqlLayerLoadBasedAutoScalingPtrOutput { + return i.ToMysqlLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) +} + +func (i *mysqlLayerLoadBasedAutoScalingPtrType) ToMysqlLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerLoadBasedAutoScalingPtrOutput) +} + +type MysqlLayerLoadBasedAutoScalingOutput struct{ *pulumi.OutputState } + +func (MysqlLayerLoadBasedAutoScalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MysqlLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (o MysqlLayerLoadBasedAutoScalingOutput) ToMysqlLayerLoadBasedAutoScalingOutput() MysqlLayerLoadBasedAutoScalingOutput { + return o +} + +func (o MysqlLayerLoadBasedAutoScalingOutput) ToMysqlLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingOutput { + return o +} + +func (o MysqlLayerLoadBasedAutoScalingOutput) ToMysqlLayerLoadBasedAutoScalingPtrOutput() MysqlLayerLoadBasedAutoScalingPtrOutput { + return o.ToMysqlLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) +} + +func (o MysqlLayerLoadBasedAutoScalingOutput) ToMysqlLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MysqlLayerLoadBasedAutoScaling) *MysqlLayerLoadBasedAutoScaling { + return &v + }).(MysqlLayerLoadBasedAutoScalingPtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingOutput) Downscaling() MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v MysqlLayerLoadBasedAutoScaling) *MysqlLayerLoadBasedAutoScalingDownscaling { + return v.Downscaling + }).(MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v MysqlLayerLoadBasedAutoScaling) *bool { return v.Enable }).(pulumi.BoolPtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingOutput) Upscaling() MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v MysqlLayerLoadBasedAutoScaling) *MysqlLayerLoadBasedAutoScalingUpscaling { return v.Upscaling }).(MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +type MysqlLayerLoadBasedAutoScalingPtrOutput struct{ *pulumi.OutputState } + +func (MysqlLayerLoadBasedAutoScalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MysqlLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (o MysqlLayerLoadBasedAutoScalingPtrOutput) ToMysqlLayerLoadBasedAutoScalingPtrOutput() MysqlLayerLoadBasedAutoScalingPtrOutput { + return o +} + +func (o MysqlLayerLoadBasedAutoScalingPtrOutput) ToMysqlLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingPtrOutput { + return o +} + +func (o MysqlLayerLoadBasedAutoScalingPtrOutput) Elem() MysqlLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScaling) MysqlLayerLoadBasedAutoScaling { + if v != nil { + return *v + } + var ret MysqlLayerLoadBasedAutoScaling + return ret + }).(MysqlLayerLoadBasedAutoScalingOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingPtrOutput) Downscaling() MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScaling) *MysqlLayerLoadBasedAutoScalingDownscaling { + if v == nil { + return nil + } + return v.Downscaling + }).(MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingPtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScaling) *bool { + if v == nil { + return nil + } + return v.Enable + }).(pulumi.BoolPtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingPtrOutput) Upscaling() MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScaling) *MysqlLayerLoadBasedAutoScalingUpscaling { + if v == nil { + return nil + } + return v.Upscaling + }).(MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +type MysqlLayerLoadBasedAutoScalingDownscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` +} + +// MysqlLayerLoadBasedAutoScalingDownscalingInput is an input type that accepts MysqlLayerLoadBasedAutoScalingDownscalingArgs and MysqlLayerLoadBasedAutoScalingDownscalingOutput values. +// You can construct a concrete instance of `MysqlLayerLoadBasedAutoScalingDownscalingInput` via: +// +// MysqlLayerLoadBasedAutoScalingDownscalingArgs{...} +type MysqlLayerLoadBasedAutoScalingDownscalingInput interface { + pulumi.Input + + ToMysqlLayerLoadBasedAutoScalingDownscalingOutput() MysqlLayerLoadBasedAutoScalingDownscalingOutput + ToMysqlLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Context) MysqlLayerLoadBasedAutoScalingDownscalingOutput +} + +type MysqlLayerLoadBasedAutoScalingDownscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` +} + +func (MysqlLayerLoadBasedAutoScalingDownscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MysqlLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (i MysqlLayerLoadBasedAutoScalingDownscalingArgs) ToMysqlLayerLoadBasedAutoScalingDownscalingOutput() MysqlLayerLoadBasedAutoScalingDownscalingOutput { + return i.ToMysqlLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Background()) +} + +func (i MysqlLayerLoadBasedAutoScalingDownscalingArgs) ToMysqlLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingDownscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerLoadBasedAutoScalingDownscalingOutput) +} + +func (i MysqlLayerLoadBasedAutoScalingDownscalingArgs) ToMysqlLayerLoadBasedAutoScalingDownscalingPtrOutput() MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToMysqlLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (i MysqlLayerLoadBasedAutoScalingDownscalingArgs) ToMysqlLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerLoadBasedAutoScalingDownscalingOutput).ToMysqlLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx) +} + +// MysqlLayerLoadBasedAutoScalingDownscalingPtrInput is an input type that accepts MysqlLayerLoadBasedAutoScalingDownscalingArgs, MysqlLayerLoadBasedAutoScalingDownscalingPtr and MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput values. +// You can construct a concrete instance of `MysqlLayerLoadBasedAutoScalingDownscalingPtrInput` via: +// +// MysqlLayerLoadBasedAutoScalingDownscalingArgs{...} +// +// or: +// +// nil +type MysqlLayerLoadBasedAutoScalingDownscalingPtrInput interface { + pulumi.Input + + ToMysqlLayerLoadBasedAutoScalingDownscalingPtrOutput() MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput + ToMysqlLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Context) MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput +} + +type mysqlLayerLoadBasedAutoScalingDownscalingPtrType MysqlLayerLoadBasedAutoScalingDownscalingArgs + +func MysqlLayerLoadBasedAutoScalingDownscalingPtr(v *MysqlLayerLoadBasedAutoScalingDownscalingArgs) MysqlLayerLoadBasedAutoScalingDownscalingPtrInput { + return (*mysqlLayerLoadBasedAutoScalingDownscalingPtrType)(v) +} + +func (*mysqlLayerLoadBasedAutoScalingDownscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MysqlLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (i *mysqlLayerLoadBasedAutoScalingDownscalingPtrType) ToMysqlLayerLoadBasedAutoScalingDownscalingPtrOutput() MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToMysqlLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (i *mysqlLayerLoadBasedAutoScalingDownscalingPtrType) ToMysqlLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +type MysqlLayerLoadBasedAutoScalingDownscalingOutput struct{ *pulumi.OutputState } + +func (MysqlLayerLoadBasedAutoScalingDownscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MysqlLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingOutput) ToMysqlLayerLoadBasedAutoScalingDownscalingOutput() MysqlLayerLoadBasedAutoScalingDownscalingOutput { + return o +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingOutput) ToMysqlLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingDownscalingOutput { + return o +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingOutput) ToMysqlLayerLoadBasedAutoScalingDownscalingPtrOutput() MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ToMysqlLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingOutput) ToMysqlLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MysqlLayerLoadBasedAutoScalingDownscaling) *MysqlLayerLoadBasedAutoScalingDownscaling { + return &v + }).(MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v MysqlLayerLoadBasedAutoScalingDownscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v MysqlLayerLoadBasedAutoScalingDownscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v MysqlLayerLoadBasedAutoScalingDownscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v MysqlLayerLoadBasedAutoScalingDownscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v MysqlLayerLoadBasedAutoScalingDownscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v MysqlLayerLoadBasedAutoScalingDownscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v MysqlLayerLoadBasedAutoScalingDownscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) +} + +type MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput struct{ *pulumi.OutputState } + +func (MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MysqlLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput) ToMysqlLayerLoadBasedAutoScalingDownscalingPtrOutput() MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput) ToMysqlLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput) Elem() MysqlLayerLoadBasedAutoScalingDownscalingOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScalingDownscaling) MysqlLayerLoadBasedAutoScalingDownscaling { + if v != nil { + return *v + } + var ret MysqlLayerLoadBasedAutoScalingDownscaling + return ret + }).(MysqlLayerLoadBasedAutoScalingDownscalingOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScalingDownscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) +} + +type MysqlLayerLoadBasedAutoScalingUpscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` +} + +// MysqlLayerLoadBasedAutoScalingUpscalingInput is an input type that accepts MysqlLayerLoadBasedAutoScalingUpscalingArgs and MysqlLayerLoadBasedAutoScalingUpscalingOutput values. +// You can construct a concrete instance of `MysqlLayerLoadBasedAutoScalingUpscalingInput` via: +// +// MysqlLayerLoadBasedAutoScalingUpscalingArgs{...} +type MysqlLayerLoadBasedAutoScalingUpscalingInput interface { + pulumi.Input + + ToMysqlLayerLoadBasedAutoScalingUpscalingOutput() MysqlLayerLoadBasedAutoScalingUpscalingOutput + ToMysqlLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Context) MysqlLayerLoadBasedAutoScalingUpscalingOutput +} + +type MysqlLayerLoadBasedAutoScalingUpscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` +} + +func (MysqlLayerLoadBasedAutoScalingUpscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MysqlLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (i MysqlLayerLoadBasedAutoScalingUpscalingArgs) ToMysqlLayerLoadBasedAutoScalingUpscalingOutput() MysqlLayerLoadBasedAutoScalingUpscalingOutput { + return i.ToMysqlLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Background()) +} + +func (i MysqlLayerLoadBasedAutoScalingUpscalingArgs) ToMysqlLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingUpscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerLoadBasedAutoScalingUpscalingOutput) +} + +func (i MysqlLayerLoadBasedAutoScalingUpscalingArgs) ToMysqlLayerLoadBasedAutoScalingUpscalingPtrOutput() MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToMysqlLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (i MysqlLayerLoadBasedAutoScalingUpscalingArgs) ToMysqlLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerLoadBasedAutoScalingUpscalingOutput).ToMysqlLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx) +} + +// MysqlLayerLoadBasedAutoScalingUpscalingPtrInput is an input type that accepts MysqlLayerLoadBasedAutoScalingUpscalingArgs, MysqlLayerLoadBasedAutoScalingUpscalingPtr and MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput values. +// You can construct a concrete instance of `MysqlLayerLoadBasedAutoScalingUpscalingPtrInput` via: +// +// MysqlLayerLoadBasedAutoScalingUpscalingArgs{...} +// +// or: +// +// nil +type MysqlLayerLoadBasedAutoScalingUpscalingPtrInput interface { + pulumi.Input + + ToMysqlLayerLoadBasedAutoScalingUpscalingPtrOutput() MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput + ToMysqlLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Context) MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput +} + +type mysqlLayerLoadBasedAutoScalingUpscalingPtrType MysqlLayerLoadBasedAutoScalingUpscalingArgs + +func MysqlLayerLoadBasedAutoScalingUpscalingPtr(v *MysqlLayerLoadBasedAutoScalingUpscalingArgs) MysqlLayerLoadBasedAutoScalingUpscalingPtrInput { + return (*mysqlLayerLoadBasedAutoScalingUpscalingPtrType)(v) +} + +func (*mysqlLayerLoadBasedAutoScalingUpscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MysqlLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (i *mysqlLayerLoadBasedAutoScalingUpscalingPtrType) ToMysqlLayerLoadBasedAutoScalingUpscalingPtrOutput() MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToMysqlLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (i *mysqlLayerLoadBasedAutoScalingUpscalingPtrType) ToMysqlLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +type MysqlLayerLoadBasedAutoScalingUpscalingOutput struct{ *pulumi.OutputState } + +func (MysqlLayerLoadBasedAutoScalingUpscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MysqlLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingOutput) ToMysqlLayerLoadBasedAutoScalingUpscalingOutput() MysqlLayerLoadBasedAutoScalingUpscalingOutput { + return o +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingOutput) ToMysqlLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingUpscalingOutput { + return o +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingOutput) ToMysqlLayerLoadBasedAutoScalingUpscalingPtrOutput() MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ToMysqlLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingOutput) ToMysqlLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MysqlLayerLoadBasedAutoScalingUpscaling) *MysqlLayerLoadBasedAutoScalingUpscaling { + return &v + }).(MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v MysqlLayerLoadBasedAutoScalingUpscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v MysqlLayerLoadBasedAutoScalingUpscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v MysqlLayerLoadBasedAutoScalingUpscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v MysqlLayerLoadBasedAutoScalingUpscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v MysqlLayerLoadBasedAutoScalingUpscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v MysqlLayerLoadBasedAutoScalingUpscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v MysqlLayerLoadBasedAutoScalingUpscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) +} + +type MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput struct{ *pulumi.OutputState } + +func (MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MysqlLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput) ToMysqlLayerLoadBasedAutoScalingUpscalingPtrOutput() MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput) ToMysqlLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput) Elem() MysqlLayerLoadBasedAutoScalingUpscalingOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScalingUpscaling) MysqlLayerLoadBasedAutoScalingUpscaling { + if v != nil { + return *v + } + var ret MysqlLayerLoadBasedAutoScalingUpscaling + return ret + }).(MysqlLayerLoadBasedAutoScalingUpscalingOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScalingUpscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MysqlLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) +} + +type NodejsAppLayerCloudwatchConfiguration struct { + Enabled *bool `pulumi:"enabled"` + LogStreams []NodejsAppLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +} + +// NodejsAppLayerCloudwatchConfigurationInput is an input type that accepts NodejsAppLayerCloudwatchConfigurationArgs and NodejsAppLayerCloudwatchConfigurationOutput values. +// You can construct a concrete instance of `NodejsAppLayerCloudwatchConfigurationInput` via: +// +// NodejsAppLayerCloudwatchConfigurationArgs{...} +type NodejsAppLayerCloudwatchConfigurationInput interface { + pulumi.Input + + ToNodejsAppLayerCloudwatchConfigurationOutput() NodejsAppLayerCloudwatchConfigurationOutput + ToNodejsAppLayerCloudwatchConfigurationOutputWithContext(context.Context) NodejsAppLayerCloudwatchConfigurationOutput +} + +type NodejsAppLayerCloudwatchConfigurationArgs struct { + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + LogStreams NodejsAppLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` +} + +func (NodejsAppLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodejsAppLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (i NodejsAppLayerCloudwatchConfigurationArgs) ToNodejsAppLayerCloudwatchConfigurationOutput() NodejsAppLayerCloudwatchConfigurationOutput { + return i.ToNodejsAppLayerCloudwatchConfigurationOutputWithContext(context.Background()) +} + +func (i NodejsAppLayerCloudwatchConfigurationArgs) ToNodejsAppLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerCloudwatchConfigurationOutput) +} + +func (i NodejsAppLayerCloudwatchConfigurationArgs) ToNodejsAppLayerCloudwatchConfigurationPtrOutput() NodejsAppLayerCloudwatchConfigurationPtrOutput { + return i.ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (i NodejsAppLayerCloudwatchConfigurationArgs) ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerCloudwatchConfigurationOutput).ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx) +} + +// NodejsAppLayerCloudwatchConfigurationPtrInput is an input type that accepts NodejsAppLayerCloudwatchConfigurationArgs, NodejsAppLayerCloudwatchConfigurationPtr and NodejsAppLayerCloudwatchConfigurationPtrOutput values. +// You can construct a concrete instance of `NodejsAppLayerCloudwatchConfigurationPtrInput` via: +// +// NodejsAppLayerCloudwatchConfigurationArgs{...} +// +// or: +// +// nil +type NodejsAppLayerCloudwatchConfigurationPtrInput interface { + pulumi.Input + + ToNodejsAppLayerCloudwatchConfigurationPtrOutput() NodejsAppLayerCloudwatchConfigurationPtrOutput + ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) NodejsAppLayerCloudwatchConfigurationPtrOutput +} + +type nodejsAppLayerCloudwatchConfigurationPtrType NodejsAppLayerCloudwatchConfigurationArgs + +func NodejsAppLayerCloudwatchConfigurationPtr(v *NodejsAppLayerCloudwatchConfigurationArgs) NodejsAppLayerCloudwatchConfigurationPtrInput { + return (*nodejsAppLayerCloudwatchConfigurationPtrType)(v) +} + +func (*nodejsAppLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NodejsAppLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (i *nodejsAppLayerCloudwatchConfigurationPtrType) ToNodejsAppLayerCloudwatchConfigurationPtrOutput() NodejsAppLayerCloudwatchConfigurationPtrOutput { + return i.ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *nodejsAppLayerCloudwatchConfigurationPtrType) ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerCloudwatchConfigurationPtrOutput) +} + +type NodejsAppLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } + +func (NodejsAppLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodejsAppLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (o NodejsAppLayerCloudwatchConfigurationOutput) ToNodejsAppLayerCloudwatchConfigurationOutput() NodejsAppLayerCloudwatchConfigurationOutput { + return o +} + +func (o NodejsAppLayerCloudwatchConfigurationOutput) ToNodejsAppLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationOutput { + return o +} + +func (o NodejsAppLayerCloudwatchConfigurationOutput) ToNodejsAppLayerCloudwatchConfigurationPtrOutput() NodejsAppLayerCloudwatchConfigurationPtrOutput { + return o.ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (o NodejsAppLayerCloudwatchConfigurationOutput) ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NodejsAppLayerCloudwatchConfiguration) *NodejsAppLayerCloudwatchConfiguration { + return &v + }).(NodejsAppLayerCloudwatchConfigurationPtrOutput) +} + +func (o NodejsAppLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NodejsAppLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +func (o NodejsAppLayerCloudwatchConfigurationOutput) LogStreams() NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v NodejsAppLayerCloudwatchConfiguration) []NodejsAppLayerCloudwatchConfigurationLogStream { + return v.LogStreams + }).(NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type NodejsAppLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (NodejsAppLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NodejsAppLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (o NodejsAppLayerCloudwatchConfigurationPtrOutput) ToNodejsAppLayerCloudwatchConfigurationPtrOutput() NodejsAppLayerCloudwatchConfigurationPtrOutput { + return o +} + +func (o NodejsAppLayerCloudwatchConfigurationPtrOutput) ToNodejsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationPtrOutput { + return o +} + +func (o NodejsAppLayerCloudwatchConfigurationPtrOutput) Elem() NodejsAppLayerCloudwatchConfigurationOutput { + return o.ApplyT(func(v *NodejsAppLayerCloudwatchConfiguration) NodejsAppLayerCloudwatchConfiguration { + if v != nil { + return *v + } + var ret NodejsAppLayerCloudwatchConfiguration + return ret + }).(NodejsAppLayerCloudwatchConfigurationOutput) +} + +func (o NodejsAppLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NodejsAppLayerCloudwatchConfiguration) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +func (o NodejsAppLayerCloudwatchConfigurationPtrOutput) LogStreams() NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v *NodejsAppLayerCloudwatchConfiguration) []NodejsAppLayerCloudwatchConfigurationLogStream { + if v == nil { + return nil + } + return v.LogStreams + }).(NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type NodejsAppLayerCloudwatchConfigurationLogStream struct { + BatchCount *int `pulumi:"batchCount"` + BatchSize *int `pulumi:"batchSize"` + BufferDuration *int `pulumi:"bufferDuration"` + DatetimeFormat *string `pulumi:"datetimeFormat"` + Encoding *string `pulumi:"encoding"` + File string `pulumi:"file"` + FileFingerprintLines *string `pulumi:"fileFingerprintLines"` + InitialPosition *string `pulumi:"initialPosition"` + LogGroupName string `pulumi:"logGroupName"` + MultilineStartPattern *string `pulumi:"multilineStartPattern"` + TimeZone *string `pulumi:"timeZone"` +} + +// NodejsAppLayerCloudwatchConfigurationLogStreamInput is an input type that accepts NodejsAppLayerCloudwatchConfigurationLogStreamArgs and NodejsAppLayerCloudwatchConfigurationLogStreamOutput values. +// You can construct a concrete instance of `NodejsAppLayerCloudwatchConfigurationLogStreamInput` via: +// +// NodejsAppLayerCloudwatchConfigurationLogStreamArgs{...} +type NodejsAppLayerCloudwatchConfigurationLogStreamInput interface { + pulumi.Input + + ToNodejsAppLayerCloudwatchConfigurationLogStreamOutput() NodejsAppLayerCloudwatchConfigurationLogStreamOutput + ToNodejsAppLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) NodejsAppLayerCloudwatchConfigurationLogStreamOutput +} + +type NodejsAppLayerCloudwatchConfigurationLogStreamArgs struct { + BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` + BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` + BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` + DatetimeFormat pulumi.StringPtrInput `pulumi:"datetimeFormat"` + Encoding pulumi.StringPtrInput `pulumi:"encoding"` + File pulumi.StringInput `pulumi:"file"` + FileFingerprintLines pulumi.StringPtrInput `pulumi:"fileFingerprintLines"` + InitialPosition pulumi.StringPtrInput `pulumi:"initialPosition"` + LogGroupName pulumi.StringInput `pulumi:"logGroupName"` + MultilineStartPattern pulumi.StringPtrInput `pulumi:"multilineStartPattern"` + TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +} + +func (NodejsAppLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodejsAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (i NodejsAppLayerCloudwatchConfigurationLogStreamArgs) ToNodejsAppLayerCloudwatchConfigurationLogStreamOutput() NodejsAppLayerCloudwatchConfigurationLogStreamOutput { + return i.ToNodejsAppLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) +} + +func (i NodejsAppLayerCloudwatchConfigurationLogStreamArgs) ToNodejsAppLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerCloudwatchConfigurationLogStreamOutput) +} + +// NodejsAppLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts NodejsAppLayerCloudwatchConfigurationLogStreamArray and NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput values. +// You can construct a concrete instance of `NodejsAppLayerCloudwatchConfigurationLogStreamArrayInput` via: +// +// NodejsAppLayerCloudwatchConfigurationLogStreamArray{ NodejsAppLayerCloudwatchConfigurationLogStreamArgs{...} } +type NodejsAppLayerCloudwatchConfigurationLogStreamArrayInput interface { + pulumi.Input + + ToNodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput() NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput + ToNodejsAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput +} + +type NodejsAppLayerCloudwatchConfigurationLogStreamArray []NodejsAppLayerCloudwatchConfigurationLogStreamInput + +func (NodejsAppLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodejsAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (i NodejsAppLayerCloudwatchConfigurationLogStreamArray) ToNodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput() NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return i.ToNodejsAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) +} + +func (i NodejsAppLayerCloudwatchConfigurationLogStreamArray) ToNodejsAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type NodejsAppLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } + +func (NodejsAppLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodejsAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) ToNodejsAppLayerCloudwatchConfigurationLogStreamOutput() NodejsAppLayerCloudwatchConfigurationLogStreamOutput { + return o +} + +func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) ToNodejsAppLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationLogStreamOutput { + return o +} + +func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) +} + +func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) +} + +func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) +} + +func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) +} + +func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) +} + +func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { + return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) +} + +func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) +} + +func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) +} + +func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { + return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) +} + +func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) +} + +func (o NodejsAppLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodejsAppLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +} + +type NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } + +func (NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodejsAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (o NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput) ToNodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput() NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return o +} + +func (o NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput) ToNodejsAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return o +} + +func (o NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) NodejsAppLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodejsAppLayerCloudwatchConfigurationLogStream { + return vs[0].([]NodejsAppLayerCloudwatchConfigurationLogStream)[vs[1].(int)] + }).(NodejsAppLayerCloudwatchConfigurationLogStreamOutput) +} + +type NodejsAppLayerEbsVolume struct { + Encrypted *bool `pulumi:"encrypted"` + // For PIOPS volumes, the IOPS per disk. + Iops *int `pulumi:"iops"` + // The path to mount the EBS volume on the layer's instances. + MountPoint string `pulumi:"mountPoint"` + // The number of disks to use for the EBS volume. + NumberOfDisks int `pulumi:"numberOfDisks"` + // The RAID level to use for the volume. + RaidLevel *string `pulumi:"raidLevel"` + // The size of the volume in gigabytes. + Size int `pulumi:"size"` + // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + Type *string `pulumi:"type"` +} + +// NodejsAppLayerEbsVolumeInput is an input type that accepts NodejsAppLayerEbsVolumeArgs and NodejsAppLayerEbsVolumeOutput values. +// You can construct a concrete instance of `NodejsAppLayerEbsVolumeInput` via: +// +// NodejsAppLayerEbsVolumeArgs{...} +type NodejsAppLayerEbsVolumeInput interface { + pulumi.Input + + ToNodejsAppLayerEbsVolumeOutput() NodejsAppLayerEbsVolumeOutput + ToNodejsAppLayerEbsVolumeOutputWithContext(context.Context) NodejsAppLayerEbsVolumeOutput +} + +type NodejsAppLayerEbsVolumeArgs struct { + Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` + // For PIOPS volumes, the IOPS per disk. + Iops pulumi.IntPtrInput `pulumi:"iops"` + // The path to mount the EBS volume on the layer's instances. + MountPoint pulumi.StringInput `pulumi:"mountPoint"` + // The number of disks to use for the EBS volume. + NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"` + // The RAID level to use for the volume. + RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"` + // The size of the volume in gigabytes. + Size pulumi.IntInput `pulumi:"size"` + // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (NodejsAppLayerEbsVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodejsAppLayerEbsVolume)(nil)).Elem() +} + +func (i NodejsAppLayerEbsVolumeArgs) ToNodejsAppLayerEbsVolumeOutput() NodejsAppLayerEbsVolumeOutput { + return i.ToNodejsAppLayerEbsVolumeOutputWithContext(context.Background()) +} + +func (i NodejsAppLayerEbsVolumeArgs) ToNodejsAppLayerEbsVolumeOutputWithContext(ctx context.Context) NodejsAppLayerEbsVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerEbsVolumeOutput) +} + +// NodejsAppLayerEbsVolumeArrayInput is an input type that accepts NodejsAppLayerEbsVolumeArray and NodejsAppLayerEbsVolumeArrayOutput values. +// You can construct a concrete instance of `NodejsAppLayerEbsVolumeArrayInput` via: +// +// NodejsAppLayerEbsVolumeArray{ NodejsAppLayerEbsVolumeArgs{...} } +type NodejsAppLayerEbsVolumeArrayInput interface { + pulumi.Input + + ToNodejsAppLayerEbsVolumeArrayOutput() NodejsAppLayerEbsVolumeArrayOutput + ToNodejsAppLayerEbsVolumeArrayOutputWithContext(context.Context) NodejsAppLayerEbsVolumeArrayOutput +} + +type NodejsAppLayerEbsVolumeArray []NodejsAppLayerEbsVolumeInput + +func (NodejsAppLayerEbsVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodejsAppLayerEbsVolume)(nil)).Elem() +} + +func (i NodejsAppLayerEbsVolumeArray) ToNodejsAppLayerEbsVolumeArrayOutput() NodejsAppLayerEbsVolumeArrayOutput { + return i.ToNodejsAppLayerEbsVolumeArrayOutputWithContext(context.Background()) +} + +func (i NodejsAppLayerEbsVolumeArray) ToNodejsAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) NodejsAppLayerEbsVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerEbsVolumeArrayOutput) +} + +type NodejsAppLayerEbsVolumeOutput struct{ *pulumi.OutputState } + +func (NodejsAppLayerEbsVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodejsAppLayerEbsVolume)(nil)).Elem() +} + +func (o NodejsAppLayerEbsVolumeOutput) ToNodejsAppLayerEbsVolumeOutput() NodejsAppLayerEbsVolumeOutput { + return o +} + +func (o NodejsAppLayerEbsVolumeOutput) ToNodejsAppLayerEbsVolumeOutputWithContext(ctx context.Context) NodejsAppLayerEbsVolumeOutput { + return o +} + +func (o NodejsAppLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NodejsAppLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +} + +// For PIOPS volumes, the IOPS per disk. +func (o NodejsAppLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodejsAppLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) +} + +// The path to mount the EBS volume on the layer's instances. +func (o NodejsAppLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { + return o.ApplyT(func(v NodejsAppLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) +} + +// The number of disks to use for the EBS volume. +func (o NodejsAppLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { + return o.ApplyT(func(v NodejsAppLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) +} + +// The RAID level to use for the volume. +func (o NodejsAppLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodejsAppLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) +} + +// The size of the volume in gigabytes. +func (o NodejsAppLayerEbsVolumeOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v NodejsAppLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) +} + +// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. +func (o NodejsAppLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodejsAppLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type NodejsAppLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } + +func (NodejsAppLayerEbsVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodejsAppLayerEbsVolume)(nil)).Elem() +} + +func (o NodejsAppLayerEbsVolumeArrayOutput) ToNodejsAppLayerEbsVolumeArrayOutput() NodejsAppLayerEbsVolumeArrayOutput { + return o +} + +func (o NodejsAppLayerEbsVolumeArrayOutput) ToNodejsAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) NodejsAppLayerEbsVolumeArrayOutput { + return o +} + +func (o NodejsAppLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) NodejsAppLayerEbsVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodejsAppLayerEbsVolume { + return vs[0].([]NodejsAppLayerEbsVolume)[vs[1].(int)] + }).(NodejsAppLayerEbsVolumeOutput) +} + +type NodejsAppLayerLoadBasedAutoScaling struct { + Downscaling *NodejsAppLayerLoadBasedAutoScalingDownscaling `pulumi:"downscaling"` + Enable *bool `pulumi:"enable"` + Upscaling *NodejsAppLayerLoadBasedAutoScalingUpscaling `pulumi:"upscaling"` +} + +// NodejsAppLayerLoadBasedAutoScalingInput is an input type that accepts NodejsAppLayerLoadBasedAutoScalingArgs and NodejsAppLayerLoadBasedAutoScalingOutput values. +// You can construct a concrete instance of `NodejsAppLayerLoadBasedAutoScalingInput` via: +// +// NodejsAppLayerLoadBasedAutoScalingArgs{...} +type NodejsAppLayerLoadBasedAutoScalingInput interface { + pulumi.Input + + ToNodejsAppLayerLoadBasedAutoScalingOutput() NodejsAppLayerLoadBasedAutoScalingOutput + ToNodejsAppLayerLoadBasedAutoScalingOutputWithContext(context.Context) NodejsAppLayerLoadBasedAutoScalingOutput +} + +type NodejsAppLayerLoadBasedAutoScalingArgs struct { + Downscaling NodejsAppLayerLoadBasedAutoScalingDownscalingPtrInput `pulumi:"downscaling"` + Enable pulumi.BoolPtrInput `pulumi:"enable"` + Upscaling NodejsAppLayerLoadBasedAutoScalingUpscalingPtrInput `pulumi:"upscaling"` +} + +func (NodejsAppLayerLoadBasedAutoScalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodejsAppLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (i NodejsAppLayerLoadBasedAutoScalingArgs) ToNodejsAppLayerLoadBasedAutoScalingOutput() NodejsAppLayerLoadBasedAutoScalingOutput { + return i.ToNodejsAppLayerLoadBasedAutoScalingOutputWithContext(context.Background()) +} + +func (i NodejsAppLayerLoadBasedAutoScalingArgs) ToNodejsAppLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerLoadBasedAutoScalingOutput) +} + +func (i NodejsAppLayerLoadBasedAutoScalingArgs) ToNodejsAppLayerLoadBasedAutoScalingPtrOutput() NodejsAppLayerLoadBasedAutoScalingPtrOutput { + return i.ToNodejsAppLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) +} + +func (i NodejsAppLayerLoadBasedAutoScalingArgs) ToNodejsAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerLoadBasedAutoScalingOutput).ToNodejsAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx) +} + +// NodejsAppLayerLoadBasedAutoScalingPtrInput is an input type that accepts NodejsAppLayerLoadBasedAutoScalingArgs, NodejsAppLayerLoadBasedAutoScalingPtr and NodejsAppLayerLoadBasedAutoScalingPtrOutput values. +// You can construct a concrete instance of `NodejsAppLayerLoadBasedAutoScalingPtrInput` via: +// +// NodejsAppLayerLoadBasedAutoScalingArgs{...} +// +// or: +// +// nil +type NodejsAppLayerLoadBasedAutoScalingPtrInput interface { + pulumi.Input + + ToNodejsAppLayerLoadBasedAutoScalingPtrOutput() NodejsAppLayerLoadBasedAutoScalingPtrOutput + ToNodejsAppLayerLoadBasedAutoScalingPtrOutputWithContext(context.Context) NodejsAppLayerLoadBasedAutoScalingPtrOutput +} + +type nodejsAppLayerLoadBasedAutoScalingPtrType NodejsAppLayerLoadBasedAutoScalingArgs + +func NodejsAppLayerLoadBasedAutoScalingPtr(v *NodejsAppLayerLoadBasedAutoScalingArgs) NodejsAppLayerLoadBasedAutoScalingPtrInput { + return (*nodejsAppLayerLoadBasedAutoScalingPtrType)(v) +} + +func (*nodejsAppLayerLoadBasedAutoScalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NodejsAppLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (i *nodejsAppLayerLoadBasedAutoScalingPtrType) ToNodejsAppLayerLoadBasedAutoScalingPtrOutput() NodejsAppLayerLoadBasedAutoScalingPtrOutput { + return i.ToNodejsAppLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) +} + +func (i *nodejsAppLayerLoadBasedAutoScalingPtrType) ToNodejsAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerLoadBasedAutoScalingPtrOutput) +} + +type NodejsAppLayerLoadBasedAutoScalingOutput struct{ *pulumi.OutputState } + +func (NodejsAppLayerLoadBasedAutoScalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodejsAppLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (o NodejsAppLayerLoadBasedAutoScalingOutput) ToNodejsAppLayerLoadBasedAutoScalingOutput() NodejsAppLayerLoadBasedAutoScalingOutput { + return o +} + +func (o NodejsAppLayerLoadBasedAutoScalingOutput) ToNodejsAppLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingOutput { + return o +} + +func (o NodejsAppLayerLoadBasedAutoScalingOutput) ToNodejsAppLayerLoadBasedAutoScalingPtrOutput() NodejsAppLayerLoadBasedAutoScalingPtrOutput { + return o.ToNodejsAppLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) +} + +func (o NodejsAppLayerLoadBasedAutoScalingOutput) ToNodejsAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NodejsAppLayerLoadBasedAutoScaling) *NodejsAppLayerLoadBasedAutoScaling { + return &v + }).(NodejsAppLayerLoadBasedAutoScalingPtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingOutput) Downscaling() NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v NodejsAppLayerLoadBasedAutoScaling) *NodejsAppLayerLoadBasedAutoScalingDownscaling { + return v.Downscaling + }).(NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NodejsAppLayerLoadBasedAutoScaling) *bool { return v.Enable }).(pulumi.BoolPtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingOutput) Upscaling() NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v NodejsAppLayerLoadBasedAutoScaling) *NodejsAppLayerLoadBasedAutoScalingUpscaling { + return v.Upscaling + }).(NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +type NodejsAppLayerLoadBasedAutoScalingPtrOutput struct{ *pulumi.OutputState } + +func (NodejsAppLayerLoadBasedAutoScalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NodejsAppLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (o NodejsAppLayerLoadBasedAutoScalingPtrOutput) ToNodejsAppLayerLoadBasedAutoScalingPtrOutput() NodejsAppLayerLoadBasedAutoScalingPtrOutput { + return o +} + +func (o NodejsAppLayerLoadBasedAutoScalingPtrOutput) ToNodejsAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingPtrOutput { + return o +} + +func (o NodejsAppLayerLoadBasedAutoScalingPtrOutput) Elem() NodejsAppLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScaling) NodejsAppLayerLoadBasedAutoScaling { + if v != nil { + return *v + } + var ret NodejsAppLayerLoadBasedAutoScaling + return ret + }).(NodejsAppLayerLoadBasedAutoScalingOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingPtrOutput) Downscaling() NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScaling) *NodejsAppLayerLoadBasedAutoScalingDownscaling { + if v == nil { + return nil + } + return v.Downscaling + }).(NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingPtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScaling) *bool { + if v == nil { + return nil + } + return v.Enable + }).(pulumi.BoolPtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingPtrOutput) Upscaling() NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScaling) *NodejsAppLayerLoadBasedAutoScalingUpscaling { + if v == nil { + return nil + } + return v.Upscaling + }).(NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +type NodejsAppLayerLoadBasedAutoScalingDownscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` +} + +// NodejsAppLayerLoadBasedAutoScalingDownscalingInput is an input type that accepts NodejsAppLayerLoadBasedAutoScalingDownscalingArgs and NodejsAppLayerLoadBasedAutoScalingDownscalingOutput values. +// You can construct a concrete instance of `NodejsAppLayerLoadBasedAutoScalingDownscalingInput` via: +// +// NodejsAppLayerLoadBasedAutoScalingDownscalingArgs{...} +type NodejsAppLayerLoadBasedAutoScalingDownscalingInput interface { + pulumi.Input + + ToNodejsAppLayerLoadBasedAutoScalingDownscalingOutput() NodejsAppLayerLoadBasedAutoScalingDownscalingOutput + ToNodejsAppLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Context) NodejsAppLayerLoadBasedAutoScalingDownscalingOutput +} + +type NodejsAppLayerLoadBasedAutoScalingDownscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` +} + +func (NodejsAppLayerLoadBasedAutoScalingDownscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodejsAppLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (i NodejsAppLayerLoadBasedAutoScalingDownscalingArgs) ToNodejsAppLayerLoadBasedAutoScalingDownscalingOutput() NodejsAppLayerLoadBasedAutoScalingDownscalingOutput { + return i.ToNodejsAppLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Background()) +} + +func (i NodejsAppLayerLoadBasedAutoScalingDownscalingArgs) ToNodejsAppLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingDownscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerLoadBasedAutoScalingDownscalingOutput) +} + +func (i NodejsAppLayerLoadBasedAutoScalingDownscalingArgs) ToNodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput() NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToNodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (i NodejsAppLayerLoadBasedAutoScalingDownscalingArgs) ToNodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerLoadBasedAutoScalingDownscalingOutput).ToNodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx) +} + +// NodejsAppLayerLoadBasedAutoScalingDownscalingPtrInput is an input type that accepts NodejsAppLayerLoadBasedAutoScalingDownscalingArgs, NodejsAppLayerLoadBasedAutoScalingDownscalingPtr and NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput values. +// You can construct a concrete instance of `NodejsAppLayerLoadBasedAutoScalingDownscalingPtrInput` via: +// +// NodejsAppLayerLoadBasedAutoScalingDownscalingArgs{...} +// +// or: +// +// nil +type NodejsAppLayerLoadBasedAutoScalingDownscalingPtrInput interface { + pulumi.Input + + ToNodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput() NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput + ToNodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Context) NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput +} + +type nodejsAppLayerLoadBasedAutoScalingDownscalingPtrType NodejsAppLayerLoadBasedAutoScalingDownscalingArgs + +func NodejsAppLayerLoadBasedAutoScalingDownscalingPtr(v *NodejsAppLayerLoadBasedAutoScalingDownscalingArgs) NodejsAppLayerLoadBasedAutoScalingDownscalingPtrInput { + return (*nodejsAppLayerLoadBasedAutoScalingDownscalingPtrType)(v) +} + +func (*nodejsAppLayerLoadBasedAutoScalingDownscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NodejsAppLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (i *nodejsAppLayerLoadBasedAutoScalingDownscalingPtrType) ToNodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput() NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToNodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (i *nodejsAppLayerLoadBasedAutoScalingDownscalingPtrType) ToNodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +type NodejsAppLayerLoadBasedAutoScalingDownscalingOutput struct{ *pulumi.OutputState } + +func (NodejsAppLayerLoadBasedAutoScalingDownscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodejsAppLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingOutput) ToNodejsAppLayerLoadBasedAutoScalingDownscalingOutput() NodejsAppLayerLoadBasedAutoScalingDownscalingOutput { + return o +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingOutput) ToNodejsAppLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingDownscalingOutput { + return o +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingOutput) ToNodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput() NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ToNodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingOutput) ToNodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NodejsAppLayerLoadBasedAutoScalingDownscaling) *NodejsAppLayerLoadBasedAutoScalingDownscaling { + return &v + }).(NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v NodejsAppLayerLoadBasedAutoScalingDownscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v NodejsAppLayerLoadBasedAutoScalingDownscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodejsAppLayerLoadBasedAutoScalingDownscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodejsAppLayerLoadBasedAutoScalingDownscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v NodejsAppLayerLoadBasedAutoScalingDownscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v NodejsAppLayerLoadBasedAutoScalingDownscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodejsAppLayerLoadBasedAutoScalingDownscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) +} + +type NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput struct{ *pulumi.OutputState } + +func (NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NodejsAppLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) ToNodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput() NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) ToNodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) Elem() NodejsAppLayerLoadBasedAutoScalingDownscalingOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScalingDownscaling) NodejsAppLayerLoadBasedAutoScalingDownscaling { + if v != nil { + return *v + } + var ret NodejsAppLayerLoadBasedAutoScalingDownscaling + return ret + }).(NodejsAppLayerLoadBasedAutoScalingDownscalingOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScalingDownscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) +} + +type NodejsAppLayerLoadBasedAutoScalingUpscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` +} + +// NodejsAppLayerLoadBasedAutoScalingUpscalingInput is an input type that accepts NodejsAppLayerLoadBasedAutoScalingUpscalingArgs and NodejsAppLayerLoadBasedAutoScalingUpscalingOutput values. +// You can construct a concrete instance of `NodejsAppLayerLoadBasedAutoScalingUpscalingInput` via: +// +// NodejsAppLayerLoadBasedAutoScalingUpscalingArgs{...} +type NodejsAppLayerLoadBasedAutoScalingUpscalingInput interface { + pulumi.Input + + ToNodejsAppLayerLoadBasedAutoScalingUpscalingOutput() NodejsAppLayerLoadBasedAutoScalingUpscalingOutput + ToNodejsAppLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Context) NodejsAppLayerLoadBasedAutoScalingUpscalingOutput +} + +type NodejsAppLayerLoadBasedAutoScalingUpscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` +} + +func (NodejsAppLayerLoadBasedAutoScalingUpscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodejsAppLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (i NodejsAppLayerLoadBasedAutoScalingUpscalingArgs) ToNodejsAppLayerLoadBasedAutoScalingUpscalingOutput() NodejsAppLayerLoadBasedAutoScalingUpscalingOutput { + return i.ToNodejsAppLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Background()) +} + +func (i NodejsAppLayerLoadBasedAutoScalingUpscalingArgs) ToNodejsAppLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingUpscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerLoadBasedAutoScalingUpscalingOutput) +} + +func (i NodejsAppLayerLoadBasedAutoScalingUpscalingArgs) ToNodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput() NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToNodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (i NodejsAppLayerLoadBasedAutoScalingUpscalingArgs) ToNodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerLoadBasedAutoScalingUpscalingOutput).ToNodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx) +} + +// NodejsAppLayerLoadBasedAutoScalingUpscalingPtrInput is an input type that accepts NodejsAppLayerLoadBasedAutoScalingUpscalingArgs, NodejsAppLayerLoadBasedAutoScalingUpscalingPtr and NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput values. +// You can construct a concrete instance of `NodejsAppLayerLoadBasedAutoScalingUpscalingPtrInput` via: +// +// NodejsAppLayerLoadBasedAutoScalingUpscalingArgs{...} +// +// or: +// +// nil +type NodejsAppLayerLoadBasedAutoScalingUpscalingPtrInput interface { + pulumi.Input + + ToNodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput() NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput + ToNodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Context) NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput +} + +type nodejsAppLayerLoadBasedAutoScalingUpscalingPtrType NodejsAppLayerLoadBasedAutoScalingUpscalingArgs + +func NodejsAppLayerLoadBasedAutoScalingUpscalingPtr(v *NodejsAppLayerLoadBasedAutoScalingUpscalingArgs) NodejsAppLayerLoadBasedAutoScalingUpscalingPtrInput { + return (*nodejsAppLayerLoadBasedAutoScalingUpscalingPtrType)(v) +} + +func (*nodejsAppLayerLoadBasedAutoScalingUpscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NodejsAppLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (i *nodejsAppLayerLoadBasedAutoScalingUpscalingPtrType) ToNodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput() NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToNodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (i *nodejsAppLayerLoadBasedAutoScalingUpscalingPtrType) ToNodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +type NodejsAppLayerLoadBasedAutoScalingUpscalingOutput struct{ *pulumi.OutputState } + +func (NodejsAppLayerLoadBasedAutoScalingUpscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodejsAppLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingOutput) ToNodejsAppLayerLoadBasedAutoScalingUpscalingOutput() NodejsAppLayerLoadBasedAutoScalingUpscalingOutput { + return o +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingOutput) ToNodejsAppLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingUpscalingOutput { + return o +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingOutput) ToNodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput() NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ToNodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingOutput) ToNodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NodejsAppLayerLoadBasedAutoScalingUpscaling) *NodejsAppLayerLoadBasedAutoScalingUpscaling { + return &v + }).(NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v NodejsAppLayerLoadBasedAutoScalingUpscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v NodejsAppLayerLoadBasedAutoScalingUpscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodejsAppLayerLoadBasedAutoScalingUpscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodejsAppLayerLoadBasedAutoScalingUpscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v NodejsAppLayerLoadBasedAutoScalingUpscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v NodejsAppLayerLoadBasedAutoScalingUpscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodejsAppLayerLoadBasedAutoScalingUpscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) +} + +type NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput struct{ *pulumi.OutputState } + +func (NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NodejsAppLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) ToNodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput() NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) ToNodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) Elem() NodejsAppLayerLoadBasedAutoScalingUpscalingOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScalingUpscaling) NodejsAppLayerLoadBasedAutoScalingUpscaling { + if v != nil { + return *v + } + var ret NodejsAppLayerLoadBasedAutoScalingUpscaling + return ret + }).(NodejsAppLayerLoadBasedAutoScalingUpscalingOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScalingUpscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NodejsAppLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) +} + +type PhpAppLayerCloudwatchConfiguration struct { + Enabled *bool `pulumi:"enabled"` + LogStreams []PhpAppLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +} + +// PhpAppLayerCloudwatchConfigurationInput is an input type that accepts PhpAppLayerCloudwatchConfigurationArgs and PhpAppLayerCloudwatchConfigurationOutput values. +// You can construct a concrete instance of `PhpAppLayerCloudwatchConfigurationInput` via: +// +// PhpAppLayerCloudwatchConfigurationArgs{...} +type PhpAppLayerCloudwatchConfigurationInput interface { + pulumi.Input + + ToPhpAppLayerCloudwatchConfigurationOutput() PhpAppLayerCloudwatchConfigurationOutput + ToPhpAppLayerCloudwatchConfigurationOutputWithContext(context.Context) PhpAppLayerCloudwatchConfigurationOutput +} + +type PhpAppLayerCloudwatchConfigurationArgs struct { + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + LogStreams PhpAppLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` +} + +func (PhpAppLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PhpAppLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (i PhpAppLayerCloudwatchConfigurationArgs) ToPhpAppLayerCloudwatchConfigurationOutput() PhpAppLayerCloudwatchConfigurationOutput { + return i.ToPhpAppLayerCloudwatchConfigurationOutputWithContext(context.Background()) +} + +func (i PhpAppLayerCloudwatchConfigurationArgs) ToPhpAppLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerCloudwatchConfigurationOutput) +} + +func (i PhpAppLayerCloudwatchConfigurationArgs) ToPhpAppLayerCloudwatchConfigurationPtrOutput() PhpAppLayerCloudwatchConfigurationPtrOutput { + return i.ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (i PhpAppLayerCloudwatchConfigurationArgs) ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerCloudwatchConfigurationOutput).ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx) +} + +// PhpAppLayerCloudwatchConfigurationPtrInput is an input type that accepts PhpAppLayerCloudwatchConfigurationArgs, PhpAppLayerCloudwatchConfigurationPtr and PhpAppLayerCloudwatchConfigurationPtrOutput values. +// You can construct a concrete instance of `PhpAppLayerCloudwatchConfigurationPtrInput` via: +// +// PhpAppLayerCloudwatchConfigurationArgs{...} +// +// or: +// +// nil +type PhpAppLayerCloudwatchConfigurationPtrInput interface { + pulumi.Input + + ToPhpAppLayerCloudwatchConfigurationPtrOutput() PhpAppLayerCloudwatchConfigurationPtrOutput + ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) PhpAppLayerCloudwatchConfigurationPtrOutput +} + +type phpAppLayerCloudwatchConfigurationPtrType PhpAppLayerCloudwatchConfigurationArgs + +func PhpAppLayerCloudwatchConfigurationPtr(v *PhpAppLayerCloudwatchConfigurationArgs) PhpAppLayerCloudwatchConfigurationPtrInput { + return (*phpAppLayerCloudwatchConfigurationPtrType)(v) +} + +func (*phpAppLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PhpAppLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (i *phpAppLayerCloudwatchConfigurationPtrType) ToPhpAppLayerCloudwatchConfigurationPtrOutput() PhpAppLayerCloudwatchConfigurationPtrOutput { + return i.ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *phpAppLayerCloudwatchConfigurationPtrType) ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerCloudwatchConfigurationPtrOutput) +} + +type PhpAppLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } + +func (PhpAppLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PhpAppLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (o PhpAppLayerCloudwatchConfigurationOutput) ToPhpAppLayerCloudwatchConfigurationOutput() PhpAppLayerCloudwatchConfigurationOutput { + return o +} + +func (o PhpAppLayerCloudwatchConfigurationOutput) ToPhpAppLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationOutput { + return o +} + +func (o PhpAppLayerCloudwatchConfigurationOutput) ToPhpAppLayerCloudwatchConfigurationPtrOutput() PhpAppLayerCloudwatchConfigurationPtrOutput { + return o.ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (o PhpAppLayerCloudwatchConfigurationOutput) ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PhpAppLayerCloudwatchConfiguration) *PhpAppLayerCloudwatchConfiguration { + return &v + }).(PhpAppLayerCloudwatchConfigurationPtrOutput) +} + +func (o PhpAppLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PhpAppLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +func (o PhpAppLayerCloudwatchConfigurationOutput) LogStreams() PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v PhpAppLayerCloudwatchConfiguration) []PhpAppLayerCloudwatchConfigurationLogStream { + return v.LogStreams + }).(PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type PhpAppLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (PhpAppLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PhpAppLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (o PhpAppLayerCloudwatchConfigurationPtrOutput) ToPhpAppLayerCloudwatchConfigurationPtrOutput() PhpAppLayerCloudwatchConfigurationPtrOutput { + return o +} + +func (o PhpAppLayerCloudwatchConfigurationPtrOutput) ToPhpAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationPtrOutput { + return o +} + +func (o PhpAppLayerCloudwatchConfigurationPtrOutput) Elem() PhpAppLayerCloudwatchConfigurationOutput { + return o.ApplyT(func(v *PhpAppLayerCloudwatchConfiguration) PhpAppLayerCloudwatchConfiguration { + if v != nil { + return *v + } + var ret PhpAppLayerCloudwatchConfiguration + return ret + }).(PhpAppLayerCloudwatchConfigurationOutput) +} + +func (o PhpAppLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PhpAppLayerCloudwatchConfiguration) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +func (o PhpAppLayerCloudwatchConfigurationPtrOutput) LogStreams() PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v *PhpAppLayerCloudwatchConfiguration) []PhpAppLayerCloudwatchConfigurationLogStream { + if v == nil { + return nil + } + return v.LogStreams + }).(PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type PhpAppLayerCloudwatchConfigurationLogStream struct { + BatchCount *int `pulumi:"batchCount"` + BatchSize *int `pulumi:"batchSize"` + BufferDuration *int `pulumi:"bufferDuration"` + DatetimeFormat *string `pulumi:"datetimeFormat"` + Encoding *string `pulumi:"encoding"` + File string `pulumi:"file"` + FileFingerprintLines *string `pulumi:"fileFingerprintLines"` + InitialPosition *string `pulumi:"initialPosition"` + LogGroupName string `pulumi:"logGroupName"` + MultilineStartPattern *string `pulumi:"multilineStartPattern"` + TimeZone *string `pulumi:"timeZone"` +} + +// PhpAppLayerCloudwatchConfigurationLogStreamInput is an input type that accepts PhpAppLayerCloudwatchConfigurationLogStreamArgs and PhpAppLayerCloudwatchConfigurationLogStreamOutput values. +// You can construct a concrete instance of `PhpAppLayerCloudwatchConfigurationLogStreamInput` via: +// +// PhpAppLayerCloudwatchConfigurationLogStreamArgs{...} +type PhpAppLayerCloudwatchConfigurationLogStreamInput interface { + pulumi.Input + + ToPhpAppLayerCloudwatchConfigurationLogStreamOutput() PhpAppLayerCloudwatchConfigurationLogStreamOutput + ToPhpAppLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) PhpAppLayerCloudwatchConfigurationLogStreamOutput +} + +type PhpAppLayerCloudwatchConfigurationLogStreamArgs struct { + BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` + BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` + BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` + DatetimeFormat pulumi.StringPtrInput `pulumi:"datetimeFormat"` + Encoding pulumi.StringPtrInput `pulumi:"encoding"` + File pulumi.StringInput `pulumi:"file"` + FileFingerprintLines pulumi.StringPtrInput `pulumi:"fileFingerprintLines"` + InitialPosition pulumi.StringPtrInput `pulumi:"initialPosition"` + LogGroupName pulumi.StringInput `pulumi:"logGroupName"` + MultilineStartPattern pulumi.StringPtrInput `pulumi:"multilineStartPattern"` + TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +} + +func (PhpAppLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PhpAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (i PhpAppLayerCloudwatchConfigurationLogStreamArgs) ToPhpAppLayerCloudwatchConfigurationLogStreamOutput() PhpAppLayerCloudwatchConfigurationLogStreamOutput { + return i.ToPhpAppLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) +} + +func (i PhpAppLayerCloudwatchConfigurationLogStreamArgs) ToPhpAppLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerCloudwatchConfigurationLogStreamOutput) +} + +// PhpAppLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts PhpAppLayerCloudwatchConfigurationLogStreamArray and PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput values. +// You can construct a concrete instance of `PhpAppLayerCloudwatchConfigurationLogStreamArrayInput` via: +// +// PhpAppLayerCloudwatchConfigurationLogStreamArray{ PhpAppLayerCloudwatchConfigurationLogStreamArgs{...} } +type PhpAppLayerCloudwatchConfigurationLogStreamArrayInput interface { + pulumi.Input + + ToPhpAppLayerCloudwatchConfigurationLogStreamArrayOutput() PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput + ToPhpAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput +} + +type PhpAppLayerCloudwatchConfigurationLogStreamArray []PhpAppLayerCloudwatchConfigurationLogStreamInput + +func (PhpAppLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PhpAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (i PhpAppLayerCloudwatchConfigurationLogStreamArray) ToPhpAppLayerCloudwatchConfigurationLogStreamArrayOutput() PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return i.ToPhpAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) +} + +func (i PhpAppLayerCloudwatchConfigurationLogStreamArray) ToPhpAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type PhpAppLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } + +func (PhpAppLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PhpAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) ToPhpAppLayerCloudwatchConfigurationLogStreamOutput() PhpAppLayerCloudwatchConfigurationLogStreamOutput { + return o +} + +func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) ToPhpAppLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationLogStreamOutput { + return o +} + +func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) +} + +func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) +} + +func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) +} + +func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) +} + +func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) +} + +func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { + return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) +} + +func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { + return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) +} + +func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { + return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) +} + +func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { + return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) +} + +func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) +} + +func (o PhpAppLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v PhpAppLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +} + +type PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } + +func (PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PhpAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (o PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput) ToPhpAppLayerCloudwatchConfigurationLogStreamArrayOutput() PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return o +} + +func (o PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput) ToPhpAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return o +} + +func (o PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) PhpAppLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PhpAppLayerCloudwatchConfigurationLogStream { + return vs[0].([]PhpAppLayerCloudwatchConfigurationLogStream)[vs[1].(int)] + }).(PhpAppLayerCloudwatchConfigurationLogStreamOutput) +} + +type PhpAppLayerEbsVolume struct { + Encrypted *bool `pulumi:"encrypted"` + // For PIOPS volumes, the IOPS per disk. + Iops *int `pulumi:"iops"` + // The path to mount the EBS volume on the layer's instances. + MountPoint string `pulumi:"mountPoint"` + // The number of disks to use for the EBS volume. + NumberOfDisks int `pulumi:"numberOfDisks"` + // The RAID level to use for the volume. + RaidLevel *string `pulumi:"raidLevel"` + // The size of the volume in gigabytes. + Size int `pulumi:"size"` + // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + Type *string `pulumi:"type"` +} + +// PhpAppLayerEbsVolumeInput is an input type that accepts PhpAppLayerEbsVolumeArgs and PhpAppLayerEbsVolumeOutput values. +// You can construct a concrete instance of `PhpAppLayerEbsVolumeInput` via: +// +// PhpAppLayerEbsVolumeArgs{...} +type PhpAppLayerEbsVolumeInput interface { + pulumi.Input + + ToPhpAppLayerEbsVolumeOutput() PhpAppLayerEbsVolumeOutput + ToPhpAppLayerEbsVolumeOutputWithContext(context.Context) PhpAppLayerEbsVolumeOutput +} + +type PhpAppLayerEbsVolumeArgs struct { + Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` + // For PIOPS volumes, the IOPS per disk. + Iops pulumi.IntPtrInput `pulumi:"iops"` + // The path to mount the EBS volume on the layer's instances. + MountPoint pulumi.StringInput `pulumi:"mountPoint"` + // The number of disks to use for the EBS volume. + NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"` + // The RAID level to use for the volume. + RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"` + // The size of the volume in gigabytes. + Size pulumi.IntInput `pulumi:"size"` + // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (PhpAppLayerEbsVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PhpAppLayerEbsVolume)(nil)).Elem() +} + +func (i PhpAppLayerEbsVolumeArgs) ToPhpAppLayerEbsVolumeOutput() PhpAppLayerEbsVolumeOutput { + return i.ToPhpAppLayerEbsVolumeOutputWithContext(context.Background()) +} + +func (i PhpAppLayerEbsVolumeArgs) ToPhpAppLayerEbsVolumeOutputWithContext(ctx context.Context) PhpAppLayerEbsVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerEbsVolumeOutput) +} + +// PhpAppLayerEbsVolumeArrayInput is an input type that accepts PhpAppLayerEbsVolumeArray and PhpAppLayerEbsVolumeArrayOutput values. +// You can construct a concrete instance of `PhpAppLayerEbsVolumeArrayInput` via: +// +// PhpAppLayerEbsVolumeArray{ PhpAppLayerEbsVolumeArgs{...} } +type PhpAppLayerEbsVolumeArrayInput interface { + pulumi.Input + + ToPhpAppLayerEbsVolumeArrayOutput() PhpAppLayerEbsVolumeArrayOutput + ToPhpAppLayerEbsVolumeArrayOutputWithContext(context.Context) PhpAppLayerEbsVolumeArrayOutput +} + +type PhpAppLayerEbsVolumeArray []PhpAppLayerEbsVolumeInput + +func (PhpAppLayerEbsVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PhpAppLayerEbsVolume)(nil)).Elem() +} + +func (i PhpAppLayerEbsVolumeArray) ToPhpAppLayerEbsVolumeArrayOutput() PhpAppLayerEbsVolumeArrayOutput { + return i.ToPhpAppLayerEbsVolumeArrayOutputWithContext(context.Background()) +} + +func (i PhpAppLayerEbsVolumeArray) ToPhpAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) PhpAppLayerEbsVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerEbsVolumeArrayOutput) +} + +type PhpAppLayerEbsVolumeOutput struct{ *pulumi.OutputState } + +func (PhpAppLayerEbsVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PhpAppLayerEbsVolume)(nil)).Elem() +} + +func (o PhpAppLayerEbsVolumeOutput) ToPhpAppLayerEbsVolumeOutput() PhpAppLayerEbsVolumeOutput { + return o +} + +func (o PhpAppLayerEbsVolumeOutput) ToPhpAppLayerEbsVolumeOutputWithContext(ctx context.Context) PhpAppLayerEbsVolumeOutput { + return o +} + +func (o PhpAppLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PhpAppLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +} + +// For PIOPS volumes, the IOPS per disk. +func (o PhpAppLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v PhpAppLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) +} + +// The path to mount the EBS volume on the layer's instances. +func (o PhpAppLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { + return o.ApplyT(func(v PhpAppLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) +} + +// The number of disks to use for the EBS volume. +func (o PhpAppLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { + return o.ApplyT(func(v PhpAppLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) +} + +// The RAID level to use for the volume. +func (o PhpAppLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v PhpAppLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) +} + +// The size of the volume in gigabytes. +func (o PhpAppLayerEbsVolumeOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v PhpAppLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) +} + +// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. +func (o PhpAppLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v PhpAppLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type PhpAppLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } + +func (PhpAppLayerEbsVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PhpAppLayerEbsVolume)(nil)).Elem() +} + +func (o PhpAppLayerEbsVolumeArrayOutput) ToPhpAppLayerEbsVolumeArrayOutput() PhpAppLayerEbsVolumeArrayOutput { + return o +} + +func (o PhpAppLayerEbsVolumeArrayOutput) ToPhpAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) PhpAppLayerEbsVolumeArrayOutput { + return o +} + +func (o PhpAppLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) PhpAppLayerEbsVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PhpAppLayerEbsVolume { + return vs[0].([]PhpAppLayerEbsVolume)[vs[1].(int)] + }).(PhpAppLayerEbsVolumeOutput) +} + +type PhpAppLayerLoadBasedAutoScaling struct { + Downscaling *PhpAppLayerLoadBasedAutoScalingDownscaling `pulumi:"downscaling"` + Enable *bool `pulumi:"enable"` + Upscaling *PhpAppLayerLoadBasedAutoScalingUpscaling `pulumi:"upscaling"` +} + +// PhpAppLayerLoadBasedAutoScalingInput is an input type that accepts PhpAppLayerLoadBasedAutoScalingArgs and PhpAppLayerLoadBasedAutoScalingOutput values. +// You can construct a concrete instance of `PhpAppLayerLoadBasedAutoScalingInput` via: +// +// PhpAppLayerLoadBasedAutoScalingArgs{...} +type PhpAppLayerLoadBasedAutoScalingInput interface { + pulumi.Input + + ToPhpAppLayerLoadBasedAutoScalingOutput() PhpAppLayerLoadBasedAutoScalingOutput + ToPhpAppLayerLoadBasedAutoScalingOutputWithContext(context.Context) PhpAppLayerLoadBasedAutoScalingOutput +} + +type PhpAppLayerLoadBasedAutoScalingArgs struct { + Downscaling PhpAppLayerLoadBasedAutoScalingDownscalingPtrInput `pulumi:"downscaling"` + Enable pulumi.BoolPtrInput `pulumi:"enable"` + Upscaling PhpAppLayerLoadBasedAutoScalingUpscalingPtrInput `pulumi:"upscaling"` +} + +func (PhpAppLayerLoadBasedAutoScalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PhpAppLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (i PhpAppLayerLoadBasedAutoScalingArgs) ToPhpAppLayerLoadBasedAutoScalingOutput() PhpAppLayerLoadBasedAutoScalingOutput { + return i.ToPhpAppLayerLoadBasedAutoScalingOutputWithContext(context.Background()) +} + +func (i PhpAppLayerLoadBasedAutoScalingArgs) ToPhpAppLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerLoadBasedAutoScalingOutput) +} + +func (i PhpAppLayerLoadBasedAutoScalingArgs) ToPhpAppLayerLoadBasedAutoScalingPtrOutput() PhpAppLayerLoadBasedAutoScalingPtrOutput { + return i.ToPhpAppLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) +} + +func (i PhpAppLayerLoadBasedAutoScalingArgs) ToPhpAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerLoadBasedAutoScalingOutput).ToPhpAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx) +} + +// PhpAppLayerLoadBasedAutoScalingPtrInput is an input type that accepts PhpAppLayerLoadBasedAutoScalingArgs, PhpAppLayerLoadBasedAutoScalingPtr and PhpAppLayerLoadBasedAutoScalingPtrOutput values. +// You can construct a concrete instance of `PhpAppLayerLoadBasedAutoScalingPtrInput` via: +// +// PhpAppLayerLoadBasedAutoScalingArgs{...} +// +// or: +// +// nil +type PhpAppLayerLoadBasedAutoScalingPtrInput interface { + pulumi.Input + + ToPhpAppLayerLoadBasedAutoScalingPtrOutput() PhpAppLayerLoadBasedAutoScalingPtrOutput + ToPhpAppLayerLoadBasedAutoScalingPtrOutputWithContext(context.Context) PhpAppLayerLoadBasedAutoScalingPtrOutput +} + +type phpAppLayerLoadBasedAutoScalingPtrType PhpAppLayerLoadBasedAutoScalingArgs + +func PhpAppLayerLoadBasedAutoScalingPtr(v *PhpAppLayerLoadBasedAutoScalingArgs) PhpAppLayerLoadBasedAutoScalingPtrInput { + return (*phpAppLayerLoadBasedAutoScalingPtrType)(v) +} + +func (*phpAppLayerLoadBasedAutoScalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PhpAppLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (i *phpAppLayerLoadBasedAutoScalingPtrType) ToPhpAppLayerLoadBasedAutoScalingPtrOutput() PhpAppLayerLoadBasedAutoScalingPtrOutput { + return i.ToPhpAppLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) +} + +func (i *phpAppLayerLoadBasedAutoScalingPtrType) ToPhpAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerLoadBasedAutoScalingPtrOutput) +} + +type PhpAppLayerLoadBasedAutoScalingOutput struct{ *pulumi.OutputState } + +func (PhpAppLayerLoadBasedAutoScalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PhpAppLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (o PhpAppLayerLoadBasedAutoScalingOutput) ToPhpAppLayerLoadBasedAutoScalingOutput() PhpAppLayerLoadBasedAutoScalingOutput { + return o +} + +func (o PhpAppLayerLoadBasedAutoScalingOutput) ToPhpAppLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingOutput { + return o +} + +func (o PhpAppLayerLoadBasedAutoScalingOutput) ToPhpAppLayerLoadBasedAutoScalingPtrOutput() PhpAppLayerLoadBasedAutoScalingPtrOutput { + return o.ToPhpAppLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) +} + +func (o PhpAppLayerLoadBasedAutoScalingOutput) ToPhpAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PhpAppLayerLoadBasedAutoScaling) *PhpAppLayerLoadBasedAutoScaling { + return &v + }).(PhpAppLayerLoadBasedAutoScalingPtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingOutput) Downscaling() PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v PhpAppLayerLoadBasedAutoScaling) *PhpAppLayerLoadBasedAutoScalingDownscaling { + return v.Downscaling + }).(PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PhpAppLayerLoadBasedAutoScaling) *bool { return v.Enable }).(pulumi.BoolPtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingOutput) Upscaling() PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v PhpAppLayerLoadBasedAutoScaling) *PhpAppLayerLoadBasedAutoScalingUpscaling { return v.Upscaling }).(PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +type PhpAppLayerLoadBasedAutoScalingPtrOutput struct{ *pulumi.OutputState } + +func (PhpAppLayerLoadBasedAutoScalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PhpAppLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (o PhpAppLayerLoadBasedAutoScalingPtrOutput) ToPhpAppLayerLoadBasedAutoScalingPtrOutput() PhpAppLayerLoadBasedAutoScalingPtrOutput { + return o +} + +func (o PhpAppLayerLoadBasedAutoScalingPtrOutput) ToPhpAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingPtrOutput { + return o +} + +func (o PhpAppLayerLoadBasedAutoScalingPtrOutput) Elem() PhpAppLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScaling) PhpAppLayerLoadBasedAutoScaling { + if v != nil { + return *v + } + var ret PhpAppLayerLoadBasedAutoScaling + return ret + }).(PhpAppLayerLoadBasedAutoScalingOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingPtrOutput) Downscaling() PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScaling) *PhpAppLayerLoadBasedAutoScalingDownscaling { + if v == nil { + return nil + } + return v.Downscaling + }).(PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingPtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScaling) *bool { + if v == nil { + return nil + } + return v.Enable + }).(pulumi.BoolPtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingPtrOutput) Upscaling() PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScaling) *PhpAppLayerLoadBasedAutoScalingUpscaling { + if v == nil { + return nil + } + return v.Upscaling + }).(PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +type PhpAppLayerLoadBasedAutoScalingDownscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` +} + +// PhpAppLayerLoadBasedAutoScalingDownscalingInput is an input type that accepts PhpAppLayerLoadBasedAutoScalingDownscalingArgs and PhpAppLayerLoadBasedAutoScalingDownscalingOutput values. +// You can construct a concrete instance of `PhpAppLayerLoadBasedAutoScalingDownscalingInput` via: +// +// PhpAppLayerLoadBasedAutoScalingDownscalingArgs{...} +type PhpAppLayerLoadBasedAutoScalingDownscalingInput interface { + pulumi.Input + + ToPhpAppLayerLoadBasedAutoScalingDownscalingOutput() PhpAppLayerLoadBasedAutoScalingDownscalingOutput + ToPhpAppLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Context) PhpAppLayerLoadBasedAutoScalingDownscalingOutput +} + +type PhpAppLayerLoadBasedAutoScalingDownscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` +} + +func (PhpAppLayerLoadBasedAutoScalingDownscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PhpAppLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (i PhpAppLayerLoadBasedAutoScalingDownscalingArgs) ToPhpAppLayerLoadBasedAutoScalingDownscalingOutput() PhpAppLayerLoadBasedAutoScalingDownscalingOutput { + return i.ToPhpAppLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Background()) +} + +func (i PhpAppLayerLoadBasedAutoScalingDownscalingArgs) ToPhpAppLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingDownscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerLoadBasedAutoScalingDownscalingOutput) +} + +func (i PhpAppLayerLoadBasedAutoScalingDownscalingArgs) ToPhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput() PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToPhpAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (i PhpAppLayerLoadBasedAutoScalingDownscalingArgs) ToPhpAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerLoadBasedAutoScalingDownscalingOutput).ToPhpAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx) +} + +// PhpAppLayerLoadBasedAutoScalingDownscalingPtrInput is an input type that accepts PhpAppLayerLoadBasedAutoScalingDownscalingArgs, PhpAppLayerLoadBasedAutoScalingDownscalingPtr and PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput values. +// You can construct a concrete instance of `PhpAppLayerLoadBasedAutoScalingDownscalingPtrInput` via: +// +// PhpAppLayerLoadBasedAutoScalingDownscalingArgs{...} +// +// or: +// +// nil +type PhpAppLayerLoadBasedAutoScalingDownscalingPtrInput interface { + pulumi.Input + + ToPhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput() PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput + ToPhpAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Context) PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput +} + +type phpAppLayerLoadBasedAutoScalingDownscalingPtrType PhpAppLayerLoadBasedAutoScalingDownscalingArgs + +func PhpAppLayerLoadBasedAutoScalingDownscalingPtr(v *PhpAppLayerLoadBasedAutoScalingDownscalingArgs) PhpAppLayerLoadBasedAutoScalingDownscalingPtrInput { + return (*phpAppLayerLoadBasedAutoScalingDownscalingPtrType)(v) +} + +func (*phpAppLayerLoadBasedAutoScalingDownscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PhpAppLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (i *phpAppLayerLoadBasedAutoScalingDownscalingPtrType) ToPhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput() PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToPhpAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (i *phpAppLayerLoadBasedAutoScalingDownscalingPtrType) ToPhpAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +type PhpAppLayerLoadBasedAutoScalingDownscalingOutput struct{ *pulumi.OutputState } + +func (PhpAppLayerLoadBasedAutoScalingDownscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PhpAppLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingOutput) ToPhpAppLayerLoadBasedAutoScalingDownscalingOutput() PhpAppLayerLoadBasedAutoScalingDownscalingOutput { + return o +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingOutput) ToPhpAppLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingDownscalingOutput { + return o +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingOutput) ToPhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput() PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ToPhpAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingOutput) ToPhpAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PhpAppLayerLoadBasedAutoScalingDownscaling) *PhpAppLayerLoadBasedAutoScalingDownscaling { + return &v + }).(PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v PhpAppLayerLoadBasedAutoScalingDownscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PhpAppLayerLoadBasedAutoScalingDownscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v PhpAppLayerLoadBasedAutoScalingDownscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v PhpAppLayerLoadBasedAutoScalingDownscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PhpAppLayerLoadBasedAutoScalingDownscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PhpAppLayerLoadBasedAutoScalingDownscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v PhpAppLayerLoadBasedAutoScalingDownscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) +} + +type PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput struct{ *pulumi.OutputState } + +func (PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PhpAppLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput) ToPhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput() PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput) ToPhpAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput) Elem() PhpAppLayerLoadBasedAutoScalingDownscalingOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScalingDownscaling) PhpAppLayerLoadBasedAutoScalingDownscaling { + if v != nil { + return *v + } + var ret PhpAppLayerLoadBasedAutoScalingDownscaling + return ret + }).(PhpAppLayerLoadBasedAutoScalingDownscalingOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScalingDownscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) +} + +type PhpAppLayerLoadBasedAutoScalingUpscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` +} + +// PhpAppLayerLoadBasedAutoScalingUpscalingInput is an input type that accepts PhpAppLayerLoadBasedAutoScalingUpscalingArgs and PhpAppLayerLoadBasedAutoScalingUpscalingOutput values. +// You can construct a concrete instance of `PhpAppLayerLoadBasedAutoScalingUpscalingInput` via: +// +// PhpAppLayerLoadBasedAutoScalingUpscalingArgs{...} +type PhpAppLayerLoadBasedAutoScalingUpscalingInput interface { + pulumi.Input + + ToPhpAppLayerLoadBasedAutoScalingUpscalingOutput() PhpAppLayerLoadBasedAutoScalingUpscalingOutput + ToPhpAppLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Context) PhpAppLayerLoadBasedAutoScalingUpscalingOutput +} + +type PhpAppLayerLoadBasedAutoScalingUpscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` +} + +func (PhpAppLayerLoadBasedAutoScalingUpscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PhpAppLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (i PhpAppLayerLoadBasedAutoScalingUpscalingArgs) ToPhpAppLayerLoadBasedAutoScalingUpscalingOutput() PhpAppLayerLoadBasedAutoScalingUpscalingOutput { + return i.ToPhpAppLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Background()) +} + +func (i PhpAppLayerLoadBasedAutoScalingUpscalingArgs) ToPhpAppLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingUpscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerLoadBasedAutoScalingUpscalingOutput) +} + +func (i PhpAppLayerLoadBasedAutoScalingUpscalingArgs) ToPhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput() PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToPhpAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (i PhpAppLayerLoadBasedAutoScalingUpscalingArgs) ToPhpAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerLoadBasedAutoScalingUpscalingOutput).ToPhpAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx) +} + +// PhpAppLayerLoadBasedAutoScalingUpscalingPtrInput is an input type that accepts PhpAppLayerLoadBasedAutoScalingUpscalingArgs, PhpAppLayerLoadBasedAutoScalingUpscalingPtr and PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput values. +// You can construct a concrete instance of `PhpAppLayerLoadBasedAutoScalingUpscalingPtrInput` via: +// +// PhpAppLayerLoadBasedAutoScalingUpscalingArgs{...} +// +// or: +// +// nil +type PhpAppLayerLoadBasedAutoScalingUpscalingPtrInput interface { + pulumi.Input + + ToPhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput() PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput + ToPhpAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Context) PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput +} + +type phpAppLayerLoadBasedAutoScalingUpscalingPtrType PhpAppLayerLoadBasedAutoScalingUpscalingArgs + +func PhpAppLayerLoadBasedAutoScalingUpscalingPtr(v *PhpAppLayerLoadBasedAutoScalingUpscalingArgs) PhpAppLayerLoadBasedAutoScalingUpscalingPtrInput { + return (*phpAppLayerLoadBasedAutoScalingUpscalingPtrType)(v) +} + +func (*phpAppLayerLoadBasedAutoScalingUpscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PhpAppLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (i *phpAppLayerLoadBasedAutoScalingUpscalingPtrType) ToPhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput() PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToPhpAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (i *phpAppLayerLoadBasedAutoScalingUpscalingPtrType) ToPhpAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +type PhpAppLayerLoadBasedAutoScalingUpscalingOutput struct{ *pulumi.OutputState } + +func (PhpAppLayerLoadBasedAutoScalingUpscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PhpAppLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingOutput) ToPhpAppLayerLoadBasedAutoScalingUpscalingOutput() PhpAppLayerLoadBasedAutoScalingUpscalingOutput { + return o +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingOutput) ToPhpAppLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingUpscalingOutput { + return o +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingOutput) ToPhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput() PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ToPhpAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingOutput) ToPhpAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PhpAppLayerLoadBasedAutoScalingUpscaling) *PhpAppLayerLoadBasedAutoScalingUpscaling { + return &v + }).(PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v PhpAppLayerLoadBasedAutoScalingUpscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PhpAppLayerLoadBasedAutoScalingUpscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v PhpAppLayerLoadBasedAutoScalingUpscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v PhpAppLayerLoadBasedAutoScalingUpscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PhpAppLayerLoadBasedAutoScalingUpscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PhpAppLayerLoadBasedAutoScalingUpscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v PhpAppLayerLoadBasedAutoScalingUpscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) +} + +type PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput struct{ *pulumi.OutputState } + +func (PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PhpAppLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput) ToPhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput() PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput) ToPhpAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput) Elem() PhpAppLayerLoadBasedAutoScalingUpscalingOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScalingUpscaling) PhpAppLayerLoadBasedAutoScalingUpscaling { + if v != nil { + return *v + } + var ret PhpAppLayerLoadBasedAutoScalingUpscaling + return ret + }).(PhpAppLayerLoadBasedAutoScalingUpscalingOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScalingUpscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PhpAppLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) +} + +type RailsAppLayerCloudwatchConfiguration struct { + Enabled *bool `pulumi:"enabled"` + LogStreams []RailsAppLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +} + +// RailsAppLayerCloudwatchConfigurationInput is an input type that accepts RailsAppLayerCloudwatchConfigurationArgs and RailsAppLayerCloudwatchConfigurationOutput values. +// You can construct a concrete instance of `RailsAppLayerCloudwatchConfigurationInput` via: +// +// RailsAppLayerCloudwatchConfigurationArgs{...} +type RailsAppLayerCloudwatchConfigurationInput interface { + pulumi.Input + + ToRailsAppLayerCloudwatchConfigurationOutput() RailsAppLayerCloudwatchConfigurationOutput + ToRailsAppLayerCloudwatchConfigurationOutputWithContext(context.Context) RailsAppLayerCloudwatchConfigurationOutput +} + +type RailsAppLayerCloudwatchConfigurationArgs struct { + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + LogStreams RailsAppLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` +} + +func (RailsAppLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RailsAppLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (i RailsAppLayerCloudwatchConfigurationArgs) ToRailsAppLayerCloudwatchConfigurationOutput() RailsAppLayerCloudwatchConfigurationOutput { + return i.ToRailsAppLayerCloudwatchConfigurationOutputWithContext(context.Background()) +} + +func (i RailsAppLayerCloudwatchConfigurationArgs) ToRailsAppLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerCloudwatchConfigurationOutput) +} + +func (i RailsAppLayerCloudwatchConfigurationArgs) ToRailsAppLayerCloudwatchConfigurationPtrOutput() RailsAppLayerCloudwatchConfigurationPtrOutput { + return i.ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (i RailsAppLayerCloudwatchConfigurationArgs) ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerCloudwatchConfigurationOutput).ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx) +} + +// RailsAppLayerCloudwatchConfigurationPtrInput is an input type that accepts RailsAppLayerCloudwatchConfigurationArgs, RailsAppLayerCloudwatchConfigurationPtr and RailsAppLayerCloudwatchConfigurationPtrOutput values. +// You can construct a concrete instance of `RailsAppLayerCloudwatchConfigurationPtrInput` via: +// +// RailsAppLayerCloudwatchConfigurationArgs{...} +// +// or: +// +// nil +type RailsAppLayerCloudwatchConfigurationPtrInput interface { + pulumi.Input + + ToRailsAppLayerCloudwatchConfigurationPtrOutput() RailsAppLayerCloudwatchConfigurationPtrOutput + ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) RailsAppLayerCloudwatchConfigurationPtrOutput +} + +type railsAppLayerCloudwatchConfigurationPtrType RailsAppLayerCloudwatchConfigurationArgs + +func RailsAppLayerCloudwatchConfigurationPtr(v *RailsAppLayerCloudwatchConfigurationArgs) RailsAppLayerCloudwatchConfigurationPtrInput { + return (*railsAppLayerCloudwatchConfigurationPtrType)(v) +} + +func (*railsAppLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RailsAppLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (i *railsAppLayerCloudwatchConfigurationPtrType) ToRailsAppLayerCloudwatchConfigurationPtrOutput() RailsAppLayerCloudwatchConfigurationPtrOutput { + return i.ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *railsAppLayerCloudwatchConfigurationPtrType) ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerCloudwatchConfigurationPtrOutput) +} + +type RailsAppLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } + +func (RailsAppLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RailsAppLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (o RailsAppLayerCloudwatchConfigurationOutput) ToRailsAppLayerCloudwatchConfigurationOutput() RailsAppLayerCloudwatchConfigurationOutput { + return o +} + +func (o RailsAppLayerCloudwatchConfigurationOutput) ToRailsAppLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationOutput { + return o +} + +func (o RailsAppLayerCloudwatchConfigurationOutput) ToRailsAppLayerCloudwatchConfigurationPtrOutput() RailsAppLayerCloudwatchConfigurationPtrOutput { + return o.ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (o RailsAppLayerCloudwatchConfigurationOutput) ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RailsAppLayerCloudwatchConfiguration) *RailsAppLayerCloudwatchConfiguration { + return &v + }).(RailsAppLayerCloudwatchConfigurationPtrOutput) +} + +func (o RailsAppLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v RailsAppLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +func (o RailsAppLayerCloudwatchConfigurationOutput) LogStreams() RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v RailsAppLayerCloudwatchConfiguration) []RailsAppLayerCloudwatchConfigurationLogStream { + return v.LogStreams + }).(RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type RailsAppLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (RailsAppLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RailsAppLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (o RailsAppLayerCloudwatchConfigurationPtrOutput) ToRailsAppLayerCloudwatchConfigurationPtrOutput() RailsAppLayerCloudwatchConfigurationPtrOutput { + return o +} + +func (o RailsAppLayerCloudwatchConfigurationPtrOutput) ToRailsAppLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationPtrOutput { + return o +} + +func (o RailsAppLayerCloudwatchConfigurationPtrOutput) Elem() RailsAppLayerCloudwatchConfigurationOutput { + return o.ApplyT(func(v *RailsAppLayerCloudwatchConfiguration) RailsAppLayerCloudwatchConfiguration { + if v != nil { + return *v + } + var ret RailsAppLayerCloudwatchConfiguration + return ret + }).(RailsAppLayerCloudwatchConfigurationOutput) +} + +func (o RailsAppLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RailsAppLayerCloudwatchConfiguration) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +func (o RailsAppLayerCloudwatchConfigurationPtrOutput) LogStreams() RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v *RailsAppLayerCloudwatchConfiguration) []RailsAppLayerCloudwatchConfigurationLogStream { + if v == nil { + return nil + } + return v.LogStreams + }).(RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type RailsAppLayerCloudwatchConfigurationLogStream struct { + BatchCount *int `pulumi:"batchCount"` + BatchSize *int `pulumi:"batchSize"` + BufferDuration *int `pulumi:"bufferDuration"` + DatetimeFormat *string `pulumi:"datetimeFormat"` + Encoding *string `pulumi:"encoding"` + File string `pulumi:"file"` + FileFingerprintLines *string `pulumi:"fileFingerprintLines"` + InitialPosition *string `pulumi:"initialPosition"` + LogGroupName string `pulumi:"logGroupName"` + MultilineStartPattern *string `pulumi:"multilineStartPattern"` + TimeZone *string `pulumi:"timeZone"` +} + +// RailsAppLayerCloudwatchConfigurationLogStreamInput is an input type that accepts RailsAppLayerCloudwatchConfigurationLogStreamArgs and RailsAppLayerCloudwatchConfigurationLogStreamOutput values. +// You can construct a concrete instance of `RailsAppLayerCloudwatchConfigurationLogStreamInput` via: +// +// RailsAppLayerCloudwatchConfigurationLogStreamArgs{...} +type RailsAppLayerCloudwatchConfigurationLogStreamInput interface { + pulumi.Input + + ToRailsAppLayerCloudwatchConfigurationLogStreamOutput() RailsAppLayerCloudwatchConfigurationLogStreamOutput + ToRailsAppLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) RailsAppLayerCloudwatchConfigurationLogStreamOutput +} + +type RailsAppLayerCloudwatchConfigurationLogStreamArgs struct { + BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` + BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` + BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` + DatetimeFormat pulumi.StringPtrInput `pulumi:"datetimeFormat"` + Encoding pulumi.StringPtrInput `pulumi:"encoding"` + File pulumi.StringInput `pulumi:"file"` + FileFingerprintLines pulumi.StringPtrInput `pulumi:"fileFingerprintLines"` + InitialPosition pulumi.StringPtrInput `pulumi:"initialPosition"` + LogGroupName pulumi.StringInput `pulumi:"logGroupName"` + MultilineStartPattern pulumi.StringPtrInput `pulumi:"multilineStartPattern"` + TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +} + +func (RailsAppLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RailsAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (i RailsAppLayerCloudwatchConfigurationLogStreamArgs) ToRailsAppLayerCloudwatchConfigurationLogStreamOutput() RailsAppLayerCloudwatchConfigurationLogStreamOutput { + return i.ToRailsAppLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) +} + +func (i RailsAppLayerCloudwatchConfigurationLogStreamArgs) ToRailsAppLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerCloudwatchConfigurationLogStreamOutput) +} + +// RailsAppLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts RailsAppLayerCloudwatchConfigurationLogStreamArray and RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput values. +// You can construct a concrete instance of `RailsAppLayerCloudwatchConfigurationLogStreamArrayInput` via: +// +// RailsAppLayerCloudwatchConfigurationLogStreamArray{ RailsAppLayerCloudwatchConfigurationLogStreamArgs{...} } +type RailsAppLayerCloudwatchConfigurationLogStreamArrayInput interface { + pulumi.Input + + ToRailsAppLayerCloudwatchConfigurationLogStreamArrayOutput() RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput + ToRailsAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput +} + +type RailsAppLayerCloudwatchConfigurationLogStreamArray []RailsAppLayerCloudwatchConfigurationLogStreamInput + +func (RailsAppLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RailsAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (i RailsAppLayerCloudwatchConfigurationLogStreamArray) ToRailsAppLayerCloudwatchConfigurationLogStreamArrayOutput() RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return i.ToRailsAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) +} + +func (i RailsAppLayerCloudwatchConfigurationLogStreamArray) ToRailsAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type RailsAppLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } + +func (RailsAppLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RailsAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) ToRailsAppLayerCloudwatchConfigurationLogStreamOutput() RailsAppLayerCloudwatchConfigurationLogStreamOutput { + return o +} + +func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) ToRailsAppLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationLogStreamOutput { + return o +} + +func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) +} + +func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) +} + +func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) +} + +func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) +} + +func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) +} + +func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { + return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) +} + +func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { + return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) +} + +func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { + return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) +} + +func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { + return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) +} + +func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) +} + +func (o RailsAppLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v RailsAppLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +} + +type RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } + +func (RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RailsAppLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (o RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput) ToRailsAppLayerCloudwatchConfigurationLogStreamArrayOutput() RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return o +} + +func (o RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput) ToRailsAppLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput { + return o +} + +func (o RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) RailsAppLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RailsAppLayerCloudwatchConfigurationLogStream { + return vs[0].([]RailsAppLayerCloudwatchConfigurationLogStream)[vs[1].(int)] + }).(RailsAppLayerCloudwatchConfigurationLogStreamOutput) +} + +type RailsAppLayerEbsVolume struct { + Encrypted *bool `pulumi:"encrypted"` + // For PIOPS volumes, the IOPS per disk. + Iops *int `pulumi:"iops"` + // The path to mount the EBS volume on the layer's instances. + MountPoint string `pulumi:"mountPoint"` + // The number of disks to use for the EBS volume. + NumberOfDisks int `pulumi:"numberOfDisks"` + // The RAID level to use for the volume. + RaidLevel *string `pulumi:"raidLevel"` + // The size of the volume in gigabytes. + Size int `pulumi:"size"` + // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + Type *string `pulumi:"type"` +} + +// RailsAppLayerEbsVolumeInput is an input type that accepts RailsAppLayerEbsVolumeArgs and RailsAppLayerEbsVolumeOutput values. +// You can construct a concrete instance of `RailsAppLayerEbsVolumeInput` via: +// +// RailsAppLayerEbsVolumeArgs{...} +type RailsAppLayerEbsVolumeInput interface { + pulumi.Input + + ToRailsAppLayerEbsVolumeOutput() RailsAppLayerEbsVolumeOutput + ToRailsAppLayerEbsVolumeOutputWithContext(context.Context) RailsAppLayerEbsVolumeOutput +} + +type RailsAppLayerEbsVolumeArgs struct { + Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` + // For PIOPS volumes, the IOPS per disk. + Iops pulumi.IntPtrInput `pulumi:"iops"` + // The path to mount the EBS volume on the layer's instances. + MountPoint pulumi.StringInput `pulumi:"mountPoint"` + // The number of disks to use for the EBS volume. + NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"` + // The RAID level to use for the volume. + RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"` + // The size of the volume in gigabytes. + Size pulumi.IntInput `pulumi:"size"` + // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (RailsAppLayerEbsVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RailsAppLayerEbsVolume)(nil)).Elem() +} + +func (i RailsAppLayerEbsVolumeArgs) ToRailsAppLayerEbsVolumeOutput() RailsAppLayerEbsVolumeOutput { + return i.ToRailsAppLayerEbsVolumeOutputWithContext(context.Background()) +} + +func (i RailsAppLayerEbsVolumeArgs) ToRailsAppLayerEbsVolumeOutputWithContext(ctx context.Context) RailsAppLayerEbsVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerEbsVolumeOutput) +} + +// RailsAppLayerEbsVolumeArrayInput is an input type that accepts RailsAppLayerEbsVolumeArray and RailsAppLayerEbsVolumeArrayOutput values. +// You can construct a concrete instance of `RailsAppLayerEbsVolumeArrayInput` via: +// +// RailsAppLayerEbsVolumeArray{ RailsAppLayerEbsVolumeArgs{...} } +type RailsAppLayerEbsVolumeArrayInput interface { + pulumi.Input + + ToRailsAppLayerEbsVolumeArrayOutput() RailsAppLayerEbsVolumeArrayOutput + ToRailsAppLayerEbsVolumeArrayOutputWithContext(context.Context) RailsAppLayerEbsVolumeArrayOutput +} + +type RailsAppLayerEbsVolumeArray []RailsAppLayerEbsVolumeInput + +func (RailsAppLayerEbsVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RailsAppLayerEbsVolume)(nil)).Elem() +} + +func (i RailsAppLayerEbsVolumeArray) ToRailsAppLayerEbsVolumeArrayOutput() RailsAppLayerEbsVolumeArrayOutput { + return i.ToRailsAppLayerEbsVolumeArrayOutputWithContext(context.Background()) +} + +func (i RailsAppLayerEbsVolumeArray) ToRailsAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) RailsAppLayerEbsVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerEbsVolumeArrayOutput) +} + +type RailsAppLayerEbsVolumeOutput struct{ *pulumi.OutputState } + +func (RailsAppLayerEbsVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RailsAppLayerEbsVolume)(nil)).Elem() +} + +func (o RailsAppLayerEbsVolumeOutput) ToRailsAppLayerEbsVolumeOutput() RailsAppLayerEbsVolumeOutput { + return o +} + +func (o RailsAppLayerEbsVolumeOutput) ToRailsAppLayerEbsVolumeOutputWithContext(ctx context.Context) RailsAppLayerEbsVolumeOutput { + return o +} + +func (o RailsAppLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v RailsAppLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +} + +// For PIOPS volumes, the IOPS per disk. +func (o RailsAppLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v RailsAppLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) +} + +// The path to mount the EBS volume on the layer's instances. +func (o RailsAppLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { + return o.ApplyT(func(v RailsAppLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) +} + +// The number of disks to use for the EBS volume. +func (o RailsAppLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { + return o.ApplyT(func(v RailsAppLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) +} + +// The RAID level to use for the volume. +func (o RailsAppLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v RailsAppLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) +} + +// The size of the volume in gigabytes. +func (o RailsAppLayerEbsVolumeOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v RailsAppLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) +} + +// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. +func (o RailsAppLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v RailsAppLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type RailsAppLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } + +func (RailsAppLayerEbsVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RailsAppLayerEbsVolume)(nil)).Elem() +} + +func (o RailsAppLayerEbsVolumeArrayOutput) ToRailsAppLayerEbsVolumeArrayOutput() RailsAppLayerEbsVolumeArrayOutput { + return o +} + +func (o RailsAppLayerEbsVolumeArrayOutput) ToRailsAppLayerEbsVolumeArrayOutputWithContext(ctx context.Context) RailsAppLayerEbsVolumeArrayOutput { + return o +} + +func (o RailsAppLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) RailsAppLayerEbsVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RailsAppLayerEbsVolume { + return vs[0].([]RailsAppLayerEbsVolume)[vs[1].(int)] + }).(RailsAppLayerEbsVolumeOutput) +} + +type RailsAppLayerLoadBasedAutoScaling struct { + Downscaling *RailsAppLayerLoadBasedAutoScalingDownscaling `pulumi:"downscaling"` + Enable *bool `pulumi:"enable"` + Upscaling *RailsAppLayerLoadBasedAutoScalingUpscaling `pulumi:"upscaling"` +} + +// RailsAppLayerLoadBasedAutoScalingInput is an input type that accepts RailsAppLayerLoadBasedAutoScalingArgs and RailsAppLayerLoadBasedAutoScalingOutput values. +// You can construct a concrete instance of `RailsAppLayerLoadBasedAutoScalingInput` via: +// +// RailsAppLayerLoadBasedAutoScalingArgs{...} +type RailsAppLayerLoadBasedAutoScalingInput interface { + pulumi.Input + + ToRailsAppLayerLoadBasedAutoScalingOutput() RailsAppLayerLoadBasedAutoScalingOutput + ToRailsAppLayerLoadBasedAutoScalingOutputWithContext(context.Context) RailsAppLayerLoadBasedAutoScalingOutput +} + +type RailsAppLayerLoadBasedAutoScalingArgs struct { + Downscaling RailsAppLayerLoadBasedAutoScalingDownscalingPtrInput `pulumi:"downscaling"` + Enable pulumi.BoolPtrInput `pulumi:"enable"` + Upscaling RailsAppLayerLoadBasedAutoScalingUpscalingPtrInput `pulumi:"upscaling"` +} + +func (RailsAppLayerLoadBasedAutoScalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RailsAppLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (i RailsAppLayerLoadBasedAutoScalingArgs) ToRailsAppLayerLoadBasedAutoScalingOutput() RailsAppLayerLoadBasedAutoScalingOutput { + return i.ToRailsAppLayerLoadBasedAutoScalingOutputWithContext(context.Background()) +} + +func (i RailsAppLayerLoadBasedAutoScalingArgs) ToRailsAppLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerLoadBasedAutoScalingOutput) +} + +func (i RailsAppLayerLoadBasedAutoScalingArgs) ToRailsAppLayerLoadBasedAutoScalingPtrOutput() RailsAppLayerLoadBasedAutoScalingPtrOutput { + return i.ToRailsAppLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) +} + +func (i RailsAppLayerLoadBasedAutoScalingArgs) ToRailsAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerLoadBasedAutoScalingOutput).ToRailsAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx) +} + +// RailsAppLayerLoadBasedAutoScalingPtrInput is an input type that accepts RailsAppLayerLoadBasedAutoScalingArgs, RailsAppLayerLoadBasedAutoScalingPtr and RailsAppLayerLoadBasedAutoScalingPtrOutput values. +// You can construct a concrete instance of `RailsAppLayerLoadBasedAutoScalingPtrInput` via: +// +// RailsAppLayerLoadBasedAutoScalingArgs{...} +// +// or: +// +// nil +type RailsAppLayerLoadBasedAutoScalingPtrInput interface { + pulumi.Input + + ToRailsAppLayerLoadBasedAutoScalingPtrOutput() RailsAppLayerLoadBasedAutoScalingPtrOutput + ToRailsAppLayerLoadBasedAutoScalingPtrOutputWithContext(context.Context) RailsAppLayerLoadBasedAutoScalingPtrOutput +} + +type railsAppLayerLoadBasedAutoScalingPtrType RailsAppLayerLoadBasedAutoScalingArgs + +func RailsAppLayerLoadBasedAutoScalingPtr(v *RailsAppLayerLoadBasedAutoScalingArgs) RailsAppLayerLoadBasedAutoScalingPtrInput { + return (*railsAppLayerLoadBasedAutoScalingPtrType)(v) +} + +func (*railsAppLayerLoadBasedAutoScalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RailsAppLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (i *railsAppLayerLoadBasedAutoScalingPtrType) ToRailsAppLayerLoadBasedAutoScalingPtrOutput() RailsAppLayerLoadBasedAutoScalingPtrOutput { + return i.ToRailsAppLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) +} + +func (i *railsAppLayerLoadBasedAutoScalingPtrType) ToRailsAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerLoadBasedAutoScalingPtrOutput) +} + +type RailsAppLayerLoadBasedAutoScalingOutput struct{ *pulumi.OutputState } + +func (RailsAppLayerLoadBasedAutoScalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RailsAppLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (o RailsAppLayerLoadBasedAutoScalingOutput) ToRailsAppLayerLoadBasedAutoScalingOutput() RailsAppLayerLoadBasedAutoScalingOutput { + return o +} + +func (o RailsAppLayerLoadBasedAutoScalingOutput) ToRailsAppLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingOutput { + return o +} + +func (o RailsAppLayerLoadBasedAutoScalingOutput) ToRailsAppLayerLoadBasedAutoScalingPtrOutput() RailsAppLayerLoadBasedAutoScalingPtrOutput { + return o.ToRailsAppLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) +} + +func (o RailsAppLayerLoadBasedAutoScalingOutput) ToRailsAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RailsAppLayerLoadBasedAutoScaling) *RailsAppLayerLoadBasedAutoScaling { + return &v + }).(RailsAppLayerLoadBasedAutoScalingPtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingOutput) Downscaling() RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v RailsAppLayerLoadBasedAutoScaling) *RailsAppLayerLoadBasedAutoScalingDownscaling { + return v.Downscaling + }).(RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v RailsAppLayerLoadBasedAutoScaling) *bool { return v.Enable }).(pulumi.BoolPtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingOutput) Upscaling() RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v RailsAppLayerLoadBasedAutoScaling) *RailsAppLayerLoadBasedAutoScalingUpscaling { + return v.Upscaling + }).(RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +type RailsAppLayerLoadBasedAutoScalingPtrOutput struct{ *pulumi.OutputState } + +func (RailsAppLayerLoadBasedAutoScalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RailsAppLayerLoadBasedAutoScaling)(nil)).Elem() +} + +func (o RailsAppLayerLoadBasedAutoScalingPtrOutput) ToRailsAppLayerLoadBasedAutoScalingPtrOutput() RailsAppLayerLoadBasedAutoScalingPtrOutput { + return o +} + +func (o RailsAppLayerLoadBasedAutoScalingPtrOutput) ToRailsAppLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingPtrOutput { + return o +} + +func (o RailsAppLayerLoadBasedAutoScalingPtrOutput) Elem() RailsAppLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScaling) RailsAppLayerLoadBasedAutoScaling { + if v != nil { + return *v + } + var ret RailsAppLayerLoadBasedAutoScaling + return ret + }).(RailsAppLayerLoadBasedAutoScalingOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingPtrOutput) Downscaling() RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScaling) *RailsAppLayerLoadBasedAutoScalingDownscaling { + if v == nil { + return nil + } + return v.Downscaling + }).(RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingPtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScaling) *bool { + if v == nil { + return nil + } + return v.Enable + }).(pulumi.BoolPtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingPtrOutput) Upscaling() RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScaling) *RailsAppLayerLoadBasedAutoScalingUpscaling { + if v == nil { + return nil + } + return v.Upscaling + }).(RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +type RailsAppLayerLoadBasedAutoScalingDownscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` +} + +// RailsAppLayerLoadBasedAutoScalingDownscalingInput is an input type that accepts RailsAppLayerLoadBasedAutoScalingDownscalingArgs and RailsAppLayerLoadBasedAutoScalingDownscalingOutput values. +// You can construct a concrete instance of `RailsAppLayerLoadBasedAutoScalingDownscalingInput` via: +// +// RailsAppLayerLoadBasedAutoScalingDownscalingArgs{...} +type RailsAppLayerLoadBasedAutoScalingDownscalingInput interface { + pulumi.Input + + ToRailsAppLayerLoadBasedAutoScalingDownscalingOutput() RailsAppLayerLoadBasedAutoScalingDownscalingOutput + ToRailsAppLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Context) RailsAppLayerLoadBasedAutoScalingDownscalingOutput +} + +type RailsAppLayerLoadBasedAutoScalingDownscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` +} + +func (RailsAppLayerLoadBasedAutoScalingDownscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RailsAppLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (i RailsAppLayerLoadBasedAutoScalingDownscalingArgs) ToRailsAppLayerLoadBasedAutoScalingDownscalingOutput() RailsAppLayerLoadBasedAutoScalingDownscalingOutput { + return i.ToRailsAppLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Background()) +} + +func (i RailsAppLayerLoadBasedAutoScalingDownscalingArgs) ToRailsAppLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingDownscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerLoadBasedAutoScalingDownscalingOutput) +} + +func (i RailsAppLayerLoadBasedAutoScalingDownscalingArgs) ToRailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput() RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToRailsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (i RailsAppLayerLoadBasedAutoScalingDownscalingArgs) ToRailsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerLoadBasedAutoScalingDownscalingOutput).ToRailsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx) +} + +// RailsAppLayerLoadBasedAutoScalingDownscalingPtrInput is an input type that accepts RailsAppLayerLoadBasedAutoScalingDownscalingArgs, RailsAppLayerLoadBasedAutoScalingDownscalingPtr and RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput values. +// You can construct a concrete instance of `RailsAppLayerLoadBasedAutoScalingDownscalingPtrInput` via: +// +// RailsAppLayerLoadBasedAutoScalingDownscalingArgs{...} +// +// or: +// +// nil +type RailsAppLayerLoadBasedAutoScalingDownscalingPtrInput interface { + pulumi.Input + + ToRailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput() RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput + ToRailsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Context) RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput +} + +type railsAppLayerLoadBasedAutoScalingDownscalingPtrType RailsAppLayerLoadBasedAutoScalingDownscalingArgs + +func RailsAppLayerLoadBasedAutoScalingDownscalingPtr(v *RailsAppLayerLoadBasedAutoScalingDownscalingArgs) RailsAppLayerLoadBasedAutoScalingDownscalingPtrInput { + return (*railsAppLayerLoadBasedAutoScalingDownscalingPtrType)(v) +} + +func (*railsAppLayerLoadBasedAutoScalingDownscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RailsAppLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (i *railsAppLayerLoadBasedAutoScalingDownscalingPtrType) ToRailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput() RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToRailsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (i *railsAppLayerLoadBasedAutoScalingDownscalingPtrType) ToRailsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +type RailsAppLayerLoadBasedAutoScalingDownscalingOutput struct{ *pulumi.OutputState } + +func (RailsAppLayerLoadBasedAutoScalingDownscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RailsAppLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingOutput) ToRailsAppLayerLoadBasedAutoScalingDownscalingOutput() RailsAppLayerLoadBasedAutoScalingDownscalingOutput { + return o +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingOutput) ToRailsAppLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingDownscalingOutput { + return o +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingOutput) ToRailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput() RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ToRailsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingOutput) ToRailsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RailsAppLayerLoadBasedAutoScalingDownscaling) *RailsAppLayerLoadBasedAutoScalingDownscaling { + return &v + }).(RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v RailsAppLayerLoadBasedAutoScalingDownscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v RailsAppLayerLoadBasedAutoScalingDownscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v RailsAppLayerLoadBasedAutoScalingDownscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v RailsAppLayerLoadBasedAutoScalingDownscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v RailsAppLayerLoadBasedAutoScalingDownscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v RailsAppLayerLoadBasedAutoScalingDownscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v RailsAppLayerLoadBasedAutoScalingDownscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) +} + +type RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput struct{ *pulumi.OutputState } + +func (RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RailsAppLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) ToRailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput() RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) ToRailsAppLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) Elem() RailsAppLayerLoadBasedAutoScalingDownscalingOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScalingDownscaling) RailsAppLayerLoadBasedAutoScalingDownscaling { + if v != nil { + return *v + } + var ret RailsAppLayerLoadBasedAutoScalingDownscaling + return ret + }).(RailsAppLayerLoadBasedAutoScalingDownscalingOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScalingDownscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) +} + +type RailsAppLayerLoadBasedAutoScalingUpscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` +} + +// RailsAppLayerLoadBasedAutoScalingUpscalingInput is an input type that accepts RailsAppLayerLoadBasedAutoScalingUpscalingArgs and RailsAppLayerLoadBasedAutoScalingUpscalingOutput values. +// You can construct a concrete instance of `RailsAppLayerLoadBasedAutoScalingUpscalingInput` via: +// +// RailsAppLayerLoadBasedAutoScalingUpscalingArgs{...} +type RailsAppLayerLoadBasedAutoScalingUpscalingInput interface { + pulumi.Input + + ToRailsAppLayerLoadBasedAutoScalingUpscalingOutput() RailsAppLayerLoadBasedAutoScalingUpscalingOutput + ToRailsAppLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Context) RailsAppLayerLoadBasedAutoScalingUpscalingOutput +} + +type RailsAppLayerLoadBasedAutoScalingUpscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` +} + +func (RailsAppLayerLoadBasedAutoScalingUpscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RailsAppLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (i RailsAppLayerLoadBasedAutoScalingUpscalingArgs) ToRailsAppLayerLoadBasedAutoScalingUpscalingOutput() RailsAppLayerLoadBasedAutoScalingUpscalingOutput { + return i.ToRailsAppLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Background()) +} + +func (i RailsAppLayerLoadBasedAutoScalingUpscalingArgs) ToRailsAppLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingUpscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerLoadBasedAutoScalingUpscalingOutput) +} + +func (i RailsAppLayerLoadBasedAutoScalingUpscalingArgs) ToRailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput() RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToRailsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (i RailsAppLayerLoadBasedAutoScalingUpscalingArgs) ToRailsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerLoadBasedAutoScalingUpscalingOutput).ToRailsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx) +} + +// RailsAppLayerLoadBasedAutoScalingUpscalingPtrInput is an input type that accepts RailsAppLayerLoadBasedAutoScalingUpscalingArgs, RailsAppLayerLoadBasedAutoScalingUpscalingPtr and RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput values. +// You can construct a concrete instance of `RailsAppLayerLoadBasedAutoScalingUpscalingPtrInput` via: +// +// RailsAppLayerLoadBasedAutoScalingUpscalingArgs{...} +// +// or: +// +// nil +type RailsAppLayerLoadBasedAutoScalingUpscalingPtrInput interface { + pulumi.Input + + ToRailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput() RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput + ToRailsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Context) RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput +} + +type railsAppLayerLoadBasedAutoScalingUpscalingPtrType RailsAppLayerLoadBasedAutoScalingUpscalingArgs + +func RailsAppLayerLoadBasedAutoScalingUpscalingPtr(v *RailsAppLayerLoadBasedAutoScalingUpscalingArgs) RailsAppLayerLoadBasedAutoScalingUpscalingPtrInput { + return (*railsAppLayerLoadBasedAutoScalingUpscalingPtrType)(v) +} + +func (*railsAppLayerLoadBasedAutoScalingUpscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RailsAppLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (i *railsAppLayerLoadBasedAutoScalingUpscalingPtrType) ToRailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput() RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToRailsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (i *railsAppLayerLoadBasedAutoScalingUpscalingPtrType) ToRailsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +type RailsAppLayerLoadBasedAutoScalingUpscalingOutput struct{ *pulumi.OutputState } + +func (RailsAppLayerLoadBasedAutoScalingUpscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RailsAppLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingOutput) ToRailsAppLayerLoadBasedAutoScalingUpscalingOutput() RailsAppLayerLoadBasedAutoScalingUpscalingOutput { + return o +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingOutput) ToRailsAppLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingUpscalingOutput { + return o +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingOutput) ToRailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput() RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ToRailsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingOutput) ToRailsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RailsAppLayerLoadBasedAutoScalingUpscaling) *RailsAppLayerLoadBasedAutoScalingUpscaling { + return &v + }).(RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v RailsAppLayerLoadBasedAutoScalingUpscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v RailsAppLayerLoadBasedAutoScalingUpscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v RailsAppLayerLoadBasedAutoScalingUpscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v RailsAppLayerLoadBasedAutoScalingUpscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v RailsAppLayerLoadBasedAutoScalingUpscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v RailsAppLayerLoadBasedAutoScalingUpscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v RailsAppLayerLoadBasedAutoScalingUpscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) +} + +type RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput struct{ *pulumi.OutputState } + +func (RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RailsAppLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) ToRailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput() RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) ToRailsAppLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) Elem() RailsAppLayerLoadBasedAutoScalingUpscalingOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScalingUpscaling) RailsAppLayerLoadBasedAutoScalingUpscaling { + if v != nil { + return *v + } + var ret RailsAppLayerLoadBasedAutoScalingUpscaling + return ret + }).(RailsAppLayerLoadBasedAutoScalingUpscalingOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScalingUpscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RailsAppLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) +} + +type StackCustomCookbooksSource struct { + // Password to use when authenticating to the source. The provider cannot perform drift detection of this configuration. + Password *string `pulumi:"password"` + // For sources that are version-aware, the revision to use. + Revision *string `pulumi:"revision"` + // SSH key to use when authenticating to the source. The provider cannot perform drift detection of this configuration. + SshKey *string `pulumi:"sshKey"` + // The type of source to use. For example, "archive". + Type string `pulumi:"type"` + // The URL where the cookbooks resource can be found. + Url string `pulumi:"url"` + // Username to use when authenticating to the source. + Username *string `pulumi:"username"` +} + +// StackCustomCookbooksSourceInput is an input type that accepts StackCustomCookbooksSourceArgs and StackCustomCookbooksSourceOutput values. +// You can construct a concrete instance of `StackCustomCookbooksSourceInput` via: +// +// StackCustomCookbooksSourceArgs{...} +type StackCustomCookbooksSourceInput interface { + pulumi.Input + + ToStackCustomCookbooksSourceOutput() StackCustomCookbooksSourceOutput + ToStackCustomCookbooksSourceOutputWithContext(context.Context) StackCustomCookbooksSourceOutput +} + +type StackCustomCookbooksSourceArgs struct { + // Password to use when authenticating to the source. The provider cannot perform drift detection of this configuration. + Password pulumi.StringPtrInput `pulumi:"password"` + // For sources that are version-aware, the revision to use. + Revision pulumi.StringPtrInput `pulumi:"revision"` + // SSH key to use when authenticating to the source. The provider cannot perform drift detection of this configuration. + SshKey pulumi.StringPtrInput `pulumi:"sshKey"` + // The type of source to use. For example, "archive". + Type pulumi.StringInput `pulumi:"type"` + // The URL where the cookbooks resource can be found. + Url pulumi.StringInput `pulumi:"url"` + // Username to use when authenticating to the source. + Username pulumi.StringPtrInput `pulumi:"username"` +} + +func (StackCustomCookbooksSourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StackCustomCookbooksSource)(nil)).Elem() +} + +func (i StackCustomCookbooksSourceArgs) ToStackCustomCookbooksSourceOutput() StackCustomCookbooksSourceOutput { + return i.ToStackCustomCookbooksSourceOutputWithContext(context.Background()) +} + +func (i StackCustomCookbooksSourceArgs) ToStackCustomCookbooksSourceOutputWithContext(ctx context.Context) StackCustomCookbooksSourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(StackCustomCookbooksSourceOutput) +} + +// StackCustomCookbooksSourceArrayInput is an input type that accepts StackCustomCookbooksSourceArray and StackCustomCookbooksSourceArrayOutput values. +// You can construct a concrete instance of `StackCustomCookbooksSourceArrayInput` via: +// +// StackCustomCookbooksSourceArray{ StackCustomCookbooksSourceArgs{...} } +type StackCustomCookbooksSourceArrayInput interface { + pulumi.Input + + ToStackCustomCookbooksSourceArrayOutput() StackCustomCookbooksSourceArrayOutput + ToStackCustomCookbooksSourceArrayOutputWithContext(context.Context) StackCustomCookbooksSourceArrayOutput +} + +type StackCustomCookbooksSourceArray []StackCustomCookbooksSourceInput + +func (StackCustomCookbooksSourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]StackCustomCookbooksSource)(nil)).Elem() +} + +func (i StackCustomCookbooksSourceArray) ToStackCustomCookbooksSourceArrayOutput() StackCustomCookbooksSourceArrayOutput { + return i.ToStackCustomCookbooksSourceArrayOutputWithContext(context.Background()) +} + +func (i StackCustomCookbooksSourceArray) ToStackCustomCookbooksSourceArrayOutputWithContext(ctx context.Context) StackCustomCookbooksSourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(StackCustomCookbooksSourceArrayOutput) +} + +type StackCustomCookbooksSourceOutput struct{ *pulumi.OutputState } + +func (StackCustomCookbooksSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StackCustomCookbooksSource)(nil)).Elem() +} + +func (o StackCustomCookbooksSourceOutput) ToStackCustomCookbooksSourceOutput() StackCustomCookbooksSourceOutput { + return o +} + +func (o StackCustomCookbooksSourceOutput) ToStackCustomCookbooksSourceOutputWithContext(ctx context.Context) StackCustomCookbooksSourceOutput { + return o +} + +// Password to use when authenticating to the source. The provider cannot perform drift detection of this configuration. +func (o StackCustomCookbooksSourceOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v StackCustomCookbooksSource) *string { return v.Password }).(pulumi.StringPtrOutput) +} + +// For sources that are version-aware, the revision to use. +func (o StackCustomCookbooksSourceOutput) Revision() pulumi.StringPtrOutput { + return o.ApplyT(func(v StackCustomCookbooksSource) *string { return v.Revision }).(pulumi.StringPtrOutput) +} + +// SSH key to use when authenticating to the source. The provider cannot perform drift detection of this configuration. +func (o StackCustomCookbooksSourceOutput) SshKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v StackCustomCookbooksSource) *string { return v.SshKey }).(pulumi.StringPtrOutput) +} + +// The type of source to use. For example, "archive". +func (o StackCustomCookbooksSourceOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v StackCustomCookbooksSource) string { return v.Type }).(pulumi.StringOutput) +} + +// The URL where the cookbooks resource can be found. +func (o StackCustomCookbooksSourceOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v StackCustomCookbooksSource) string { return v.Url }).(pulumi.StringOutput) +} + +// Username to use when authenticating to the source. +func (o StackCustomCookbooksSourceOutput) Username() pulumi.StringPtrOutput { + return o.ApplyT(func(v StackCustomCookbooksSource) *string { return v.Username }).(pulumi.StringPtrOutput) +} + +type StackCustomCookbooksSourceArrayOutput struct{ *pulumi.OutputState } + +func (StackCustomCookbooksSourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]StackCustomCookbooksSource)(nil)).Elem() +} + +func (o StackCustomCookbooksSourceArrayOutput) ToStackCustomCookbooksSourceArrayOutput() StackCustomCookbooksSourceArrayOutput { + return o +} + +func (o StackCustomCookbooksSourceArrayOutput) ToStackCustomCookbooksSourceArrayOutputWithContext(ctx context.Context) StackCustomCookbooksSourceArrayOutput { + return o +} + +func (o StackCustomCookbooksSourceArrayOutput) Index(i pulumi.IntInput) StackCustomCookbooksSourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) StackCustomCookbooksSource { + return vs[0].([]StackCustomCookbooksSource)[vs[1].(int)] + }).(StackCustomCookbooksSourceOutput) +} + +type StaticWebLayerCloudwatchConfiguration struct { + Enabled *bool `pulumi:"enabled"` + LogStreams []StaticWebLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +} + +// StaticWebLayerCloudwatchConfigurationInput is an input type that accepts StaticWebLayerCloudwatchConfigurationArgs and StaticWebLayerCloudwatchConfigurationOutput values. +// You can construct a concrete instance of `StaticWebLayerCloudwatchConfigurationInput` via: +// +// StaticWebLayerCloudwatchConfigurationArgs{...} +type StaticWebLayerCloudwatchConfigurationInput interface { + pulumi.Input + + ToStaticWebLayerCloudwatchConfigurationOutput() StaticWebLayerCloudwatchConfigurationOutput + ToStaticWebLayerCloudwatchConfigurationOutputWithContext(context.Context) StaticWebLayerCloudwatchConfigurationOutput +} + +type StaticWebLayerCloudwatchConfigurationArgs struct { + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + LogStreams StaticWebLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` +} + +func (StaticWebLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StaticWebLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (i StaticWebLayerCloudwatchConfigurationArgs) ToStaticWebLayerCloudwatchConfigurationOutput() StaticWebLayerCloudwatchConfigurationOutput { + return i.ToStaticWebLayerCloudwatchConfigurationOutputWithContext(context.Background()) +} + +func (i StaticWebLayerCloudwatchConfigurationArgs) ToStaticWebLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerCloudwatchConfigurationOutput) +} + +func (i StaticWebLayerCloudwatchConfigurationArgs) ToStaticWebLayerCloudwatchConfigurationPtrOutput() StaticWebLayerCloudwatchConfigurationPtrOutput { + return i.ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (i StaticWebLayerCloudwatchConfigurationArgs) ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerCloudwatchConfigurationOutput).ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(ctx) +} + +// StaticWebLayerCloudwatchConfigurationPtrInput is an input type that accepts StaticWebLayerCloudwatchConfigurationArgs, StaticWebLayerCloudwatchConfigurationPtr and StaticWebLayerCloudwatchConfigurationPtrOutput values. +// You can construct a concrete instance of `StaticWebLayerCloudwatchConfigurationPtrInput` via: +// +// StaticWebLayerCloudwatchConfigurationArgs{...} +// +// or: +// +// nil +type StaticWebLayerCloudwatchConfigurationPtrInput interface { + pulumi.Input + + ToStaticWebLayerCloudwatchConfigurationPtrOutput() StaticWebLayerCloudwatchConfigurationPtrOutput + ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) StaticWebLayerCloudwatchConfigurationPtrOutput +} + +type staticWebLayerCloudwatchConfigurationPtrType StaticWebLayerCloudwatchConfigurationArgs + +func StaticWebLayerCloudwatchConfigurationPtr(v *StaticWebLayerCloudwatchConfigurationArgs) StaticWebLayerCloudwatchConfigurationPtrInput { + return (*staticWebLayerCloudwatchConfigurationPtrType)(v) +} + +func (*staticWebLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StaticWebLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (i *staticWebLayerCloudwatchConfigurationPtrType) ToStaticWebLayerCloudwatchConfigurationPtrOutput() StaticWebLayerCloudwatchConfigurationPtrOutput { + return i.ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *staticWebLayerCloudwatchConfigurationPtrType) ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerCloudwatchConfigurationPtrOutput) +} + +type StaticWebLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } + +func (StaticWebLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StaticWebLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (o StaticWebLayerCloudwatchConfigurationOutput) ToStaticWebLayerCloudwatchConfigurationOutput() StaticWebLayerCloudwatchConfigurationOutput { + return o +} + +func (o StaticWebLayerCloudwatchConfigurationOutput) ToStaticWebLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationOutput { + return o +} + +func (o StaticWebLayerCloudwatchConfigurationOutput) ToStaticWebLayerCloudwatchConfigurationPtrOutput() StaticWebLayerCloudwatchConfigurationPtrOutput { + return o.ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +} + +func (o StaticWebLayerCloudwatchConfigurationOutput) ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StaticWebLayerCloudwatchConfiguration) *StaticWebLayerCloudwatchConfiguration { + return &v + }).(StaticWebLayerCloudwatchConfigurationPtrOutput) +} + +func (o StaticWebLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v StaticWebLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +func (o StaticWebLayerCloudwatchConfigurationOutput) LogStreams() StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v StaticWebLayerCloudwatchConfiguration) []StaticWebLayerCloudwatchConfigurationLogStream { + return v.LogStreams + }).(StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type StaticWebLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (StaticWebLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StaticWebLayerCloudwatchConfiguration)(nil)).Elem() +} + +func (o StaticWebLayerCloudwatchConfigurationPtrOutput) ToStaticWebLayerCloudwatchConfigurationPtrOutput() StaticWebLayerCloudwatchConfigurationPtrOutput { + return o +} + +func (o StaticWebLayerCloudwatchConfigurationPtrOutput) ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationPtrOutput { + return o +} + +func (o StaticWebLayerCloudwatchConfigurationPtrOutput) Elem() StaticWebLayerCloudwatchConfigurationOutput { + return o.ApplyT(func(v *StaticWebLayerCloudwatchConfiguration) StaticWebLayerCloudwatchConfiguration { + if v != nil { + return *v + } + var ret StaticWebLayerCloudwatchConfiguration + return ret + }).(StaticWebLayerCloudwatchConfigurationOutput) +} + +func (o StaticWebLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *StaticWebLayerCloudwatchConfiguration) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +func (o StaticWebLayerCloudwatchConfigurationPtrOutput) LogStreams() StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput { + return o.ApplyT(func(v *StaticWebLayerCloudwatchConfiguration) []StaticWebLayerCloudwatchConfigurationLogStream { + if v == nil { + return nil + } + return v.LogStreams + }).(StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type StaticWebLayerCloudwatchConfigurationLogStream struct { + BatchCount *int `pulumi:"batchCount"` + BatchSize *int `pulumi:"batchSize"` + BufferDuration *int `pulumi:"bufferDuration"` + DatetimeFormat *string `pulumi:"datetimeFormat"` + Encoding *string `pulumi:"encoding"` + File string `pulumi:"file"` + FileFingerprintLines *string `pulumi:"fileFingerprintLines"` + InitialPosition *string `pulumi:"initialPosition"` + LogGroupName string `pulumi:"logGroupName"` + MultilineStartPattern *string `pulumi:"multilineStartPattern"` + TimeZone *string `pulumi:"timeZone"` +} + +// StaticWebLayerCloudwatchConfigurationLogStreamInput is an input type that accepts StaticWebLayerCloudwatchConfigurationLogStreamArgs and StaticWebLayerCloudwatchConfigurationLogStreamOutput values. +// You can construct a concrete instance of `StaticWebLayerCloudwatchConfigurationLogStreamInput` via: +// +// StaticWebLayerCloudwatchConfigurationLogStreamArgs{...} +type StaticWebLayerCloudwatchConfigurationLogStreamInput interface { + pulumi.Input + + ToStaticWebLayerCloudwatchConfigurationLogStreamOutput() StaticWebLayerCloudwatchConfigurationLogStreamOutput + ToStaticWebLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) StaticWebLayerCloudwatchConfigurationLogStreamOutput +} + +type StaticWebLayerCloudwatchConfigurationLogStreamArgs struct { + BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` + BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` + BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` + DatetimeFormat pulumi.StringPtrInput `pulumi:"datetimeFormat"` + Encoding pulumi.StringPtrInput `pulumi:"encoding"` + File pulumi.StringInput `pulumi:"file"` + FileFingerprintLines pulumi.StringPtrInput `pulumi:"fileFingerprintLines"` + InitialPosition pulumi.StringPtrInput `pulumi:"initialPosition"` + LogGroupName pulumi.StringInput `pulumi:"logGroupName"` + MultilineStartPattern pulumi.StringPtrInput `pulumi:"multilineStartPattern"` + TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +} + +func (StaticWebLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StaticWebLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (i StaticWebLayerCloudwatchConfigurationLogStreamArgs) ToStaticWebLayerCloudwatchConfigurationLogStreamOutput() StaticWebLayerCloudwatchConfigurationLogStreamOutput { + return i.ToStaticWebLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) +} + +func (i StaticWebLayerCloudwatchConfigurationLogStreamArgs) ToStaticWebLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerCloudwatchConfigurationLogStreamOutput) +} + +// StaticWebLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts StaticWebLayerCloudwatchConfigurationLogStreamArray and StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput values. +// You can construct a concrete instance of `StaticWebLayerCloudwatchConfigurationLogStreamArrayInput` via: +// +// StaticWebLayerCloudwatchConfigurationLogStreamArray{ StaticWebLayerCloudwatchConfigurationLogStreamArgs{...} } +type StaticWebLayerCloudwatchConfigurationLogStreamArrayInput interface { + pulumi.Input + + ToStaticWebLayerCloudwatchConfigurationLogStreamArrayOutput() StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput + ToStaticWebLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput +} + +type StaticWebLayerCloudwatchConfigurationLogStreamArray []StaticWebLayerCloudwatchConfigurationLogStreamInput + +func (StaticWebLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]StaticWebLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (i StaticWebLayerCloudwatchConfigurationLogStreamArray) ToStaticWebLayerCloudwatchConfigurationLogStreamArrayOutput() StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput { + return i.ToStaticWebLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) +} + +func (i StaticWebLayerCloudwatchConfigurationLogStreamArray) ToStaticWebLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput) +} + +type StaticWebLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } + +func (StaticWebLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StaticWebLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) ToStaticWebLayerCloudwatchConfigurationLogStreamOutput() StaticWebLayerCloudwatchConfigurationLogStreamOutput { + return o +} + +func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) ToStaticWebLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationLogStreamOutput { + return o +} + +func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) +} + +func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) +} + +func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) +} + +func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) +} + +func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) +} + +func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { + return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) +} + +func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) +} + +func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) +} + +func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { + return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) +} + +func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) +} + +func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +} + +type StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } + +func (StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]StaticWebLayerCloudwatchConfigurationLogStream)(nil)).Elem() +} + +func (o StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput) ToStaticWebLayerCloudwatchConfigurationLogStreamArrayOutput() StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput { + return o +} + +func (o StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput) ToStaticWebLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput { + return o +} + +func (o StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) StaticWebLayerCloudwatchConfigurationLogStreamOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) StaticWebLayerCloudwatchConfigurationLogStream { + return vs[0].([]StaticWebLayerCloudwatchConfigurationLogStream)[vs[1].(int)] + }).(StaticWebLayerCloudwatchConfigurationLogStreamOutput) +} + +type StaticWebLayerEbsVolume struct { + Encrypted *bool `pulumi:"encrypted"` + // For PIOPS volumes, the IOPS per disk. + Iops *int `pulumi:"iops"` + // The path to mount the EBS volume on the layer's instances. + MountPoint string `pulumi:"mountPoint"` + // The number of disks to use for the EBS volume. + NumberOfDisks int `pulumi:"numberOfDisks"` + // The RAID level to use for the volume. + RaidLevel *string `pulumi:"raidLevel"` + // The size of the volume in gigabytes. + Size int `pulumi:"size"` + // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + Type *string `pulumi:"type"` } -// StackCustomCookbooksSourceInput is an input type that accepts StackCustomCookbooksSourceArgs and StackCustomCookbooksSourceOutput values. -// You can construct a concrete instance of `StackCustomCookbooksSourceInput` via: +// StaticWebLayerEbsVolumeInput is an input type that accepts StaticWebLayerEbsVolumeArgs and StaticWebLayerEbsVolumeOutput values. +// You can construct a concrete instance of `StaticWebLayerEbsVolumeInput` via: // -// StackCustomCookbooksSourceArgs{...} -type StackCustomCookbooksSourceInput interface { +// StaticWebLayerEbsVolumeArgs{...} +type StaticWebLayerEbsVolumeInput interface { pulumi.Input - ToStackCustomCookbooksSourceOutput() StackCustomCookbooksSourceOutput - ToStackCustomCookbooksSourceOutputWithContext(context.Context) StackCustomCookbooksSourceOutput + ToStaticWebLayerEbsVolumeOutput() StaticWebLayerEbsVolumeOutput + ToStaticWebLayerEbsVolumeOutputWithContext(context.Context) StaticWebLayerEbsVolumeOutput } -type StackCustomCookbooksSourceArgs struct { - // Password to use when authenticating to the source. The provider cannot perform drift detection of this configuration. - Password pulumi.StringPtrInput `pulumi:"password"` - // For sources that are version-aware, the revision to use. - Revision pulumi.StringPtrInput `pulumi:"revision"` - // SSH key to use when authenticating to the source. The provider cannot perform drift detection of this configuration. - SshKey pulumi.StringPtrInput `pulumi:"sshKey"` - // The type of source to use. For example, "archive". - Type pulumi.StringInput `pulumi:"type"` - // The URL where the cookbooks resource can be found. - Url pulumi.StringInput `pulumi:"url"` - // Username to use when authenticating to the source. - Username pulumi.StringPtrInput `pulumi:"username"` +type StaticWebLayerEbsVolumeArgs struct { + Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` + // For PIOPS volumes, the IOPS per disk. + Iops pulumi.IntPtrInput `pulumi:"iops"` + // The path to mount the EBS volume on the layer's instances. + MountPoint pulumi.StringInput `pulumi:"mountPoint"` + // The number of disks to use for the EBS volume. + NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"` + // The RAID level to use for the volume. + RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"` + // The size of the volume in gigabytes. + Size pulumi.IntInput `pulumi:"size"` + // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + Type pulumi.StringPtrInput `pulumi:"type"` } -func (StackCustomCookbooksSourceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StackCustomCookbooksSource)(nil)).Elem() +func (StaticWebLayerEbsVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StaticWebLayerEbsVolume)(nil)).Elem() } -func (i StackCustomCookbooksSourceArgs) ToStackCustomCookbooksSourceOutput() StackCustomCookbooksSourceOutput { - return i.ToStackCustomCookbooksSourceOutputWithContext(context.Background()) +func (i StaticWebLayerEbsVolumeArgs) ToStaticWebLayerEbsVolumeOutput() StaticWebLayerEbsVolumeOutput { + return i.ToStaticWebLayerEbsVolumeOutputWithContext(context.Background()) } -func (i StackCustomCookbooksSourceArgs) ToStackCustomCookbooksSourceOutputWithContext(ctx context.Context) StackCustomCookbooksSourceOutput { - return pulumi.ToOutputWithContext(ctx, i).(StackCustomCookbooksSourceOutput) +func (i StaticWebLayerEbsVolumeArgs) ToStaticWebLayerEbsVolumeOutputWithContext(ctx context.Context) StaticWebLayerEbsVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerEbsVolumeOutput) } -// StackCustomCookbooksSourceArrayInput is an input type that accepts StackCustomCookbooksSourceArray and StackCustomCookbooksSourceArrayOutput values. -// You can construct a concrete instance of `StackCustomCookbooksSourceArrayInput` via: +// StaticWebLayerEbsVolumeArrayInput is an input type that accepts StaticWebLayerEbsVolumeArray and StaticWebLayerEbsVolumeArrayOutput values. +// You can construct a concrete instance of `StaticWebLayerEbsVolumeArrayInput` via: // -// StackCustomCookbooksSourceArray{ StackCustomCookbooksSourceArgs{...} } -type StackCustomCookbooksSourceArrayInput interface { +// StaticWebLayerEbsVolumeArray{ StaticWebLayerEbsVolumeArgs{...} } +type StaticWebLayerEbsVolumeArrayInput interface { pulumi.Input - ToStackCustomCookbooksSourceArrayOutput() StackCustomCookbooksSourceArrayOutput - ToStackCustomCookbooksSourceArrayOutputWithContext(context.Context) StackCustomCookbooksSourceArrayOutput + ToStaticWebLayerEbsVolumeArrayOutput() StaticWebLayerEbsVolumeArrayOutput + ToStaticWebLayerEbsVolumeArrayOutputWithContext(context.Context) StaticWebLayerEbsVolumeArrayOutput } -type StackCustomCookbooksSourceArray []StackCustomCookbooksSourceInput +type StaticWebLayerEbsVolumeArray []StaticWebLayerEbsVolumeInput -func (StackCustomCookbooksSourceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]StackCustomCookbooksSource)(nil)).Elem() +func (StaticWebLayerEbsVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]StaticWebLayerEbsVolume)(nil)).Elem() } -func (i StackCustomCookbooksSourceArray) ToStackCustomCookbooksSourceArrayOutput() StackCustomCookbooksSourceArrayOutput { - return i.ToStackCustomCookbooksSourceArrayOutputWithContext(context.Background()) +func (i StaticWebLayerEbsVolumeArray) ToStaticWebLayerEbsVolumeArrayOutput() StaticWebLayerEbsVolumeArrayOutput { + return i.ToStaticWebLayerEbsVolumeArrayOutputWithContext(context.Background()) } -func (i StackCustomCookbooksSourceArray) ToStackCustomCookbooksSourceArrayOutputWithContext(ctx context.Context) StackCustomCookbooksSourceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(StackCustomCookbooksSourceArrayOutput) +func (i StaticWebLayerEbsVolumeArray) ToStaticWebLayerEbsVolumeArrayOutputWithContext(ctx context.Context) StaticWebLayerEbsVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerEbsVolumeArrayOutput) } -type StackCustomCookbooksSourceOutput struct{ *pulumi.OutputState } +type StaticWebLayerEbsVolumeOutput struct{ *pulumi.OutputState } -func (StackCustomCookbooksSourceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StackCustomCookbooksSource)(nil)).Elem() +func (StaticWebLayerEbsVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StaticWebLayerEbsVolume)(nil)).Elem() } -func (o StackCustomCookbooksSourceOutput) ToStackCustomCookbooksSourceOutput() StackCustomCookbooksSourceOutput { +func (o StaticWebLayerEbsVolumeOutput) ToStaticWebLayerEbsVolumeOutput() StaticWebLayerEbsVolumeOutput { return o } -func (o StackCustomCookbooksSourceOutput) ToStackCustomCookbooksSourceOutputWithContext(ctx context.Context) StackCustomCookbooksSourceOutput { +func (o StaticWebLayerEbsVolumeOutput) ToStaticWebLayerEbsVolumeOutputWithContext(ctx context.Context) StaticWebLayerEbsVolumeOutput { return o } -// Password to use when authenticating to the source. The provider cannot perform drift detection of this configuration. -func (o StackCustomCookbooksSourceOutput) Password() pulumi.StringPtrOutput { - return o.ApplyT(func(v StackCustomCookbooksSource) *string { return v.Password }).(pulumi.StringPtrOutput) +func (o StaticWebLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v StaticWebLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) } -// For sources that are version-aware, the revision to use. -func (o StackCustomCookbooksSourceOutput) Revision() pulumi.StringPtrOutput { - return o.ApplyT(func(v StackCustomCookbooksSource) *string { return v.Revision }).(pulumi.StringPtrOutput) +// For PIOPS volumes, the IOPS per disk. +func (o StaticWebLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v StaticWebLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) } -// SSH key to use when authenticating to the source. The provider cannot perform drift detection of this configuration. -func (o StackCustomCookbooksSourceOutput) SshKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v StackCustomCookbooksSource) *string { return v.SshKey }).(pulumi.StringPtrOutput) +// The path to mount the EBS volume on the layer's instances. +func (o StaticWebLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { + return o.ApplyT(func(v StaticWebLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) } -// The type of source to use. For example, "archive". -func (o StackCustomCookbooksSourceOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v StackCustomCookbooksSource) string { return v.Type }).(pulumi.StringOutput) +// The number of disks to use for the EBS volume. +func (o StaticWebLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { + return o.ApplyT(func(v StaticWebLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) } -// The URL where the cookbooks resource can be found. -func (o StackCustomCookbooksSourceOutput) Url() pulumi.StringOutput { - return o.ApplyT(func(v StackCustomCookbooksSource) string { return v.Url }).(pulumi.StringOutput) +// The RAID level to use for the volume. +func (o StaticWebLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticWebLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) } -// Username to use when authenticating to the source. -func (o StackCustomCookbooksSourceOutput) Username() pulumi.StringPtrOutput { - return o.ApplyT(func(v StackCustomCookbooksSource) *string { return v.Username }).(pulumi.StringPtrOutput) +// The size of the volume in gigabytes. +func (o StaticWebLayerEbsVolumeOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v StaticWebLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) } -type StackCustomCookbooksSourceArrayOutput struct{ *pulumi.OutputState } +// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. +func (o StaticWebLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticWebLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +} -func (StackCustomCookbooksSourceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]StackCustomCookbooksSource)(nil)).Elem() +type StaticWebLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } + +func (StaticWebLayerEbsVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]StaticWebLayerEbsVolume)(nil)).Elem() } -func (o StackCustomCookbooksSourceArrayOutput) ToStackCustomCookbooksSourceArrayOutput() StackCustomCookbooksSourceArrayOutput { +func (o StaticWebLayerEbsVolumeArrayOutput) ToStaticWebLayerEbsVolumeArrayOutput() StaticWebLayerEbsVolumeArrayOutput { return o } -func (o StackCustomCookbooksSourceArrayOutput) ToStackCustomCookbooksSourceArrayOutputWithContext(ctx context.Context) StackCustomCookbooksSourceArrayOutput { +func (o StaticWebLayerEbsVolumeArrayOutput) ToStaticWebLayerEbsVolumeArrayOutputWithContext(ctx context.Context) StaticWebLayerEbsVolumeArrayOutput { return o } -func (o StackCustomCookbooksSourceArrayOutput) Index(i pulumi.IntInput) StackCustomCookbooksSourceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) StackCustomCookbooksSource { - return vs[0].([]StackCustomCookbooksSource)[vs[1].(int)] - }).(StackCustomCookbooksSourceOutput) +func (o StaticWebLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) StaticWebLayerEbsVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) StaticWebLayerEbsVolume { + return vs[0].([]StaticWebLayerEbsVolume)[vs[1].(int)] + }).(StaticWebLayerEbsVolumeOutput) } -type StaticWebLayerCloudwatchConfiguration struct { - Enabled *bool `pulumi:"enabled"` - LogStreams []StaticWebLayerCloudwatchConfigurationLogStream `pulumi:"logStreams"` +type StaticWebLayerLoadBasedAutoScaling struct { + Downscaling *StaticWebLayerLoadBasedAutoScalingDownscaling `pulumi:"downscaling"` + Enable *bool `pulumi:"enable"` + Upscaling *StaticWebLayerLoadBasedAutoScalingUpscaling `pulumi:"upscaling"` } -// StaticWebLayerCloudwatchConfigurationInput is an input type that accepts StaticWebLayerCloudwatchConfigurationArgs and StaticWebLayerCloudwatchConfigurationOutput values. -// You can construct a concrete instance of `StaticWebLayerCloudwatchConfigurationInput` via: +// StaticWebLayerLoadBasedAutoScalingInput is an input type that accepts StaticWebLayerLoadBasedAutoScalingArgs and StaticWebLayerLoadBasedAutoScalingOutput values. +// You can construct a concrete instance of `StaticWebLayerLoadBasedAutoScalingInput` via: // -// StaticWebLayerCloudwatchConfigurationArgs{...} -type StaticWebLayerCloudwatchConfigurationInput interface { +// StaticWebLayerLoadBasedAutoScalingArgs{...} +type StaticWebLayerLoadBasedAutoScalingInput interface { pulumi.Input - ToStaticWebLayerCloudwatchConfigurationOutput() StaticWebLayerCloudwatchConfigurationOutput - ToStaticWebLayerCloudwatchConfigurationOutputWithContext(context.Context) StaticWebLayerCloudwatchConfigurationOutput + ToStaticWebLayerLoadBasedAutoScalingOutput() StaticWebLayerLoadBasedAutoScalingOutput + ToStaticWebLayerLoadBasedAutoScalingOutputWithContext(context.Context) StaticWebLayerLoadBasedAutoScalingOutput } -type StaticWebLayerCloudwatchConfigurationArgs struct { - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - LogStreams StaticWebLayerCloudwatchConfigurationLogStreamArrayInput `pulumi:"logStreams"` +type StaticWebLayerLoadBasedAutoScalingArgs struct { + Downscaling StaticWebLayerLoadBasedAutoScalingDownscalingPtrInput `pulumi:"downscaling"` + Enable pulumi.BoolPtrInput `pulumi:"enable"` + Upscaling StaticWebLayerLoadBasedAutoScalingUpscalingPtrInput `pulumi:"upscaling"` } -func (StaticWebLayerCloudwatchConfigurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StaticWebLayerCloudwatchConfiguration)(nil)).Elem() +func (StaticWebLayerLoadBasedAutoScalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StaticWebLayerLoadBasedAutoScaling)(nil)).Elem() } -func (i StaticWebLayerCloudwatchConfigurationArgs) ToStaticWebLayerCloudwatchConfigurationOutput() StaticWebLayerCloudwatchConfigurationOutput { - return i.ToStaticWebLayerCloudwatchConfigurationOutputWithContext(context.Background()) +func (i StaticWebLayerLoadBasedAutoScalingArgs) ToStaticWebLayerLoadBasedAutoScalingOutput() StaticWebLayerLoadBasedAutoScalingOutput { + return i.ToStaticWebLayerLoadBasedAutoScalingOutputWithContext(context.Background()) } -func (i StaticWebLayerCloudwatchConfigurationArgs) ToStaticWebLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerCloudwatchConfigurationOutput) +func (i StaticWebLayerLoadBasedAutoScalingArgs) ToStaticWebLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerLoadBasedAutoScalingOutput) } -func (i StaticWebLayerCloudwatchConfigurationArgs) ToStaticWebLayerCloudwatchConfigurationPtrOutput() StaticWebLayerCloudwatchConfigurationPtrOutput { - return i.ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (i StaticWebLayerLoadBasedAutoScalingArgs) ToStaticWebLayerLoadBasedAutoScalingPtrOutput() StaticWebLayerLoadBasedAutoScalingPtrOutput { + return i.ToStaticWebLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) } -func (i StaticWebLayerCloudwatchConfigurationArgs) ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerCloudwatchConfigurationOutput).ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(ctx) +func (i StaticWebLayerLoadBasedAutoScalingArgs) ToStaticWebLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerLoadBasedAutoScalingOutput).ToStaticWebLayerLoadBasedAutoScalingPtrOutputWithContext(ctx) } -// StaticWebLayerCloudwatchConfigurationPtrInput is an input type that accepts StaticWebLayerCloudwatchConfigurationArgs, StaticWebLayerCloudwatchConfigurationPtr and StaticWebLayerCloudwatchConfigurationPtrOutput values. -// You can construct a concrete instance of `StaticWebLayerCloudwatchConfigurationPtrInput` via: +// StaticWebLayerLoadBasedAutoScalingPtrInput is an input type that accepts StaticWebLayerLoadBasedAutoScalingArgs, StaticWebLayerLoadBasedAutoScalingPtr and StaticWebLayerLoadBasedAutoScalingPtrOutput values. +// You can construct a concrete instance of `StaticWebLayerLoadBasedAutoScalingPtrInput` via: // -// StaticWebLayerCloudwatchConfigurationArgs{...} +// StaticWebLayerLoadBasedAutoScalingArgs{...} // // or: // // nil -type StaticWebLayerCloudwatchConfigurationPtrInput interface { +type StaticWebLayerLoadBasedAutoScalingPtrInput interface { pulumi.Input - ToStaticWebLayerCloudwatchConfigurationPtrOutput() StaticWebLayerCloudwatchConfigurationPtrOutput - ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(context.Context) StaticWebLayerCloudwatchConfigurationPtrOutput + ToStaticWebLayerLoadBasedAutoScalingPtrOutput() StaticWebLayerLoadBasedAutoScalingPtrOutput + ToStaticWebLayerLoadBasedAutoScalingPtrOutputWithContext(context.Context) StaticWebLayerLoadBasedAutoScalingPtrOutput } -type staticWebLayerCloudwatchConfigurationPtrType StaticWebLayerCloudwatchConfigurationArgs +type staticWebLayerLoadBasedAutoScalingPtrType StaticWebLayerLoadBasedAutoScalingArgs -func StaticWebLayerCloudwatchConfigurationPtr(v *StaticWebLayerCloudwatchConfigurationArgs) StaticWebLayerCloudwatchConfigurationPtrInput { - return (*staticWebLayerCloudwatchConfigurationPtrType)(v) +func StaticWebLayerLoadBasedAutoScalingPtr(v *StaticWebLayerLoadBasedAutoScalingArgs) StaticWebLayerLoadBasedAutoScalingPtrInput { + return (*staticWebLayerLoadBasedAutoScalingPtrType)(v) } -func (*staticWebLayerCloudwatchConfigurationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**StaticWebLayerCloudwatchConfiguration)(nil)).Elem() +func (*staticWebLayerLoadBasedAutoScalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StaticWebLayerLoadBasedAutoScaling)(nil)).Elem() } -func (i *staticWebLayerCloudwatchConfigurationPtrType) ToStaticWebLayerCloudwatchConfigurationPtrOutput() StaticWebLayerCloudwatchConfigurationPtrOutput { - return i.ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (i *staticWebLayerLoadBasedAutoScalingPtrType) ToStaticWebLayerLoadBasedAutoScalingPtrOutput() StaticWebLayerLoadBasedAutoScalingPtrOutput { + return i.ToStaticWebLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) } -func (i *staticWebLayerCloudwatchConfigurationPtrType) ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerCloudwatchConfigurationPtrOutput) +func (i *staticWebLayerLoadBasedAutoScalingPtrType) ToStaticWebLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerLoadBasedAutoScalingPtrOutput) } -type StaticWebLayerCloudwatchConfigurationOutput struct{ *pulumi.OutputState } +type StaticWebLayerLoadBasedAutoScalingOutput struct{ *pulumi.OutputState } -func (StaticWebLayerCloudwatchConfigurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StaticWebLayerCloudwatchConfiguration)(nil)).Elem() +func (StaticWebLayerLoadBasedAutoScalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StaticWebLayerLoadBasedAutoScaling)(nil)).Elem() } -func (o StaticWebLayerCloudwatchConfigurationOutput) ToStaticWebLayerCloudwatchConfigurationOutput() StaticWebLayerCloudwatchConfigurationOutput { +func (o StaticWebLayerLoadBasedAutoScalingOutput) ToStaticWebLayerLoadBasedAutoScalingOutput() StaticWebLayerLoadBasedAutoScalingOutput { return o } -func (o StaticWebLayerCloudwatchConfigurationOutput) ToStaticWebLayerCloudwatchConfigurationOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationOutput { +func (o StaticWebLayerLoadBasedAutoScalingOutput) ToStaticWebLayerLoadBasedAutoScalingOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingOutput { return o } -func (o StaticWebLayerCloudwatchConfigurationOutput) ToStaticWebLayerCloudwatchConfigurationPtrOutput() StaticWebLayerCloudwatchConfigurationPtrOutput { - return o.ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(context.Background()) +func (o StaticWebLayerLoadBasedAutoScalingOutput) ToStaticWebLayerLoadBasedAutoScalingPtrOutput() StaticWebLayerLoadBasedAutoScalingPtrOutput { + return o.ToStaticWebLayerLoadBasedAutoScalingPtrOutputWithContext(context.Background()) } -func (o StaticWebLayerCloudwatchConfigurationOutput) ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StaticWebLayerCloudwatchConfiguration) *StaticWebLayerCloudwatchConfiguration { +func (o StaticWebLayerLoadBasedAutoScalingOutput) ToStaticWebLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StaticWebLayerLoadBasedAutoScaling) *StaticWebLayerLoadBasedAutoScaling { return &v - }).(StaticWebLayerCloudwatchConfigurationPtrOutput) + }).(StaticWebLayerLoadBasedAutoScalingPtrOutput) } -func (o StaticWebLayerCloudwatchConfigurationOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v StaticWebLayerCloudwatchConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +func (o StaticWebLayerLoadBasedAutoScalingOutput) Downscaling() StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v StaticWebLayerLoadBasedAutoScaling) *StaticWebLayerLoadBasedAutoScalingDownscaling { + return v.Downscaling + }).(StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput) } -func (o StaticWebLayerCloudwatchConfigurationOutput) LogStreams() StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v StaticWebLayerCloudwatchConfiguration) []StaticWebLayerCloudwatchConfigurationLogStream { - return v.LogStreams - }).(StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput) +func (o StaticWebLayerLoadBasedAutoScalingOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v StaticWebLayerLoadBasedAutoScaling) *bool { return v.Enable }).(pulumi.BoolPtrOutput) } -type StaticWebLayerCloudwatchConfigurationPtrOutput struct{ *pulumi.OutputState } +func (o StaticWebLayerLoadBasedAutoScalingOutput) Upscaling() StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v StaticWebLayerLoadBasedAutoScaling) *StaticWebLayerLoadBasedAutoScalingUpscaling { + return v.Upscaling + }).(StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput) +} -func (StaticWebLayerCloudwatchConfigurationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StaticWebLayerCloudwatchConfiguration)(nil)).Elem() +type StaticWebLayerLoadBasedAutoScalingPtrOutput struct{ *pulumi.OutputState } + +func (StaticWebLayerLoadBasedAutoScalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StaticWebLayerLoadBasedAutoScaling)(nil)).Elem() } -func (o StaticWebLayerCloudwatchConfigurationPtrOutput) ToStaticWebLayerCloudwatchConfigurationPtrOutput() StaticWebLayerCloudwatchConfigurationPtrOutput { +func (o StaticWebLayerLoadBasedAutoScalingPtrOutput) ToStaticWebLayerLoadBasedAutoScalingPtrOutput() StaticWebLayerLoadBasedAutoScalingPtrOutput { return o } -func (o StaticWebLayerCloudwatchConfigurationPtrOutput) ToStaticWebLayerCloudwatchConfigurationPtrOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationPtrOutput { +func (o StaticWebLayerLoadBasedAutoScalingPtrOutput) ToStaticWebLayerLoadBasedAutoScalingPtrOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingPtrOutput { return o } -func (o StaticWebLayerCloudwatchConfigurationPtrOutput) Elem() StaticWebLayerCloudwatchConfigurationOutput { - return o.ApplyT(func(v *StaticWebLayerCloudwatchConfiguration) StaticWebLayerCloudwatchConfiguration { +func (o StaticWebLayerLoadBasedAutoScalingPtrOutput) Elem() StaticWebLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScaling) StaticWebLayerLoadBasedAutoScaling { if v != nil { return *v } - var ret StaticWebLayerCloudwatchConfiguration + var ret StaticWebLayerLoadBasedAutoScaling return ret - }).(StaticWebLayerCloudwatchConfigurationOutput) + }).(StaticWebLayerLoadBasedAutoScalingOutput) } -func (o StaticWebLayerCloudwatchConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *StaticWebLayerCloudwatchConfiguration) *bool { +func (o StaticWebLayerLoadBasedAutoScalingPtrOutput) Downscaling() StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScaling) *StaticWebLayerLoadBasedAutoScalingDownscaling { if v == nil { return nil } - return v.Enabled + return v.Downscaling + }).(StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput) +} + +func (o StaticWebLayerLoadBasedAutoScalingPtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScaling) *bool { + if v == nil { + return nil + } + return v.Enable }).(pulumi.BoolPtrOutput) } -func (o StaticWebLayerCloudwatchConfigurationPtrOutput) LogStreams() StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput { - return o.ApplyT(func(v *StaticWebLayerCloudwatchConfiguration) []StaticWebLayerCloudwatchConfigurationLogStream { +func (o StaticWebLayerLoadBasedAutoScalingPtrOutput) Upscaling() StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScaling) *StaticWebLayerLoadBasedAutoScalingUpscaling { if v == nil { return nil } - return v.LogStreams - }).(StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput) + return v.Upscaling + }).(StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput) } -type StaticWebLayerCloudwatchConfigurationLogStream struct { - BatchCount *int `pulumi:"batchCount"` - BatchSize *int `pulumi:"batchSize"` - BufferDuration *int `pulumi:"bufferDuration"` - DatetimeFormat *string `pulumi:"datetimeFormat"` - Encoding *string `pulumi:"encoding"` - File string `pulumi:"file"` - FileFingerprintLines *string `pulumi:"fileFingerprintLines"` - InitialPosition *string `pulumi:"initialPosition"` - LogGroupName string `pulumi:"logGroupName"` - MultilineStartPattern *string `pulumi:"multilineStartPattern"` - TimeZone *string `pulumi:"timeZone"` +type StaticWebLayerLoadBasedAutoScalingDownscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` } -// StaticWebLayerCloudwatchConfigurationLogStreamInput is an input type that accepts StaticWebLayerCloudwatchConfigurationLogStreamArgs and StaticWebLayerCloudwatchConfigurationLogStreamOutput values. -// You can construct a concrete instance of `StaticWebLayerCloudwatchConfigurationLogStreamInput` via: +// StaticWebLayerLoadBasedAutoScalingDownscalingInput is an input type that accepts StaticWebLayerLoadBasedAutoScalingDownscalingArgs and StaticWebLayerLoadBasedAutoScalingDownscalingOutput values. +// You can construct a concrete instance of `StaticWebLayerLoadBasedAutoScalingDownscalingInput` via: // -// StaticWebLayerCloudwatchConfigurationLogStreamArgs{...} -type StaticWebLayerCloudwatchConfigurationLogStreamInput interface { +// StaticWebLayerLoadBasedAutoScalingDownscalingArgs{...} +type StaticWebLayerLoadBasedAutoScalingDownscalingInput interface { pulumi.Input - ToStaticWebLayerCloudwatchConfigurationLogStreamOutput() StaticWebLayerCloudwatchConfigurationLogStreamOutput - ToStaticWebLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Context) StaticWebLayerCloudwatchConfigurationLogStreamOutput + ToStaticWebLayerLoadBasedAutoScalingDownscalingOutput() StaticWebLayerLoadBasedAutoScalingDownscalingOutput + ToStaticWebLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Context) StaticWebLayerLoadBasedAutoScalingDownscalingOutput +} + +type StaticWebLayerLoadBasedAutoScalingDownscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` +} + +func (StaticWebLayerLoadBasedAutoScalingDownscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StaticWebLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -type StaticWebLayerCloudwatchConfigurationLogStreamArgs struct { - BatchCount pulumi.IntPtrInput `pulumi:"batchCount"` - BatchSize pulumi.IntPtrInput `pulumi:"batchSize"` - BufferDuration pulumi.IntPtrInput `pulumi:"bufferDuration"` - DatetimeFormat pulumi.StringPtrInput `pulumi:"datetimeFormat"` - Encoding pulumi.StringPtrInput `pulumi:"encoding"` - File pulumi.StringInput `pulumi:"file"` - FileFingerprintLines pulumi.StringPtrInput `pulumi:"fileFingerprintLines"` - InitialPosition pulumi.StringPtrInput `pulumi:"initialPosition"` - LogGroupName pulumi.StringInput `pulumi:"logGroupName"` - MultilineStartPattern pulumi.StringPtrInput `pulumi:"multilineStartPattern"` - TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +func (i StaticWebLayerLoadBasedAutoScalingDownscalingArgs) ToStaticWebLayerLoadBasedAutoScalingDownscalingOutput() StaticWebLayerLoadBasedAutoScalingDownscalingOutput { + return i.ToStaticWebLayerLoadBasedAutoScalingDownscalingOutputWithContext(context.Background()) } -func (StaticWebLayerCloudwatchConfigurationLogStreamArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StaticWebLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (i StaticWebLayerLoadBasedAutoScalingDownscalingArgs) ToStaticWebLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingDownscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerLoadBasedAutoScalingDownscalingOutput) } -func (i StaticWebLayerCloudwatchConfigurationLogStreamArgs) ToStaticWebLayerCloudwatchConfigurationLogStreamOutput() StaticWebLayerCloudwatchConfigurationLogStreamOutput { - return i.ToStaticWebLayerCloudwatchConfigurationLogStreamOutputWithContext(context.Background()) +func (i StaticWebLayerLoadBasedAutoScalingDownscalingArgs) ToStaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput() StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToStaticWebLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) } -func (i StaticWebLayerCloudwatchConfigurationLogStreamArgs) ToStaticWebLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerCloudwatchConfigurationLogStreamOutput) +func (i StaticWebLayerLoadBasedAutoScalingDownscalingArgs) ToStaticWebLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerLoadBasedAutoScalingDownscalingOutput).ToStaticWebLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx) } -// StaticWebLayerCloudwatchConfigurationLogStreamArrayInput is an input type that accepts StaticWebLayerCloudwatchConfigurationLogStreamArray and StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput values. -// You can construct a concrete instance of `StaticWebLayerCloudwatchConfigurationLogStreamArrayInput` via: +// StaticWebLayerLoadBasedAutoScalingDownscalingPtrInput is an input type that accepts StaticWebLayerLoadBasedAutoScalingDownscalingArgs, StaticWebLayerLoadBasedAutoScalingDownscalingPtr and StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput values. +// You can construct a concrete instance of `StaticWebLayerLoadBasedAutoScalingDownscalingPtrInput` via: // -// StaticWebLayerCloudwatchConfigurationLogStreamArray{ StaticWebLayerCloudwatchConfigurationLogStreamArgs{...} } -type StaticWebLayerCloudwatchConfigurationLogStreamArrayInput interface { +// StaticWebLayerLoadBasedAutoScalingDownscalingArgs{...} +// +// or: +// +// nil +type StaticWebLayerLoadBasedAutoScalingDownscalingPtrInput interface { pulumi.Input - ToStaticWebLayerCloudwatchConfigurationLogStreamArrayOutput() StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput - ToStaticWebLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Context) StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput + ToStaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput() StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput + ToStaticWebLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Context) StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput } -type StaticWebLayerCloudwatchConfigurationLogStreamArray []StaticWebLayerCloudwatchConfigurationLogStreamInput +type staticWebLayerLoadBasedAutoScalingDownscalingPtrType StaticWebLayerLoadBasedAutoScalingDownscalingArgs -func (StaticWebLayerCloudwatchConfigurationLogStreamArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]StaticWebLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func StaticWebLayerLoadBasedAutoScalingDownscalingPtr(v *StaticWebLayerLoadBasedAutoScalingDownscalingArgs) StaticWebLayerLoadBasedAutoScalingDownscalingPtrInput { + return (*staticWebLayerLoadBasedAutoScalingDownscalingPtrType)(v) } -func (i StaticWebLayerCloudwatchConfigurationLogStreamArray) ToStaticWebLayerCloudwatchConfigurationLogStreamArrayOutput() StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput { - return i.ToStaticWebLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(context.Background()) +func (*staticWebLayerLoadBasedAutoScalingDownscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StaticWebLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (i StaticWebLayerCloudwatchConfigurationLogStreamArray) ToStaticWebLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput) +func (i *staticWebLayerLoadBasedAutoScalingDownscalingPtrType) ToStaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput() StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput { + return i.ToStaticWebLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) } -type StaticWebLayerCloudwatchConfigurationLogStreamOutput struct{ *pulumi.OutputState } +func (i *staticWebLayerLoadBasedAutoScalingDownscalingPtrType) ToStaticWebLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput) +} -func (StaticWebLayerCloudwatchConfigurationLogStreamOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StaticWebLayerCloudwatchConfigurationLogStream)(nil)).Elem() +type StaticWebLayerLoadBasedAutoScalingDownscalingOutput struct{ *pulumi.OutputState } + +func (StaticWebLayerLoadBasedAutoScalingDownscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StaticWebLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) ToStaticWebLayerCloudwatchConfigurationLogStreamOutput() StaticWebLayerCloudwatchConfigurationLogStreamOutput { +func (o StaticWebLayerLoadBasedAutoScalingDownscalingOutput) ToStaticWebLayerLoadBasedAutoScalingDownscalingOutput() StaticWebLayerLoadBasedAutoScalingDownscalingOutput { return o } -func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) ToStaticWebLayerCloudwatchConfigurationLogStreamOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationLogStreamOutput { +func (o StaticWebLayerLoadBasedAutoScalingDownscalingOutput) ToStaticWebLayerLoadBasedAutoScalingDownscalingOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingDownscalingOutput { return o } -func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) BatchCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *int { return v.BatchCount }).(pulumi.IntPtrOutput) +func (o StaticWebLayerLoadBasedAutoScalingDownscalingOutput) ToStaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput() StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ToStaticWebLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(context.Background()) } -func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) BatchSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *int { return v.BatchSize }).(pulumi.IntPtrOutput) +func (o StaticWebLayerLoadBasedAutoScalingDownscalingOutput) ToStaticWebLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StaticWebLayerLoadBasedAutoScalingDownscaling) *StaticWebLayerLoadBasedAutoScalingDownscaling { + return &v + }).(StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput) } -func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) BufferDuration() pulumi.IntPtrOutput { - return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *int { return v.BufferDuration }).(pulumi.IntPtrOutput) +func (o StaticWebLayerLoadBasedAutoScalingDownscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v StaticWebLayerLoadBasedAutoScalingDownscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) } -func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) DatetimeFormat() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *string { return v.DatetimeFormat }).(pulumi.StringPtrOutput) +func (o StaticWebLayerLoadBasedAutoScalingDownscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v StaticWebLayerLoadBasedAutoScalingDownscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) } -func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) Encoding() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *string { return v.Encoding }).(pulumi.StringPtrOutput) +func (o StaticWebLayerLoadBasedAutoScalingDownscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v StaticWebLayerLoadBasedAutoScalingDownscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) } -func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) File() pulumi.StringOutput { - return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) string { return v.File }).(pulumi.StringOutput) +func (o StaticWebLayerLoadBasedAutoScalingDownscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v StaticWebLayerLoadBasedAutoScalingDownscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) } -func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) FileFingerprintLines() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *string { return v.FileFingerprintLines }).(pulumi.StringPtrOutput) +func (o StaticWebLayerLoadBasedAutoScalingDownscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v StaticWebLayerLoadBasedAutoScalingDownscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) } -func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) InitialPosition() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *string { return v.InitialPosition }).(pulumi.StringPtrOutput) +func (o StaticWebLayerLoadBasedAutoScalingDownscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v StaticWebLayerLoadBasedAutoScalingDownscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) } -func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) LogGroupName() pulumi.StringOutput { - return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) string { return v.LogGroupName }).(pulumi.StringOutput) +func (o StaticWebLayerLoadBasedAutoScalingDownscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v StaticWebLayerLoadBasedAutoScalingDownscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) } -func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) MultilineStartPattern() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *string { return v.MultilineStartPattern }).(pulumi.StringPtrOutput) +type StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput struct{ *pulumi.OutputState } + +func (StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StaticWebLayerLoadBasedAutoScalingDownscaling)(nil)).Elem() } -func (o StaticWebLayerCloudwatchConfigurationLogStreamOutput) TimeZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticWebLayerCloudwatchConfigurationLogStream) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +func (o StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput) ToStaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput() StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o } -type StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput struct{ *pulumi.OutputState } +func (o StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput) ToStaticWebLayerLoadBasedAutoScalingDownscalingPtrOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput { + return o +} -func (StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]StaticWebLayerCloudwatchConfigurationLogStream)(nil)).Elem() +func (o StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput) Elem() StaticWebLayerLoadBasedAutoScalingDownscalingOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScalingDownscaling) StaticWebLayerLoadBasedAutoScalingDownscaling { + if v != nil { + return *v + } + var ret StaticWebLayerLoadBasedAutoScalingDownscaling + return ret + }).(StaticWebLayerLoadBasedAutoScalingDownscalingOutput) } -func (o StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput) ToStaticWebLayerCloudwatchConfigurationLogStreamArrayOutput() StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput { - return o +func (o StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScalingDownscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) } -func (o StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput) ToStaticWebLayerCloudwatchConfigurationLogStreamArrayOutputWithContext(ctx context.Context) StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput { - return o +func (o StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) } -func (o StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput) Index(i pulumi.IntInput) StaticWebLayerCloudwatchConfigurationLogStreamOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) StaticWebLayerCloudwatchConfigurationLogStream { - return vs[0].([]StaticWebLayerCloudwatchConfigurationLogStream)[vs[1].(int)] - }).(StaticWebLayerCloudwatchConfigurationLogStreamOutput) +func (o StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) } -type StaticWebLayerEbsVolume struct { - Encrypted *bool `pulumi:"encrypted"` - // For PIOPS volumes, the IOPS per disk. - Iops *int `pulumi:"iops"` - // The path to mount the EBS volume on the layer's instances. - MountPoint string `pulumi:"mountPoint"` - // The number of disks to use for the EBS volume. - NumberOfDisks int `pulumi:"numberOfDisks"` - // The RAID level to use for the volume. - RaidLevel *string `pulumi:"raidLevel"` - // The size of the volume in gigabytes. - Size int `pulumi:"size"` - // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - Type *string `pulumi:"type"` +func (o StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) } -// StaticWebLayerEbsVolumeInput is an input type that accepts StaticWebLayerEbsVolumeArgs and StaticWebLayerEbsVolumeOutput values. -// You can construct a concrete instance of `StaticWebLayerEbsVolumeInput` via: +func (o StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScalingDownscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScalingDownscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) +} + +type StaticWebLayerLoadBasedAutoScalingUpscaling struct { + Alarms []string `pulumi:"alarms"` + CpuThreshold *float64 `pulumi:"cpuThreshold"` + IgnoreMetricsTime *int `pulumi:"ignoreMetricsTime"` + InstanceCount *int `pulumi:"instanceCount"` + LoadThreshold *float64 `pulumi:"loadThreshold"` + MemoryThreshold *float64 `pulumi:"memoryThreshold"` + ThresholdsWaitTime *int `pulumi:"thresholdsWaitTime"` +} + +// StaticWebLayerLoadBasedAutoScalingUpscalingInput is an input type that accepts StaticWebLayerLoadBasedAutoScalingUpscalingArgs and StaticWebLayerLoadBasedAutoScalingUpscalingOutput values. +// You can construct a concrete instance of `StaticWebLayerLoadBasedAutoScalingUpscalingInput` via: // -// StaticWebLayerEbsVolumeArgs{...} -type StaticWebLayerEbsVolumeInput interface { +// StaticWebLayerLoadBasedAutoScalingUpscalingArgs{...} +type StaticWebLayerLoadBasedAutoScalingUpscalingInput interface { pulumi.Input - ToStaticWebLayerEbsVolumeOutput() StaticWebLayerEbsVolumeOutput - ToStaticWebLayerEbsVolumeOutputWithContext(context.Context) StaticWebLayerEbsVolumeOutput + ToStaticWebLayerLoadBasedAutoScalingUpscalingOutput() StaticWebLayerLoadBasedAutoScalingUpscalingOutput + ToStaticWebLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Context) StaticWebLayerLoadBasedAutoScalingUpscalingOutput } -type StaticWebLayerEbsVolumeArgs struct { - Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` - // For PIOPS volumes, the IOPS per disk. - Iops pulumi.IntPtrInput `pulumi:"iops"` - // The path to mount the EBS volume on the layer's instances. - MountPoint pulumi.StringInput `pulumi:"mountPoint"` - // The number of disks to use for the EBS volume. - NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"` - // The RAID level to use for the volume. - RaidLevel pulumi.StringPtrInput `pulumi:"raidLevel"` - // The size of the volume in gigabytes. - Size pulumi.IntInput `pulumi:"size"` - // The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - Type pulumi.StringPtrInput `pulumi:"type"` +type StaticWebLayerLoadBasedAutoScalingUpscalingArgs struct { + Alarms pulumi.StringArrayInput `pulumi:"alarms"` + CpuThreshold pulumi.Float64PtrInput `pulumi:"cpuThreshold"` + IgnoreMetricsTime pulumi.IntPtrInput `pulumi:"ignoreMetricsTime"` + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + LoadThreshold pulumi.Float64PtrInput `pulumi:"loadThreshold"` + MemoryThreshold pulumi.Float64PtrInput `pulumi:"memoryThreshold"` + ThresholdsWaitTime pulumi.IntPtrInput `pulumi:"thresholdsWaitTime"` } -func (StaticWebLayerEbsVolumeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StaticWebLayerEbsVolume)(nil)).Elem() +func (StaticWebLayerLoadBasedAutoScalingUpscalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StaticWebLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() } -func (i StaticWebLayerEbsVolumeArgs) ToStaticWebLayerEbsVolumeOutput() StaticWebLayerEbsVolumeOutput { - return i.ToStaticWebLayerEbsVolumeOutputWithContext(context.Background()) +func (i StaticWebLayerLoadBasedAutoScalingUpscalingArgs) ToStaticWebLayerLoadBasedAutoScalingUpscalingOutput() StaticWebLayerLoadBasedAutoScalingUpscalingOutput { + return i.ToStaticWebLayerLoadBasedAutoScalingUpscalingOutputWithContext(context.Background()) } -func (i StaticWebLayerEbsVolumeArgs) ToStaticWebLayerEbsVolumeOutputWithContext(ctx context.Context) StaticWebLayerEbsVolumeOutput { - return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerEbsVolumeOutput) +func (i StaticWebLayerLoadBasedAutoScalingUpscalingArgs) ToStaticWebLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingUpscalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerLoadBasedAutoScalingUpscalingOutput) } -// StaticWebLayerEbsVolumeArrayInput is an input type that accepts StaticWebLayerEbsVolumeArray and StaticWebLayerEbsVolumeArrayOutput values. -// You can construct a concrete instance of `StaticWebLayerEbsVolumeArrayInput` via: +func (i StaticWebLayerLoadBasedAutoScalingUpscalingArgs) ToStaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput() StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToStaticWebLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) +} + +func (i StaticWebLayerLoadBasedAutoScalingUpscalingArgs) ToStaticWebLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerLoadBasedAutoScalingUpscalingOutput).ToStaticWebLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx) +} + +// StaticWebLayerLoadBasedAutoScalingUpscalingPtrInput is an input type that accepts StaticWebLayerLoadBasedAutoScalingUpscalingArgs, StaticWebLayerLoadBasedAutoScalingUpscalingPtr and StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput values. +// You can construct a concrete instance of `StaticWebLayerLoadBasedAutoScalingUpscalingPtrInput` via: // -// StaticWebLayerEbsVolumeArray{ StaticWebLayerEbsVolumeArgs{...} } -type StaticWebLayerEbsVolumeArrayInput interface { +// StaticWebLayerLoadBasedAutoScalingUpscalingArgs{...} +// +// or: +// +// nil +type StaticWebLayerLoadBasedAutoScalingUpscalingPtrInput interface { pulumi.Input - ToStaticWebLayerEbsVolumeArrayOutput() StaticWebLayerEbsVolumeArrayOutput - ToStaticWebLayerEbsVolumeArrayOutputWithContext(context.Context) StaticWebLayerEbsVolumeArrayOutput + ToStaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput() StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput + ToStaticWebLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Context) StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput } -type StaticWebLayerEbsVolumeArray []StaticWebLayerEbsVolumeInput +type staticWebLayerLoadBasedAutoScalingUpscalingPtrType StaticWebLayerLoadBasedAutoScalingUpscalingArgs -func (StaticWebLayerEbsVolumeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]StaticWebLayerEbsVolume)(nil)).Elem() +func StaticWebLayerLoadBasedAutoScalingUpscalingPtr(v *StaticWebLayerLoadBasedAutoScalingUpscalingArgs) StaticWebLayerLoadBasedAutoScalingUpscalingPtrInput { + return (*staticWebLayerLoadBasedAutoScalingUpscalingPtrType)(v) } -func (i StaticWebLayerEbsVolumeArray) ToStaticWebLayerEbsVolumeArrayOutput() StaticWebLayerEbsVolumeArrayOutput { - return i.ToStaticWebLayerEbsVolumeArrayOutputWithContext(context.Background()) +func (*staticWebLayerLoadBasedAutoScalingUpscalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StaticWebLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() } -func (i StaticWebLayerEbsVolumeArray) ToStaticWebLayerEbsVolumeArrayOutputWithContext(ctx context.Context) StaticWebLayerEbsVolumeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerEbsVolumeArrayOutput) +func (i *staticWebLayerLoadBasedAutoScalingUpscalingPtrType) ToStaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput() StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput { + return i.ToStaticWebLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) } -type StaticWebLayerEbsVolumeOutput struct{ *pulumi.OutputState } +func (i *staticWebLayerLoadBasedAutoScalingUpscalingPtrType) ToStaticWebLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput) +} -func (StaticWebLayerEbsVolumeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StaticWebLayerEbsVolume)(nil)).Elem() +type StaticWebLayerLoadBasedAutoScalingUpscalingOutput struct{ *pulumi.OutputState } + +func (StaticWebLayerLoadBasedAutoScalingUpscalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StaticWebLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() } -func (o StaticWebLayerEbsVolumeOutput) ToStaticWebLayerEbsVolumeOutput() StaticWebLayerEbsVolumeOutput { +func (o StaticWebLayerLoadBasedAutoScalingUpscalingOutput) ToStaticWebLayerLoadBasedAutoScalingUpscalingOutput() StaticWebLayerLoadBasedAutoScalingUpscalingOutput { return o } -func (o StaticWebLayerEbsVolumeOutput) ToStaticWebLayerEbsVolumeOutputWithContext(ctx context.Context) StaticWebLayerEbsVolumeOutput { +func (o StaticWebLayerLoadBasedAutoScalingUpscalingOutput) ToStaticWebLayerLoadBasedAutoScalingUpscalingOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingUpscalingOutput { return o } -func (o StaticWebLayerEbsVolumeOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v StaticWebLayerEbsVolume) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +func (o StaticWebLayerLoadBasedAutoScalingUpscalingOutput) ToStaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput() StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ToStaticWebLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(context.Background()) } -// For PIOPS volumes, the IOPS per disk. -func (o StaticWebLayerEbsVolumeOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v StaticWebLayerEbsVolume) *int { return v.Iops }).(pulumi.IntPtrOutput) +func (o StaticWebLayerLoadBasedAutoScalingUpscalingOutput) ToStaticWebLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StaticWebLayerLoadBasedAutoScalingUpscaling) *StaticWebLayerLoadBasedAutoScalingUpscaling { + return &v + }).(StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput) } -// The path to mount the EBS volume on the layer's instances. -func (o StaticWebLayerEbsVolumeOutput) MountPoint() pulumi.StringOutput { - return o.ApplyT(func(v StaticWebLayerEbsVolume) string { return v.MountPoint }).(pulumi.StringOutput) +func (o StaticWebLayerLoadBasedAutoScalingUpscalingOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v StaticWebLayerLoadBasedAutoScalingUpscaling) []string { return v.Alarms }).(pulumi.StringArrayOutput) } -// The number of disks to use for the EBS volume. -func (o StaticWebLayerEbsVolumeOutput) NumberOfDisks() pulumi.IntOutput { - return o.ApplyT(func(v StaticWebLayerEbsVolume) int { return v.NumberOfDisks }).(pulumi.IntOutput) +func (o StaticWebLayerLoadBasedAutoScalingUpscalingOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v StaticWebLayerLoadBasedAutoScalingUpscaling) *float64 { return v.CpuThreshold }).(pulumi.Float64PtrOutput) } -// The RAID level to use for the volume. -func (o StaticWebLayerEbsVolumeOutput) RaidLevel() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticWebLayerEbsVolume) *string { return v.RaidLevel }).(pulumi.StringPtrOutput) +func (o StaticWebLayerLoadBasedAutoScalingUpscalingOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v StaticWebLayerLoadBasedAutoScalingUpscaling) *int { return v.IgnoreMetricsTime }).(pulumi.IntPtrOutput) } -// The size of the volume in gigabytes. -func (o StaticWebLayerEbsVolumeOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v StaticWebLayerEbsVolume) int { return v.Size }).(pulumi.IntOutput) +func (o StaticWebLayerLoadBasedAutoScalingUpscalingOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v StaticWebLayerLoadBasedAutoScalingUpscaling) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) } -// The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. -func (o StaticWebLayerEbsVolumeOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticWebLayerEbsVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +func (o StaticWebLayerLoadBasedAutoScalingUpscalingOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v StaticWebLayerLoadBasedAutoScalingUpscaling) *float64 { return v.LoadThreshold }).(pulumi.Float64PtrOutput) } -type StaticWebLayerEbsVolumeArrayOutput struct{ *pulumi.OutputState } +func (o StaticWebLayerLoadBasedAutoScalingUpscalingOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v StaticWebLayerLoadBasedAutoScalingUpscaling) *float64 { return v.MemoryThreshold }).(pulumi.Float64PtrOutput) +} -func (StaticWebLayerEbsVolumeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]StaticWebLayerEbsVolume)(nil)).Elem() +func (o StaticWebLayerLoadBasedAutoScalingUpscalingOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v StaticWebLayerLoadBasedAutoScalingUpscaling) *int { return v.ThresholdsWaitTime }).(pulumi.IntPtrOutput) } -func (o StaticWebLayerEbsVolumeArrayOutput) ToStaticWebLayerEbsVolumeArrayOutput() StaticWebLayerEbsVolumeArrayOutput { +type StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput struct{ *pulumi.OutputState } + +func (StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StaticWebLayerLoadBasedAutoScalingUpscaling)(nil)).Elem() +} + +func (o StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput) ToStaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput() StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput { return o } -func (o StaticWebLayerEbsVolumeArrayOutput) ToStaticWebLayerEbsVolumeArrayOutputWithContext(ctx context.Context) StaticWebLayerEbsVolumeArrayOutput { +func (o StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput) ToStaticWebLayerLoadBasedAutoScalingUpscalingPtrOutputWithContext(ctx context.Context) StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput { return o } -func (o StaticWebLayerEbsVolumeArrayOutput) Index(i pulumi.IntInput) StaticWebLayerEbsVolumeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) StaticWebLayerEbsVolume { - return vs[0].([]StaticWebLayerEbsVolume)[vs[1].(int)] - }).(StaticWebLayerEbsVolumeOutput) +func (o StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput) Elem() StaticWebLayerLoadBasedAutoScalingUpscalingOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScalingUpscaling) StaticWebLayerLoadBasedAutoScalingUpscaling { + if v != nil { + return *v + } + var ret StaticWebLayerLoadBasedAutoScalingUpscaling + return ret + }).(StaticWebLayerLoadBasedAutoScalingUpscalingOutput) +} + +func (o StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput) Alarms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScalingUpscaling) []string { + if v == nil { + return nil + } + return v.Alarms + }).(pulumi.StringArrayOutput) +} + +func (o StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput) CpuThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.CpuThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput) IgnoreMetricsTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.IgnoreMetricsTime + }).(pulumi.IntPtrOutput) +} + +func (o StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.InstanceCount + }).(pulumi.IntPtrOutput) +} + +func (o StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput) LoadThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.LoadThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput) MemoryThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScalingUpscaling) *float64 { + if v == nil { + return nil + } + return v.MemoryThreshold + }).(pulumi.Float64PtrOutput) +} + +func (o StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput) ThresholdsWaitTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *StaticWebLayerLoadBasedAutoScalingUpscaling) *int { + if v == nil { + return nil + } + return v.ThresholdsWaitTime + }).(pulumi.IntPtrOutput) } func init() { @@ -5885,24 +12690,48 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*CustomLayerCloudwatchConfigurationLogStreamArrayInput)(nil)).Elem(), CustomLayerCloudwatchConfigurationLogStreamArray{}) pulumi.RegisterInputType(reflect.TypeOf((*CustomLayerEbsVolumeInput)(nil)).Elem(), CustomLayerEbsVolumeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CustomLayerEbsVolumeArrayInput)(nil)).Elem(), CustomLayerEbsVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomLayerLoadBasedAutoScalingInput)(nil)).Elem(), CustomLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomLayerLoadBasedAutoScalingPtrInput)(nil)).Elem(), CustomLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomLayerLoadBasedAutoScalingDownscalingInput)(nil)).Elem(), CustomLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomLayerLoadBasedAutoScalingDownscalingPtrInput)(nil)).Elem(), CustomLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomLayerLoadBasedAutoScalingUpscalingInput)(nil)).Elem(), CustomLayerLoadBasedAutoScalingUpscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomLayerLoadBasedAutoScalingUpscalingPtrInput)(nil)).Elem(), CustomLayerLoadBasedAutoScalingUpscalingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EcsClusterLayerCloudwatchConfigurationInput)(nil)).Elem(), EcsClusterLayerCloudwatchConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EcsClusterLayerCloudwatchConfigurationPtrInput)(nil)).Elem(), EcsClusterLayerCloudwatchConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EcsClusterLayerCloudwatchConfigurationLogStreamInput)(nil)).Elem(), EcsClusterLayerCloudwatchConfigurationLogStreamArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EcsClusterLayerCloudwatchConfigurationLogStreamArrayInput)(nil)).Elem(), EcsClusterLayerCloudwatchConfigurationLogStreamArray{}) pulumi.RegisterInputType(reflect.TypeOf((*EcsClusterLayerEbsVolumeInput)(nil)).Elem(), EcsClusterLayerEbsVolumeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EcsClusterLayerEbsVolumeArrayInput)(nil)).Elem(), EcsClusterLayerEbsVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*EcsClusterLayerLoadBasedAutoScalingInput)(nil)).Elem(), EcsClusterLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EcsClusterLayerLoadBasedAutoScalingPtrInput)(nil)).Elem(), EcsClusterLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EcsClusterLayerLoadBasedAutoScalingDownscalingInput)(nil)).Elem(), EcsClusterLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EcsClusterLayerLoadBasedAutoScalingDownscalingPtrInput)(nil)).Elem(), EcsClusterLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EcsClusterLayerLoadBasedAutoScalingUpscalingInput)(nil)).Elem(), EcsClusterLayerLoadBasedAutoScalingUpscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EcsClusterLayerLoadBasedAutoScalingUpscalingPtrInput)(nil)).Elem(), EcsClusterLayerLoadBasedAutoScalingUpscalingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GangliaLayerCloudwatchConfigurationInput)(nil)).Elem(), GangliaLayerCloudwatchConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GangliaLayerCloudwatchConfigurationPtrInput)(nil)).Elem(), GangliaLayerCloudwatchConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GangliaLayerCloudwatchConfigurationLogStreamInput)(nil)).Elem(), GangliaLayerCloudwatchConfigurationLogStreamArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GangliaLayerCloudwatchConfigurationLogStreamArrayInput)(nil)).Elem(), GangliaLayerCloudwatchConfigurationLogStreamArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GangliaLayerEbsVolumeInput)(nil)).Elem(), GangliaLayerEbsVolumeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GangliaLayerEbsVolumeArrayInput)(nil)).Elem(), GangliaLayerEbsVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GangliaLayerLoadBasedAutoScalingInput)(nil)).Elem(), GangliaLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GangliaLayerLoadBasedAutoScalingPtrInput)(nil)).Elem(), GangliaLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GangliaLayerLoadBasedAutoScalingDownscalingInput)(nil)).Elem(), GangliaLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GangliaLayerLoadBasedAutoScalingDownscalingPtrInput)(nil)).Elem(), GangliaLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GangliaLayerLoadBasedAutoScalingUpscalingInput)(nil)).Elem(), GangliaLayerLoadBasedAutoScalingUpscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GangliaLayerLoadBasedAutoScalingUpscalingPtrInput)(nil)).Elem(), GangliaLayerLoadBasedAutoScalingUpscalingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HaproxyLayerCloudwatchConfigurationInput)(nil)).Elem(), HaproxyLayerCloudwatchConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HaproxyLayerCloudwatchConfigurationPtrInput)(nil)).Elem(), HaproxyLayerCloudwatchConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HaproxyLayerCloudwatchConfigurationLogStreamInput)(nil)).Elem(), HaproxyLayerCloudwatchConfigurationLogStreamArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HaproxyLayerCloudwatchConfigurationLogStreamArrayInput)(nil)).Elem(), HaproxyLayerCloudwatchConfigurationLogStreamArray{}) pulumi.RegisterInputType(reflect.TypeOf((*HaproxyLayerEbsVolumeInput)(nil)).Elem(), HaproxyLayerEbsVolumeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HaproxyLayerEbsVolumeArrayInput)(nil)).Elem(), HaproxyLayerEbsVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HaproxyLayerLoadBasedAutoScalingInput)(nil)).Elem(), HaproxyLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HaproxyLayerLoadBasedAutoScalingPtrInput)(nil)).Elem(), HaproxyLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HaproxyLayerLoadBasedAutoScalingDownscalingInput)(nil)).Elem(), HaproxyLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HaproxyLayerLoadBasedAutoScalingDownscalingPtrInput)(nil)).Elem(), HaproxyLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HaproxyLayerLoadBasedAutoScalingUpscalingInput)(nil)).Elem(), HaproxyLayerLoadBasedAutoScalingUpscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HaproxyLayerLoadBasedAutoScalingUpscalingPtrInput)(nil)).Elem(), HaproxyLayerLoadBasedAutoScalingUpscalingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceEbsBlockDeviceInput)(nil)).Elem(), InstanceEbsBlockDeviceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceEbsBlockDeviceArrayInput)(nil)).Elem(), InstanceEbsBlockDeviceArray{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceEphemeralBlockDeviceInput)(nil)).Elem(), InstanceEphemeralBlockDeviceArgs{}) @@ -5915,36 +12744,72 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*JavaAppLayerCloudwatchConfigurationLogStreamArrayInput)(nil)).Elem(), JavaAppLayerCloudwatchConfigurationLogStreamArray{}) pulumi.RegisterInputType(reflect.TypeOf((*JavaAppLayerEbsVolumeInput)(nil)).Elem(), JavaAppLayerEbsVolumeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*JavaAppLayerEbsVolumeArrayInput)(nil)).Elem(), JavaAppLayerEbsVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JavaAppLayerLoadBasedAutoScalingInput)(nil)).Elem(), JavaAppLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JavaAppLayerLoadBasedAutoScalingPtrInput)(nil)).Elem(), JavaAppLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JavaAppLayerLoadBasedAutoScalingDownscalingInput)(nil)).Elem(), JavaAppLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JavaAppLayerLoadBasedAutoScalingDownscalingPtrInput)(nil)).Elem(), JavaAppLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JavaAppLayerLoadBasedAutoScalingUpscalingInput)(nil)).Elem(), JavaAppLayerLoadBasedAutoScalingUpscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JavaAppLayerLoadBasedAutoScalingUpscalingPtrInput)(nil)).Elem(), JavaAppLayerLoadBasedAutoScalingUpscalingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MemcachedLayerCloudwatchConfigurationInput)(nil)).Elem(), MemcachedLayerCloudwatchConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MemcachedLayerCloudwatchConfigurationPtrInput)(nil)).Elem(), MemcachedLayerCloudwatchConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MemcachedLayerCloudwatchConfigurationLogStreamInput)(nil)).Elem(), MemcachedLayerCloudwatchConfigurationLogStreamArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MemcachedLayerCloudwatchConfigurationLogStreamArrayInput)(nil)).Elem(), MemcachedLayerCloudwatchConfigurationLogStreamArray{}) pulumi.RegisterInputType(reflect.TypeOf((*MemcachedLayerEbsVolumeInput)(nil)).Elem(), MemcachedLayerEbsVolumeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MemcachedLayerEbsVolumeArrayInput)(nil)).Elem(), MemcachedLayerEbsVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MemcachedLayerLoadBasedAutoScalingInput)(nil)).Elem(), MemcachedLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MemcachedLayerLoadBasedAutoScalingPtrInput)(nil)).Elem(), MemcachedLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MemcachedLayerLoadBasedAutoScalingDownscalingInput)(nil)).Elem(), MemcachedLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MemcachedLayerLoadBasedAutoScalingDownscalingPtrInput)(nil)).Elem(), MemcachedLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MemcachedLayerLoadBasedAutoScalingUpscalingInput)(nil)).Elem(), MemcachedLayerLoadBasedAutoScalingUpscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MemcachedLayerLoadBasedAutoScalingUpscalingPtrInput)(nil)).Elem(), MemcachedLayerLoadBasedAutoScalingUpscalingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MysqlLayerCloudwatchConfigurationInput)(nil)).Elem(), MysqlLayerCloudwatchConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MysqlLayerCloudwatchConfigurationPtrInput)(nil)).Elem(), MysqlLayerCloudwatchConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MysqlLayerCloudwatchConfigurationLogStreamInput)(nil)).Elem(), MysqlLayerCloudwatchConfigurationLogStreamArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MysqlLayerCloudwatchConfigurationLogStreamArrayInput)(nil)).Elem(), MysqlLayerCloudwatchConfigurationLogStreamArray{}) pulumi.RegisterInputType(reflect.TypeOf((*MysqlLayerEbsVolumeInput)(nil)).Elem(), MysqlLayerEbsVolumeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MysqlLayerEbsVolumeArrayInput)(nil)).Elem(), MysqlLayerEbsVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MysqlLayerLoadBasedAutoScalingInput)(nil)).Elem(), MysqlLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MysqlLayerLoadBasedAutoScalingPtrInput)(nil)).Elem(), MysqlLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MysqlLayerLoadBasedAutoScalingDownscalingInput)(nil)).Elem(), MysqlLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MysqlLayerLoadBasedAutoScalingDownscalingPtrInput)(nil)).Elem(), MysqlLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MysqlLayerLoadBasedAutoScalingUpscalingInput)(nil)).Elem(), MysqlLayerLoadBasedAutoScalingUpscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MysqlLayerLoadBasedAutoScalingUpscalingPtrInput)(nil)).Elem(), MysqlLayerLoadBasedAutoScalingUpscalingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NodejsAppLayerCloudwatchConfigurationInput)(nil)).Elem(), NodejsAppLayerCloudwatchConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NodejsAppLayerCloudwatchConfigurationPtrInput)(nil)).Elem(), NodejsAppLayerCloudwatchConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NodejsAppLayerCloudwatchConfigurationLogStreamInput)(nil)).Elem(), NodejsAppLayerCloudwatchConfigurationLogStreamArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NodejsAppLayerCloudwatchConfigurationLogStreamArrayInput)(nil)).Elem(), NodejsAppLayerCloudwatchConfigurationLogStreamArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NodejsAppLayerEbsVolumeInput)(nil)).Elem(), NodejsAppLayerEbsVolumeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NodejsAppLayerEbsVolumeArrayInput)(nil)).Elem(), NodejsAppLayerEbsVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodejsAppLayerLoadBasedAutoScalingInput)(nil)).Elem(), NodejsAppLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodejsAppLayerLoadBasedAutoScalingPtrInput)(nil)).Elem(), NodejsAppLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodejsAppLayerLoadBasedAutoScalingDownscalingInput)(nil)).Elem(), NodejsAppLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodejsAppLayerLoadBasedAutoScalingDownscalingPtrInput)(nil)).Elem(), NodejsAppLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodejsAppLayerLoadBasedAutoScalingUpscalingInput)(nil)).Elem(), NodejsAppLayerLoadBasedAutoScalingUpscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodejsAppLayerLoadBasedAutoScalingUpscalingPtrInput)(nil)).Elem(), NodejsAppLayerLoadBasedAutoScalingUpscalingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PhpAppLayerCloudwatchConfigurationInput)(nil)).Elem(), PhpAppLayerCloudwatchConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PhpAppLayerCloudwatchConfigurationPtrInput)(nil)).Elem(), PhpAppLayerCloudwatchConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PhpAppLayerCloudwatchConfigurationLogStreamInput)(nil)).Elem(), PhpAppLayerCloudwatchConfigurationLogStreamArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PhpAppLayerCloudwatchConfigurationLogStreamArrayInput)(nil)).Elem(), PhpAppLayerCloudwatchConfigurationLogStreamArray{}) pulumi.RegisterInputType(reflect.TypeOf((*PhpAppLayerEbsVolumeInput)(nil)).Elem(), PhpAppLayerEbsVolumeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PhpAppLayerEbsVolumeArrayInput)(nil)).Elem(), PhpAppLayerEbsVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PhpAppLayerLoadBasedAutoScalingInput)(nil)).Elem(), PhpAppLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PhpAppLayerLoadBasedAutoScalingPtrInput)(nil)).Elem(), PhpAppLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PhpAppLayerLoadBasedAutoScalingDownscalingInput)(nil)).Elem(), PhpAppLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PhpAppLayerLoadBasedAutoScalingDownscalingPtrInput)(nil)).Elem(), PhpAppLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PhpAppLayerLoadBasedAutoScalingUpscalingInput)(nil)).Elem(), PhpAppLayerLoadBasedAutoScalingUpscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PhpAppLayerLoadBasedAutoScalingUpscalingPtrInput)(nil)).Elem(), PhpAppLayerLoadBasedAutoScalingUpscalingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RailsAppLayerCloudwatchConfigurationInput)(nil)).Elem(), RailsAppLayerCloudwatchConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RailsAppLayerCloudwatchConfigurationPtrInput)(nil)).Elem(), RailsAppLayerCloudwatchConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RailsAppLayerCloudwatchConfigurationLogStreamInput)(nil)).Elem(), RailsAppLayerCloudwatchConfigurationLogStreamArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RailsAppLayerCloudwatchConfigurationLogStreamArrayInput)(nil)).Elem(), RailsAppLayerCloudwatchConfigurationLogStreamArray{}) pulumi.RegisterInputType(reflect.TypeOf((*RailsAppLayerEbsVolumeInput)(nil)).Elem(), RailsAppLayerEbsVolumeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RailsAppLayerEbsVolumeArrayInput)(nil)).Elem(), RailsAppLayerEbsVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RailsAppLayerLoadBasedAutoScalingInput)(nil)).Elem(), RailsAppLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RailsAppLayerLoadBasedAutoScalingPtrInput)(nil)).Elem(), RailsAppLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RailsAppLayerLoadBasedAutoScalingDownscalingInput)(nil)).Elem(), RailsAppLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RailsAppLayerLoadBasedAutoScalingDownscalingPtrInput)(nil)).Elem(), RailsAppLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RailsAppLayerLoadBasedAutoScalingUpscalingInput)(nil)).Elem(), RailsAppLayerLoadBasedAutoScalingUpscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RailsAppLayerLoadBasedAutoScalingUpscalingPtrInput)(nil)).Elem(), RailsAppLayerLoadBasedAutoScalingUpscalingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StackCustomCookbooksSourceInput)(nil)).Elem(), StackCustomCookbooksSourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StackCustomCookbooksSourceArrayInput)(nil)).Elem(), StackCustomCookbooksSourceArray{}) pulumi.RegisterInputType(reflect.TypeOf((*StaticWebLayerCloudwatchConfigurationInput)(nil)).Elem(), StaticWebLayerCloudwatchConfigurationArgs{}) @@ -5953,6 +12818,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*StaticWebLayerCloudwatchConfigurationLogStreamArrayInput)(nil)).Elem(), StaticWebLayerCloudwatchConfigurationLogStreamArray{}) pulumi.RegisterInputType(reflect.TypeOf((*StaticWebLayerEbsVolumeInput)(nil)).Elem(), StaticWebLayerEbsVolumeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StaticWebLayerEbsVolumeArrayInput)(nil)).Elem(), StaticWebLayerEbsVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*StaticWebLayerLoadBasedAutoScalingInput)(nil)).Elem(), StaticWebLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StaticWebLayerLoadBasedAutoScalingPtrInput)(nil)).Elem(), StaticWebLayerLoadBasedAutoScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StaticWebLayerLoadBasedAutoScalingDownscalingInput)(nil)).Elem(), StaticWebLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StaticWebLayerLoadBasedAutoScalingDownscalingPtrInput)(nil)).Elem(), StaticWebLayerLoadBasedAutoScalingDownscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StaticWebLayerLoadBasedAutoScalingUpscalingInput)(nil)).Elem(), StaticWebLayerLoadBasedAutoScalingUpscalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StaticWebLayerLoadBasedAutoScalingUpscalingPtrInput)(nil)).Elem(), StaticWebLayerLoadBasedAutoScalingUpscalingArgs{}) pulumi.RegisterOutputType(ApplicationAppSourceOutput{}) pulumi.RegisterOutputType(ApplicationAppSourceArrayOutput{}) pulumi.RegisterOutputType(ApplicationEnvironmentOutput{}) @@ -5965,24 +12836,48 @@ func init() { pulumi.RegisterOutputType(CustomLayerCloudwatchConfigurationLogStreamArrayOutput{}) pulumi.RegisterOutputType(CustomLayerEbsVolumeOutput{}) pulumi.RegisterOutputType(CustomLayerEbsVolumeArrayOutput{}) + pulumi.RegisterOutputType(CustomLayerLoadBasedAutoScalingOutput{}) + pulumi.RegisterOutputType(CustomLayerLoadBasedAutoScalingPtrOutput{}) + pulumi.RegisterOutputType(CustomLayerLoadBasedAutoScalingDownscalingOutput{}) + pulumi.RegisterOutputType(CustomLayerLoadBasedAutoScalingDownscalingPtrOutput{}) + pulumi.RegisterOutputType(CustomLayerLoadBasedAutoScalingUpscalingOutput{}) + pulumi.RegisterOutputType(CustomLayerLoadBasedAutoScalingUpscalingPtrOutput{}) pulumi.RegisterOutputType(EcsClusterLayerCloudwatchConfigurationOutput{}) pulumi.RegisterOutputType(EcsClusterLayerCloudwatchConfigurationPtrOutput{}) pulumi.RegisterOutputType(EcsClusterLayerCloudwatchConfigurationLogStreamOutput{}) pulumi.RegisterOutputType(EcsClusterLayerCloudwatchConfigurationLogStreamArrayOutput{}) pulumi.RegisterOutputType(EcsClusterLayerEbsVolumeOutput{}) pulumi.RegisterOutputType(EcsClusterLayerEbsVolumeArrayOutput{}) + pulumi.RegisterOutputType(EcsClusterLayerLoadBasedAutoScalingOutput{}) + pulumi.RegisterOutputType(EcsClusterLayerLoadBasedAutoScalingPtrOutput{}) + pulumi.RegisterOutputType(EcsClusterLayerLoadBasedAutoScalingDownscalingOutput{}) + pulumi.RegisterOutputType(EcsClusterLayerLoadBasedAutoScalingDownscalingPtrOutput{}) + pulumi.RegisterOutputType(EcsClusterLayerLoadBasedAutoScalingUpscalingOutput{}) + pulumi.RegisterOutputType(EcsClusterLayerLoadBasedAutoScalingUpscalingPtrOutput{}) pulumi.RegisterOutputType(GangliaLayerCloudwatchConfigurationOutput{}) pulumi.RegisterOutputType(GangliaLayerCloudwatchConfigurationPtrOutput{}) pulumi.RegisterOutputType(GangliaLayerCloudwatchConfigurationLogStreamOutput{}) pulumi.RegisterOutputType(GangliaLayerCloudwatchConfigurationLogStreamArrayOutput{}) pulumi.RegisterOutputType(GangliaLayerEbsVolumeOutput{}) pulumi.RegisterOutputType(GangliaLayerEbsVolumeArrayOutput{}) + pulumi.RegisterOutputType(GangliaLayerLoadBasedAutoScalingOutput{}) + pulumi.RegisterOutputType(GangliaLayerLoadBasedAutoScalingPtrOutput{}) + pulumi.RegisterOutputType(GangliaLayerLoadBasedAutoScalingDownscalingOutput{}) + pulumi.RegisterOutputType(GangliaLayerLoadBasedAutoScalingDownscalingPtrOutput{}) + pulumi.RegisterOutputType(GangliaLayerLoadBasedAutoScalingUpscalingOutput{}) + pulumi.RegisterOutputType(GangliaLayerLoadBasedAutoScalingUpscalingPtrOutput{}) pulumi.RegisterOutputType(HaproxyLayerCloudwatchConfigurationOutput{}) pulumi.RegisterOutputType(HaproxyLayerCloudwatchConfigurationPtrOutput{}) pulumi.RegisterOutputType(HaproxyLayerCloudwatchConfigurationLogStreamOutput{}) pulumi.RegisterOutputType(HaproxyLayerCloudwatchConfigurationLogStreamArrayOutput{}) pulumi.RegisterOutputType(HaproxyLayerEbsVolumeOutput{}) pulumi.RegisterOutputType(HaproxyLayerEbsVolumeArrayOutput{}) + pulumi.RegisterOutputType(HaproxyLayerLoadBasedAutoScalingOutput{}) + pulumi.RegisterOutputType(HaproxyLayerLoadBasedAutoScalingPtrOutput{}) + pulumi.RegisterOutputType(HaproxyLayerLoadBasedAutoScalingDownscalingOutput{}) + pulumi.RegisterOutputType(HaproxyLayerLoadBasedAutoScalingDownscalingPtrOutput{}) + pulumi.RegisterOutputType(HaproxyLayerLoadBasedAutoScalingUpscalingOutput{}) + pulumi.RegisterOutputType(HaproxyLayerLoadBasedAutoScalingUpscalingPtrOutput{}) pulumi.RegisterOutputType(InstanceEbsBlockDeviceOutput{}) pulumi.RegisterOutputType(InstanceEbsBlockDeviceArrayOutput{}) pulumi.RegisterOutputType(InstanceEphemeralBlockDeviceOutput{}) @@ -5995,36 +12890,72 @@ func init() { pulumi.RegisterOutputType(JavaAppLayerCloudwatchConfigurationLogStreamArrayOutput{}) pulumi.RegisterOutputType(JavaAppLayerEbsVolumeOutput{}) pulumi.RegisterOutputType(JavaAppLayerEbsVolumeArrayOutput{}) + pulumi.RegisterOutputType(JavaAppLayerLoadBasedAutoScalingOutput{}) + pulumi.RegisterOutputType(JavaAppLayerLoadBasedAutoScalingPtrOutput{}) + pulumi.RegisterOutputType(JavaAppLayerLoadBasedAutoScalingDownscalingOutput{}) + pulumi.RegisterOutputType(JavaAppLayerLoadBasedAutoScalingDownscalingPtrOutput{}) + pulumi.RegisterOutputType(JavaAppLayerLoadBasedAutoScalingUpscalingOutput{}) + pulumi.RegisterOutputType(JavaAppLayerLoadBasedAutoScalingUpscalingPtrOutput{}) pulumi.RegisterOutputType(MemcachedLayerCloudwatchConfigurationOutput{}) pulumi.RegisterOutputType(MemcachedLayerCloudwatchConfigurationPtrOutput{}) pulumi.RegisterOutputType(MemcachedLayerCloudwatchConfigurationLogStreamOutput{}) pulumi.RegisterOutputType(MemcachedLayerCloudwatchConfigurationLogStreamArrayOutput{}) pulumi.RegisterOutputType(MemcachedLayerEbsVolumeOutput{}) pulumi.RegisterOutputType(MemcachedLayerEbsVolumeArrayOutput{}) + pulumi.RegisterOutputType(MemcachedLayerLoadBasedAutoScalingOutput{}) + pulumi.RegisterOutputType(MemcachedLayerLoadBasedAutoScalingPtrOutput{}) + pulumi.RegisterOutputType(MemcachedLayerLoadBasedAutoScalingDownscalingOutput{}) + pulumi.RegisterOutputType(MemcachedLayerLoadBasedAutoScalingDownscalingPtrOutput{}) + pulumi.RegisterOutputType(MemcachedLayerLoadBasedAutoScalingUpscalingOutput{}) + pulumi.RegisterOutputType(MemcachedLayerLoadBasedAutoScalingUpscalingPtrOutput{}) pulumi.RegisterOutputType(MysqlLayerCloudwatchConfigurationOutput{}) pulumi.RegisterOutputType(MysqlLayerCloudwatchConfigurationPtrOutput{}) pulumi.RegisterOutputType(MysqlLayerCloudwatchConfigurationLogStreamOutput{}) pulumi.RegisterOutputType(MysqlLayerCloudwatchConfigurationLogStreamArrayOutput{}) pulumi.RegisterOutputType(MysqlLayerEbsVolumeOutput{}) pulumi.RegisterOutputType(MysqlLayerEbsVolumeArrayOutput{}) + pulumi.RegisterOutputType(MysqlLayerLoadBasedAutoScalingOutput{}) + pulumi.RegisterOutputType(MysqlLayerLoadBasedAutoScalingPtrOutput{}) + pulumi.RegisterOutputType(MysqlLayerLoadBasedAutoScalingDownscalingOutput{}) + pulumi.RegisterOutputType(MysqlLayerLoadBasedAutoScalingDownscalingPtrOutput{}) + pulumi.RegisterOutputType(MysqlLayerLoadBasedAutoScalingUpscalingOutput{}) + pulumi.RegisterOutputType(MysqlLayerLoadBasedAutoScalingUpscalingPtrOutput{}) pulumi.RegisterOutputType(NodejsAppLayerCloudwatchConfigurationOutput{}) pulumi.RegisterOutputType(NodejsAppLayerCloudwatchConfigurationPtrOutput{}) pulumi.RegisterOutputType(NodejsAppLayerCloudwatchConfigurationLogStreamOutput{}) pulumi.RegisterOutputType(NodejsAppLayerCloudwatchConfigurationLogStreamArrayOutput{}) pulumi.RegisterOutputType(NodejsAppLayerEbsVolumeOutput{}) pulumi.RegisterOutputType(NodejsAppLayerEbsVolumeArrayOutput{}) + pulumi.RegisterOutputType(NodejsAppLayerLoadBasedAutoScalingOutput{}) + pulumi.RegisterOutputType(NodejsAppLayerLoadBasedAutoScalingPtrOutput{}) + pulumi.RegisterOutputType(NodejsAppLayerLoadBasedAutoScalingDownscalingOutput{}) + pulumi.RegisterOutputType(NodejsAppLayerLoadBasedAutoScalingDownscalingPtrOutput{}) + pulumi.RegisterOutputType(NodejsAppLayerLoadBasedAutoScalingUpscalingOutput{}) + pulumi.RegisterOutputType(NodejsAppLayerLoadBasedAutoScalingUpscalingPtrOutput{}) pulumi.RegisterOutputType(PhpAppLayerCloudwatchConfigurationOutput{}) pulumi.RegisterOutputType(PhpAppLayerCloudwatchConfigurationPtrOutput{}) pulumi.RegisterOutputType(PhpAppLayerCloudwatchConfigurationLogStreamOutput{}) pulumi.RegisterOutputType(PhpAppLayerCloudwatchConfigurationLogStreamArrayOutput{}) pulumi.RegisterOutputType(PhpAppLayerEbsVolumeOutput{}) pulumi.RegisterOutputType(PhpAppLayerEbsVolumeArrayOutput{}) + pulumi.RegisterOutputType(PhpAppLayerLoadBasedAutoScalingOutput{}) + pulumi.RegisterOutputType(PhpAppLayerLoadBasedAutoScalingPtrOutput{}) + pulumi.RegisterOutputType(PhpAppLayerLoadBasedAutoScalingDownscalingOutput{}) + pulumi.RegisterOutputType(PhpAppLayerLoadBasedAutoScalingDownscalingPtrOutput{}) + pulumi.RegisterOutputType(PhpAppLayerLoadBasedAutoScalingUpscalingOutput{}) + pulumi.RegisterOutputType(PhpAppLayerLoadBasedAutoScalingUpscalingPtrOutput{}) pulumi.RegisterOutputType(RailsAppLayerCloudwatchConfigurationOutput{}) pulumi.RegisterOutputType(RailsAppLayerCloudwatchConfigurationPtrOutput{}) pulumi.RegisterOutputType(RailsAppLayerCloudwatchConfigurationLogStreamOutput{}) pulumi.RegisterOutputType(RailsAppLayerCloudwatchConfigurationLogStreamArrayOutput{}) pulumi.RegisterOutputType(RailsAppLayerEbsVolumeOutput{}) pulumi.RegisterOutputType(RailsAppLayerEbsVolumeArrayOutput{}) + pulumi.RegisterOutputType(RailsAppLayerLoadBasedAutoScalingOutput{}) + pulumi.RegisterOutputType(RailsAppLayerLoadBasedAutoScalingPtrOutput{}) + pulumi.RegisterOutputType(RailsAppLayerLoadBasedAutoScalingDownscalingOutput{}) + pulumi.RegisterOutputType(RailsAppLayerLoadBasedAutoScalingDownscalingPtrOutput{}) + pulumi.RegisterOutputType(RailsAppLayerLoadBasedAutoScalingUpscalingOutput{}) + pulumi.RegisterOutputType(RailsAppLayerLoadBasedAutoScalingUpscalingPtrOutput{}) pulumi.RegisterOutputType(StackCustomCookbooksSourceOutput{}) pulumi.RegisterOutputType(StackCustomCookbooksSourceArrayOutput{}) pulumi.RegisterOutputType(StaticWebLayerCloudwatchConfigurationOutput{}) @@ -6033,4 +12964,10 @@ func init() { pulumi.RegisterOutputType(StaticWebLayerCloudwatchConfigurationLogStreamArrayOutput{}) pulumi.RegisterOutputType(StaticWebLayerEbsVolumeOutput{}) pulumi.RegisterOutputType(StaticWebLayerEbsVolumeArrayOutput{}) + pulumi.RegisterOutputType(StaticWebLayerLoadBasedAutoScalingOutput{}) + pulumi.RegisterOutputType(StaticWebLayerLoadBasedAutoScalingPtrOutput{}) + pulumi.RegisterOutputType(StaticWebLayerLoadBasedAutoScalingDownscalingOutput{}) + pulumi.RegisterOutputType(StaticWebLayerLoadBasedAutoScalingDownscalingPtrOutput{}) + pulumi.RegisterOutputType(StaticWebLayerLoadBasedAutoScalingUpscalingOutput{}) + pulumi.RegisterOutputType(StaticWebLayerLoadBasedAutoScalingUpscalingPtrOutput{}) } diff --git a/sdk/go/aws/opsworks/railsAppLayer.go b/sdk/go/aws/opsworks/railsAppLayer.go index 4e3d95b32c4..72efbc6514c 100644 --- a/sdk/go/aws/opsworks/railsAppLayer.go +++ b/sdk/go/aws/opsworks/railsAppLayer.go @@ -74,7 +74,8 @@ type RailsAppLayer struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling RailsAppLayerLoadBasedAutoScalingOutput `pulumi:"loadBasedAutoScaling"` // Whether OpsWorks should manage bundler. On by default. ManageBundler pulumi.BoolPtrOutput `pulumi:"manageBundler"` // A human-readable name for the layer. @@ -162,7 +163,8 @@ type railsAppLayerState struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *RailsAppLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // Whether OpsWorks should manage bundler. On by default. ManageBundler *bool `pulumi:"manageBundler"` // A human-readable name for the layer. @@ -220,6 +222,7 @@ type RailsAppLayerState struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling RailsAppLayerLoadBasedAutoScalingPtrInput // Whether OpsWorks should manage bundler. On by default. ManageBundler pulumi.BoolPtrInput // A human-readable name for the layer. @@ -278,7 +281,8 @@ type railsAppLayerArgs struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *RailsAppLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // Whether OpsWorks should manage bundler. On by default. ManageBundler *bool `pulumi:"manageBundler"` // A human-readable name for the layer. @@ -333,6 +337,7 @@ type RailsAppLayerArgs struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling RailsAppLayerLoadBasedAutoScalingPtrInput // Whether OpsWorks should manage bundler. On by default. ManageBundler pulumi.BoolPtrInput // A human-readable name for the layer. @@ -534,6 +539,10 @@ func (o RailsAppLayerOutput) InstanceShutdownTimeout() pulumi.IntPtrOutput { return o.ApplyT(func(v *RailsAppLayer) pulumi.IntPtrOutput { return v.InstanceShutdownTimeout }).(pulumi.IntPtrOutput) } +func (o RailsAppLayerOutput) LoadBasedAutoScaling() RailsAppLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *RailsAppLayer) RailsAppLayerLoadBasedAutoScalingOutput { return v.LoadBasedAutoScaling }).(RailsAppLayerLoadBasedAutoScalingOutput) +} + // Whether OpsWorks should manage bundler. On by default. func (o RailsAppLayerOutput) ManageBundler() pulumi.BoolPtrOutput { return o.ApplyT(func(v *RailsAppLayer) pulumi.BoolPtrOutput { return v.ManageBundler }).(pulumi.BoolPtrOutput) diff --git a/sdk/go/aws/opsworks/staticWebLayer.go b/sdk/go/aws/opsworks/staticWebLayer.go index b896ed9ae82..c6b3a9db031 100644 --- a/sdk/go/aws/opsworks/staticWebLayer.go +++ b/sdk/go/aws/opsworks/staticWebLayer.go @@ -79,7 +79,8 @@ type StaticWebLayer struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling StaticWebLayerLoadBasedAutoScalingOutput `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name pulumi.StringOutput `pulumi:"name"` // ID of the stack the layer will belong to. @@ -154,7 +155,8 @@ type staticWebLayerState struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *StaticWebLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // ID of the stack the layer will belong to. @@ -199,6 +201,7 @@ type StaticWebLayerState struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling StaticWebLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // ID of the stack the layer will belong to. @@ -244,7 +247,8 @@ type staticWebLayerArgs struct { // Whether to install OS and package updates on each instance when it boots. InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. - InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` + LoadBasedAutoScaling *StaticWebLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` // A human-readable name for the layer. Name *string `pulumi:"name"` // ID of the stack the layer will belong to. @@ -286,6 +290,7 @@ type StaticWebLayerArgs struct { InstallUpdatesOnBoot pulumi.BoolPtrInput // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. InstanceShutdownTimeout pulumi.IntPtrInput + LoadBasedAutoScaling StaticWebLayerLoadBasedAutoScalingPtrInput // A human-readable name for the layer. Name pulumi.StringPtrInput // ID of the stack the layer will belong to. @@ -470,6 +475,10 @@ func (o StaticWebLayerOutput) InstanceShutdownTimeout() pulumi.IntPtrOutput { return o.ApplyT(func(v *StaticWebLayer) pulumi.IntPtrOutput { return v.InstanceShutdownTimeout }).(pulumi.IntPtrOutput) } +func (o StaticWebLayerOutput) LoadBasedAutoScaling() StaticWebLayerLoadBasedAutoScalingOutput { + return o.ApplyT(func(v *StaticWebLayer) StaticWebLayerLoadBasedAutoScalingOutput { return v.LoadBasedAutoScaling }).(StaticWebLayerLoadBasedAutoScalingOutput) +} + // A human-readable name for the layer. func (o StaticWebLayerOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *StaticWebLayer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/aws/ram/resourceShare.go b/sdk/go/aws/ram/resourceShare.go index 40aa2f91057..7758e89b025 100644 --- a/sdk/go/aws/ram/resourceShare.go +++ b/sdk/go/aws/ram/resourceShare.go @@ -43,7 +43,7 @@ import ( // // ## Import // -// Resource shares can be imported using the `id`, e.g., +// Resource shares can be imported using the `arn` of the resource share, e.g., // // ```sh // diff --git a/sdk/go/aws/rds/getReservedInstanceOffering.go b/sdk/go/aws/rds/getReservedInstanceOffering.go new file mode 100644 index 00000000000..ddadf5389d3 --- /dev/null +++ b/sdk/go/aws/rds/getReservedInstanceOffering.go @@ -0,0 +1,172 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rds + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Information about a single RDS Reserved Instance Offering. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := rds.GetReservedInstanceOffering(ctx, &rds.GetReservedInstanceOfferingArgs{ +// DbInstanceClass: "db.t2.micro", +// Duration: 31536000, +// MultiAz: false, +// OfferingType: "All Upfront", +// ProductDescription: "mysql", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetReservedInstanceOffering(ctx *pulumi.Context, args *GetReservedInstanceOfferingArgs, opts ...pulumi.InvokeOption) (*GetReservedInstanceOfferingResult, error) { + var rv GetReservedInstanceOfferingResult + err := ctx.Invoke("aws:rds/getReservedInstanceOffering:getReservedInstanceOffering", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getReservedInstanceOffering. +type GetReservedInstanceOfferingArgs struct { + // DB instance class for the reserved DB instance. + DbInstanceClass string `pulumi:"dbInstanceClass"` + // Duration of the reservation in seconds. + Duration int `pulumi:"duration"` + // Whether the reservation applies to Multi-AZ deployments. + MultiAz bool `pulumi:"multiAz"` + // Offering type of this reserved DB instance. + OfferingType string `pulumi:"offeringType"` + // Description of the reserved DB instance. + ProductDescription string `pulumi:"productDescription"` +} + +// A collection of values returned by getReservedInstanceOffering. +type GetReservedInstanceOfferingResult struct { + // Currency code for the reserved DB instance. + CurrencyCode string `pulumi:"currencyCode"` + DbInstanceClass string `pulumi:"dbInstanceClass"` + Duration int `pulumi:"duration"` + // Fixed price charged for this reserved DB instance. + FixedPrice float64 `pulumi:"fixedPrice"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + MultiAz bool `pulumi:"multiAz"` + // Unique identifier for the reservation. + OfferingId string `pulumi:"offeringId"` + OfferingType string `pulumi:"offeringType"` + ProductDescription string `pulumi:"productDescription"` +} + +func GetReservedInstanceOfferingOutput(ctx *pulumi.Context, args GetReservedInstanceOfferingOutputArgs, opts ...pulumi.InvokeOption) GetReservedInstanceOfferingResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetReservedInstanceOfferingResult, error) { + args := v.(GetReservedInstanceOfferingArgs) + r, err := GetReservedInstanceOffering(ctx, &args, opts...) + var s GetReservedInstanceOfferingResult + if r != nil { + s = *r + } + return s, err + }).(GetReservedInstanceOfferingResultOutput) +} + +// A collection of arguments for invoking getReservedInstanceOffering. +type GetReservedInstanceOfferingOutputArgs struct { + // DB instance class for the reserved DB instance. + DbInstanceClass pulumi.StringInput `pulumi:"dbInstanceClass"` + // Duration of the reservation in seconds. + Duration pulumi.IntInput `pulumi:"duration"` + // Whether the reservation applies to Multi-AZ deployments. + MultiAz pulumi.BoolInput `pulumi:"multiAz"` + // Offering type of this reserved DB instance. + OfferingType pulumi.StringInput `pulumi:"offeringType"` + // Description of the reserved DB instance. + ProductDescription pulumi.StringInput `pulumi:"productDescription"` +} + +func (GetReservedInstanceOfferingOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReservedInstanceOfferingArgs)(nil)).Elem() +} + +// A collection of values returned by getReservedInstanceOffering. +type GetReservedInstanceOfferingResultOutput struct{ *pulumi.OutputState } + +func (GetReservedInstanceOfferingResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReservedInstanceOfferingResult)(nil)).Elem() +} + +func (o GetReservedInstanceOfferingResultOutput) ToGetReservedInstanceOfferingResultOutput() GetReservedInstanceOfferingResultOutput { + return o +} + +func (o GetReservedInstanceOfferingResultOutput) ToGetReservedInstanceOfferingResultOutputWithContext(ctx context.Context) GetReservedInstanceOfferingResultOutput { + return o +} + +// Currency code for the reserved DB instance. +func (o GetReservedInstanceOfferingResultOutput) CurrencyCode() pulumi.StringOutput { + return o.ApplyT(func(v GetReservedInstanceOfferingResult) string { return v.CurrencyCode }).(pulumi.StringOutput) +} + +func (o GetReservedInstanceOfferingResultOutput) DbInstanceClass() pulumi.StringOutput { + return o.ApplyT(func(v GetReservedInstanceOfferingResult) string { return v.DbInstanceClass }).(pulumi.StringOutput) +} + +func (o GetReservedInstanceOfferingResultOutput) Duration() pulumi.IntOutput { + return o.ApplyT(func(v GetReservedInstanceOfferingResult) int { return v.Duration }).(pulumi.IntOutput) +} + +// Fixed price charged for this reserved DB instance. +func (o GetReservedInstanceOfferingResultOutput) FixedPrice() pulumi.Float64Output { + return o.ApplyT(func(v GetReservedInstanceOfferingResult) float64 { return v.FixedPrice }).(pulumi.Float64Output) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetReservedInstanceOfferingResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetReservedInstanceOfferingResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetReservedInstanceOfferingResultOutput) MultiAz() pulumi.BoolOutput { + return o.ApplyT(func(v GetReservedInstanceOfferingResult) bool { return v.MultiAz }).(pulumi.BoolOutput) +} + +// Unique identifier for the reservation. +func (o GetReservedInstanceOfferingResultOutput) OfferingId() pulumi.StringOutput { + return o.ApplyT(func(v GetReservedInstanceOfferingResult) string { return v.OfferingId }).(pulumi.StringOutput) +} + +func (o GetReservedInstanceOfferingResultOutput) OfferingType() pulumi.StringOutput { + return o.ApplyT(func(v GetReservedInstanceOfferingResult) string { return v.OfferingType }).(pulumi.StringOutput) +} + +func (o GetReservedInstanceOfferingResultOutput) ProductDescription() pulumi.StringOutput { + return o.ApplyT(func(v GetReservedInstanceOfferingResult) string { return v.ProductDescription }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetReservedInstanceOfferingResultOutput{}) +} diff --git a/sdk/go/aws/rds/init.go b/sdk/go/aws/rds/init.go index fa6067920da..166ae4e6727 100644 --- a/sdk/go/aws/rds/init.go +++ b/sdk/go/aws/rds/init.go @@ -55,6 +55,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ProxyEndpoint{} case "aws:rds/proxyTarget:ProxyTarget": r = &ProxyTarget{} + case "aws:rds/reservedInstance:ReservedInstance": + r = &ReservedInstance{} case "aws:rds/roleAssociation:RoleAssociation": r = &RoleAssociation{} case "aws:rds/securityGroup:SecurityGroup": @@ -163,6 +165,11 @@ func init() { "rds/proxyTarget", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "rds/reservedInstance", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "rds/roleAssociation", diff --git a/sdk/go/aws/rds/optionGroup.go b/sdk/go/aws/rds/optionGroup.go index 546fd5e44c3..1cb0da23c27 100644 --- a/sdk/go/aws/rds/optionGroup.go +++ b/sdk/go/aws/rds/optionGroup.go @@ -69,7 +69,7 @@ import ( // // ``` // -// > **Note**: Any modifications to the `rds.OptionGroup` are set to happen immediately as we default to applying immediately. +// > **Note:** Any modifications to the `rds.OptionGroup` are set to happen immediately as we default to applying immediately. // // > **WARNING:** You can perform a destroy on a `rds.OptionGroup`, as long as it is not associated with any Amazon RDS resource. An option group can be associated with a DB instance, a manual DB snapshot, or an automated DB snapshot. // diff --git a/sdk/go/aws/rds/pulumiTypes.go b/sdk/go/aws/rds/pulumiTypes.go index e9ac32b7579..69acba1b7f2 100644 --- a/sdk/go/aws/rds/pulumiTypes.go +++ b/sdk/go/aws/rds/pulumiTypes.go @@ -2158,6 +2158,106 @@ func (o ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput) SessionPinningFilt }).(pulumi.StringArrayOutput) } +type ReservedInstanceRecurringCharge struct { + RecurringChargeAmount *int `pulumi:"recurringChargeAmount"` + RecurringChargeFrequency *string `pulumi:"recurringChargeFrequency"` +} + +// ReservedInstanceRecurringChargeInput is an input type that accepts ReservedInstanceRecurringChargeArgs and ReservedInstanceRecurringChargeOutput values. +// You can construct a concrete instance of `ReservedInstanceRecurringChargeInput` via: +// +// ReservedInstanceRecurringChargeArgs{...} +type ReservedInstanceRecurringChargeInput interface { + pulumi.Input + + ToReservedInstanceRecurringChargeOutput() ReservedInstanceRecurringChargeOutput + ToReservedInstanceRecurringChargeOutputWithContext(context.Context) ReservedInstanceRecurringChargeOutput +} + +type ReservedInstanceRecurringChargeArgs struct { + RecurringChargeAmount pulumi.IntPtrInput `pulumi:"recurringChargeAmount"` + RecurringChargeFrequency pulumi.StringPtrInput `pulumi:"recurringChargeFrequency"` +} + +func (ReservedInstanceRecurringChargeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ReservedInstanceRecurringCharge)(nil)).Elem() +} + +func (i ReservedInstanceRecurringChargeArgs) ToReservedInstanceRecurringChargeOutput() ReservedInstanceRecurringChargeOutput { + return i.ToReservedInstanceRecurringChargeOutputWithContext(context.Background()) +} + +func (i ReservedInstanceRecurringChargeArgs) ToReservedInstanceRecurringChargeOutputWithContext(ctx context.Context) ReservedInstanceRecurringChargeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReservedInstanceRecurringChargeOutput) +} + +// ReservedInstanceRecurringChargeArrayInput is an input type that accepts ReservedInstanceRecurringChargeArray and ReservedInstanceRecurringChargeArrayOutput values. +// You can construct a concrete instance of `ReservedInstanceRecurringChargeArrayInput` via: +// +// ReservedInstanceRecurringChargeArray{ ReservedInstanceRecurringChargeArgs{...} } +type ReservedInstanceRecurringChargeArrayInput interface { + pulumi.Input + + ToReservedInstanceRecurringChargeArrayOutput() ReservedInstanceRecurringChargeArrayOutput + ToReservedInstanceRecurringChargeArrayOutputWithContext(context.Context) ReservedInstanceRecurringChargeArrayOutput +} + +type ReservedInstanceRecurringChargeArray []ReservedInstanceRecurringChargeInput + +func (ReservedInstanceRecurringChargeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ReservedInstanceRecurringCharge)(nil)).Elem() +} + +func (i ReservedInstanceRecurringChargeArray) ToReservedInstanceRecurringChargeArrayOutput() ReservedInstanceRecurringChargeArrayOutput { + return i.ToReservedInstanceRecurringChargeArrayOutputWithContext(context.Background()) +} + +func (i ReservedInstanceRecurringChargeArray) ToReservedInstanceRecurringChargeArrayOutputWithContext(ctx context.Context) ReservedInstanceRecurringChargeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReservedInstanceRecurringChargeArrayOutput) +} + +type ReservedInstanceRecurringChargeOutput struct{ *pulumi.OutputState } + +func (ReservedInstanceRecurringChargeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReservedInstanceRecurringCharge)(nil)).Elem() +} + +func (o ReservedInstanceRecurringChargeOutput) ToReservedInstanceRecurringChargeOutput() ReservedInstanceRecurringChargeOutput { + return o +} + +func (o ReservedInstanceRecurringChargeOutput) ToReservedInstanceRecurringChargeOutputWithContext(ctx context.Context) ReservedInstanceRecurringChargeOutput { + return o +} + +func (o ReservedInstanceRecurringChargeOutput) RecurringChargeAmount() pulumi.IntPtrOutput { + return o.ApplyT(func(v ReservedInstanceRecurringCharge) *int { return v.RecurringChargeAmount }).(pulumi.IntPtrOutput) +} + +func (o ReservedInstanceRecurringChargeOutput) RecurringChargeFrequency() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReservedInstanceRecurringCharge) *string { return v.RecurringChargeFrequency }).(pulumi.StringPtrOutput) +} + +type ReservedInstanceRecurringChargeArrayOutput struct{ *pulumi.OutputState } + +func (ReservedInstanceRecurringChargeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ReservedInstanceRecurringCharge)(nil)).Elem() +} + +func (o ReservedInstanceRecurringChargeArrayOutput) ToReservedInstanceRecurringChargeArrayOutput() ReservedInstanceRecurringChargeArrayOutput { + return o +} + +func (o ReservedInstanceRecurringChargeArrayOutput) ToReservedInstanceRecurringChargeArrayOutputWithContext(ctx context.Context) ReservedInstanceRecurringChargeArrayOutput { + return o +} + +func (o ReservedInstanceRecurringChargeArrayOutput) Index(i pulumi.IntInput) ReservedInstanceRecurringChargeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ReservedInstanceRecurringCharge { + return vs[0].([]ReservedInstanceRecurringCharge)[vs[1].(int)] + }).(ReservedInstanceRecurringChargeOutput) +} + type SecurityGroupIngress struct { // The CIDR block to accept Cidr *string `pulumi:"cidr"` @@ -2530,6 +2630,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ProxyAuthArrayInput)(nil)).Elem(), ProxyAuthArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ProxyDefaultTargetGroupConnectionPoolConfigInput)(nil)).Elem(), ProxyDefaultTargetGroupConnectionPoolConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProxyDefaultTargetGroupConnectionPoolConfigPtrInput)(nil)).Elem(), ProxyDefaultTargetGroupConnectionPoolConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReservedInstanceRecurringChargeInput)(nil)).Elem(), ReservedInstanceRecurringChargeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReservedInstanceRecurringChargeArrayInput)(nil)).Elem(), ReservedInstanceRecurringChargeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityGroupIngressInput)(nil)).Elem(), SecurityGroupIngressArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityGroupIngressArrayInput)(nil)).Elem(), SecurityGroupIngressArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetEngineVersionFilterInput)(nil)).Elem(), GetEngineVersionFilterArgs{}) @@ -2562,6 +2664,8 @@ func init() { pulumi.RegisterOutputType(ProxyAuthArrayOutput{}) pulumi.RegisterOutputType(ProxyDefaultTargetGroupConnectionPoolConfigOutput{}) pulumi.RegisterOutputType(ProxyDefaultTargetGroupConnectionPoolConfigPtrOutput{}) + pulumi.RegisterOutputType(ReservedInstanceRecurringChargeOutput{}) + pulumi.RegisterOutputType(ReservedInstanceRecurringChargeArrayOutput{}) pulumi.RegisterOutputType(SecurityGroupIngressOutput{}) pulumi.RegisterOutputType(SecurityGroupIngressArrayOutput{}) pulumi.RegisterOutputType(GetEngineVersionFilterOutput{}) diff --git a/sdk/go/aws/rds/reservedInstance.go b/sdk/go/aws/rds/reservedInstance.go new file mode 100644 index 00000000000..247c95c3ae8 --- /dev/null +++ b/sdk/go/aws/rds/reservedInstance.go @@ -0,0 +1,450 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rds + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// test, err := rds.GetReservedInstanceOffering(ctx, &rds.GetReservedInstanceOfferingArgs{ +// DbInstanceClass: "db.t2.micro", +// Duration: 31536000, +// MultiAz: false, +// OfferingType: "All Upfront", +// ProductDescription: "mysql", +// }, nil) +// if err != nil { +// return err +// } +// _, err = rds.NewReservedInstance(ctx, "example", &rds.ReservedInstanceArgs{ +// OfferingId: pulumi.String(test.OfferingId), +// ReservationId: pulumi.String("optionalCustomReservationID"), +// InstanceCount: pulumi.Int(3), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// RDS DB Instance Reservations can be imported using the `instance_id`, e.g., +// +// ```sh +// +// $ pulumi import aws:rds/reservedInstance:ReservedInstance reservation_instance CustomReservationID +// +// ``` +type ReservedInstance struct { + pulumi.CustomResourceState + + // ARN for the reserved DB instance. + Arn pulumi.StringOutput `pulumi:"arn"` + // Currency code for the reserved DB instance. + CurrencyCode pulumi.StringOutput `pulumi:"currencyCode"` + DbInstanceClass pulumi.StringOutput `pulumi:"dbInstanceClass"` + // Duration of the reservation in seconds. + Duration pulumi.IntOutput `pulumi:"duration"` + // Fixed price charged for this reserved DB instance. + FixedPrice pulumi.Float64Output `pulumi:"fixedPrice"` + // Number of instances to reserve. Default value is `1`. + InstanceCount pulumi.IntPtrOutput `pulumi:"instanceCount"` + // Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. + LeaseId pulumi.StringOutput `pulumi:"leaseId"` + // Whether the reservation applies to Multi-AZ deployments. + MultiAz pulumi.BoolOutput `pulumi:"multiAz"` + // ID of the Reserved DB instance offering to purchase. To determine an `offeringId`, see the `rds.getReservedInstanceOffering` data source. + OfferingId pulumi.StringOutput `pulumi:"offeringId"` + // Offering type of this reserved DB instance. + OfferingType pulumi.StringOutput `pulumi:"offeringType"` + // Description of the reserved DB instance. + ProductDescription pulumi.StringOutput `pulumi:"productDescription"` + // Recurring price charged to run this reserved DB instance. + RecurringCharges ReservedInstanceRecurringChargeArrayOutput `pulumi:"recurringCharges"` + ReservationId pulumi.StringPtrOutput `pulumi:"reservationId"` + // Time the reservation started. + StartTime pulumi.StringOutput `pulumi:"startTime"` + // State of the reserved DB instance. + State pulumi.StringOutput `pulumi:"state"` + // Map of tags to assign to the DB reservation. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + // Hourly price charged for this reserved DB instance. + UsagePrice pulumi.Float64Output `pulumi:"usagePrice"` +} + +// NewReservedInstance registers a new resource with the given unique name, arguments, and options. +func NewReservedInstance(ctx *pulumi.Context, + name string, args *ReservedInstanceArgs, opts ...pulumi.ResourceOption) (*ReservedInstance, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.OfferingId == nil { + return nil, errors.New("invalid value for required argument 'OfferingId'") + } + var resource ReservedInstance + err := ctx.RegisterResource("aws:rds/reservedInstance:ReservedInstance", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetReservedInstance gets an existing ReservedInstance 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 GetReservedInstance(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ReservedInstanceState, opts ...pulumi.ResourceOption) (*ReservedInstance, error) { + var resource ReservedInstance + err := ctx.ReadResource("aws:rds/reservedInstance:ReservedInstance", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ReservedInstance resources. +type reservedInstanceState struct { + // ARN for the reserved DB instance. + Arn *string `pulumi:"arn"` + // Currency code for the reserved DB instance. + CurrencyCode *string `pulumi:"currencyCode"` + DbInstanceClass *string `pulumi:"dbInstanceClass"` + // Duration of the reservation in seconds. + Duration *int `pulumi:"duration"` + // Fixed price charged for this reserved DB instance. + FixedPrice *float64 `pulumi:"fixedPrice"` + // Number of instances to reserve. Default value is `1`. + InstanceCount *int `pulumi:"instanceCount"` + // Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. + LeaseId *string `pulumi:"leaseId"` + // Whether the reservation applies to Multi-AZ deployments. + MultiAz *bool `pulumi:"multiAz"` + // ID of the Reserved DB instance offering to purchase. To determine an `offeringId`, see the `rds.getReservedInstanceOffering` data source. + OfferingId *string `pulumi:"offeringId"` + // Offering type of this reserved DB instance. + OfferingType *string `pulumi:"offeringType"` + // Description of the reserved DB instance. + ProductDescription *string `pulumi:"productDescription"` + // Recurring price charged to run this reserved DB instance. + RecurringCharges []ReservedInstanceRecurringCharge `pulumi:"recurringCharges"` + ReservationId *string `pulumi:"reservationId"` + // Time the reservation started. + StartTime *string `pulumi:"startTime"` + // State of the reserved DB instance. + State *string `pulumi:"state"` + // Map of tags to assign to the DB reservation. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + TagsAll map[string]string `pulumi:"tagsAll"` + // Hourly price charged for this reserved DB instance. + UsagePrice *float64 `pulumi:"usagePrice"` +} + +type ReservedInstanceState struct { + // ARN for the reserved DB instance. + Arn pulumi.StringPtrInput + // Currency code for the reserved DB instance. + CurrencyCode pulumi.StringPtrInput + DbInstanceClass pulumi.StringPtrInput + // Duration of the reservation in seconds. + Duration pulumi.IntPtrInput + // Fixed price charged for this reserved DB instance. + FixedPrice pulumi.Float64PtrInput + // Number of instances to reserve. Default value is `1`. + InstanceCount pulumi.IntPtrInput + // Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. + LeaseId pulumi.StringPtrInput + // Whether the reservation applies to Multi-AZ deployments. + MultiAz pulumi.BoolPtrInput + // ID of the Reserved DB instance offering to purchase. To determine an `offeringId`, see the `rds.getReservedInstanceOffering` data source. + OfferingId pulumi.StringPtrInput + // Offering type of this reserved DB instance. + OfferingType pulumi.StringPtrInput + // Description of the reserved DB instance. + ProductDescription pulumi.StringPtrInput + // Recurring price charged to run this reserved DB instance. + RecurringCharges ReservedInstanceRecurringChargeArrayInput + ReservationId pulumi.StringPtrInput + // Time the reservation started. + StartTime pulumi.StringPtrInput + // State of the reserved DB instance. + State pulumi.StringPtrInput + // Map of tags to assign to the DB reservation. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + TagsAll pulumi.StringMapInput + // Hourly price charged for this reserved DB instance. + UsagePrice pulumi.Float64PtrInput +} + +func (ReservedInstanceState) ElementType() reflect.Type { + return reflect.TypeOf((*reservedInstanceState)(nil)).Elem() +} + +type reservedInstanceArgs struct { + // Number of instances to reserve. Default value is `1`. + InstanceCount *int `pulumi:"instanceCount"` + // ID of the Reserved DB instance offering to purchase. To determine an `offeringId`, see the `rds.getReservedInstanceOffering` data source. + OfferingId string `pulumi:"offeringId"` + ReservationId *string `pulumi:"reservationId"` + // Map of tags to assign to the DB reservation. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + TagsAll map[string]string `pulumi:"tagsAll"` +} + +// The set of arguments for constructing a ReservedInstance resource. +type ReservedInstanceArgs struct { + // Number of instances to reserve. Default value is `1`. + InstanceCount pulumi.IntPtrInput + // ID of the Reserved DB instance offering to purchase. To determine an `offeringId`, see the `rds.getReservedInstanceOffering` data source. + OfferingId pulumi.StringInput + ReservationId pulumi.StringPtrInput + // Map of tags to assign to the DB reservation. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + TagsAll pulumi.StringMapInput +} + +func (ReservedInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*reservedInstanceArgs)(nil)).Elem() +} + +type ReservedInstanceInput interface { + pulumi.Input + + ToReservedInstanceOutput() ReservedInstanceOutput + ToReservedInstanceOutputWithContext(ctx context.Context) ReservedInstanceOutput +} + +func (*ReservedInstance) ElementType() reflect.Type { + return reflect.TypeOf((**ReservedInstance)(nil)).Elem() +} + +func (i *ReservedInstance) ToReservedInstanceOutput() ReservedInstanceOutput { + return i.ToReservedInstanceOutputWithContext(context.Background()) +} + +func (i *ReservedInstance) ToReservedInstanceOutputWithContext(ctx context.Context) ReservedInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReservedInstanceOutput) +} + +// ReservedInstanceArrayInput is an input type that accepts ReservedInstanceArray and ReservedInstanceArrayOutput values. +// You can construct a concrete instance of `ReservedInstanceArrayInput` via: +// +// ReservedInstanceArray{ ReservedInstanceArgs{...} } +type ReservedInstanceArrayInput interface { + pulumi.Input + + ToReservedInstanceArrayOutput() ReservedInstanceArrayOutput + ToReservedInstanceArrayOutputWithContext(context.Context) ReservedInstanceArrayOutput +} + +type ReservedInstanceArray []ReservedInstanceInput + +func (ReservedInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ReservedInstance)(nil)).Elem() +} + +func (i ReservedInstanceArray) ToReservedInstanceArrayOutput() ReservedInstanceArrayOutput { + return i.ToReservedInstanceArrayOutputWithContext(context.Background()) +} + +func (i ReservedInstanceArray) ToReservedInstanceArrayOutputWithContext(ctx context.Context) ReservedInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReservedInstanceArrayOutput) +} + +// ReservedInstanceMapInput is an input type that accepts ReservedInstanceMap and ReservedInstanceMapOutput values. +// You can construct a concrete instance of `ReservedInstanceMapInput` via: +// +// ReservedInstanceMap{ "key": ReservedInstanceArgs{...} } +type ReservedInstanceMapInput interface { + pulumi.Input + + ToReservedInstanceMapOutput() ReservedInstanceMapOutput + ToReservedInstanceMapOutputWithContext(context.Context) ReservedInstanceMapOutput +} + +type ReservedInstanceMap map[string]ReservedInstanceInput + +func (ReservedInstanceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ReservedInstance)(nil)).Elem() +} + +func (i ReservedInstanceMap) ToReservedInstanceMapOutput() ReservedInstanceMapOutput { + return i.ToReservedInstanceMapOutputWithContext(context.Background()) +} + +func (i ReservedInstanceMap) ToReservedInstanceMapOutputWithContext(ctx context.Context) ReservedInstanceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReservedInstanceMapOutput) +} + +type ReservedInstanceOutput struct{ *pulumi.OutputState } + +func (ReservedInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ReservedInstance)(nil)).Elem() +} + +func (o ReservedInstanceOutput) ToReservedInstanceOutput() ReservedInstanceOutput { + return o +} + +func (o ReservedInstanceOutput) ToReservedInstanceOutputWithContext(ctx context.Context) ReservedInstanceOutput { + return o +} + +// ARN for the reserved DB instance. +func (o ReservedInstanceOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// Currency code for the reserved DB instance. +func (o ReservedInstanceOutput) CurrencyCode() pulumi.StringOutput { + return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.CurrencyCode }).(pulumi.StringOutput) +} + +func (o ReservedInstanceOutput) DbInstanceClass() pulumi.StringOutput { + return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.DbInstanceClass }).(pulumi.StringOutput) +} + +// Duration of the reservation in seconds. +func (o ReservedInstanceOutput) Duration() pulumi.IntOutput { + return o.ApplyT(func(v *ReservedInstance) pulumi.IntOutput { return v.Duration }).(pulumi.IntOutput) +} + +// Fixed price charged for this reserved DB instance. +func (o ReservedInstanceOutput) FixedPrice() pulumi.Float64Output { + return o.ApplyT(func(v *ReservedInstance) pulumi.Float64Output { return v.FixedPrice }).(pulumi.Float64Output) +} + +// Number of instances to reserve. Default value is `1`. +func (o ReservedInstanceOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ReservedInstance) pulumi.IntPtrOutput { return v.InstanceCount }).(pulumi.IntPtrOutput) +} + +// Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. +func (o ReservedInstanceOutput) LeaseId() pulumi.StringOutput { + return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.LeaseId }).(pulumi.StringOutput) +} + +// Whether the reservation applies to Multi-AZ deployments. +func (o ReservedInstanceOutput) MultiAz() pulumi.BoolOutput { + return o.ApplyT(func(v *ReservedInstance) pulumi.BoolOutput { return v.MultiAz }).(pulumi.BoolOutput) +} + +// ID of the Reserved DB instance offering to purchase. To determine an `offeringId`, see the `rds.getReservedInstanceOffering` data source. +func (o ReservedInstanceOutput) OfferingId() pulumi.StringOutput { + return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.OfferingId }).(pulumi.StringOutput) +} + +// Offering type of this reserved DB instance. +func (o ReservedInstanceOutput) OfferingType() pulumi.StringOutput { + return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.OfferingType }).(pulumi.StringOutput) +} + +// Description of the reserved DB instance. +func (o ReservedInstanceOutput) ProductDescription() pulumi.StringOutput { + return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.ProductDescription }).(pulumi.StringOutput) +} + +// Recurring price charged to run this reserved DB instance. +func (o ReservedInstanceOutput) RecurringCharges() ReservedInstanceRecurringChargeArrayOutput { + return o.ApplyT(func(v *ReservedInstance) ReservedInstanceRecurringChargeArrayOutput { return v.RecurringCharges }).(ReservedInstanceRecurringChargeArrayOutput) +} + +func (o ReservedInstanceOutput) ReservationId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ReservedInstance) pulumi.StringPtrOutput { return v.ReservationId }).(pulumi.StringPtrOutput) +} + +// Time the reservation started. +func (o ReservedInstanceOutput) StartTime() pulumi.StringOutput { + return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.StartTime }).(pulumi.StringOutput) +} + +// State of the reserved DB instance. +func (o ReservedInstanceOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *ReservedInstance) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +// Map of tags to assign to the DB reservation. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +func (o ReservedInstanceOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *ReservedInstance) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +func (o ReservedInstanceOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *ReservedInstance) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +// Hourly price charged for this reserved DB instance. +func (o ReservedInstanceOutput) UsagePrice() pulumi.Float64Output { + return o.ApplyT(func(v *ReservedInstance) pulumi.Float64Output { return v.UsagePrice }).(pulumi.Float64Output) +} + +type ReservedInstanceArrayOutput struct{ *pulumi.OutputState } + +func (ReservedInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ReservedInstance)(nil)).Elem() +} + +func (o ReservedInstanceArrayOutput) ToReservedInstanceArrayOutput() ReservedInstanceArrayOutput { + return o +} + +func (o ReservedInstanceArrayOutput) ToReservedInstanceArrayOutputWithContext(ctx context.Context) ReservedInstanceArrayOutput { + return o +} + +func (o ReservedInstanceArrayOutput) Index(i pulumi.IntInput) ReservedInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ReservedInstance { + return vs[0].([]*ReservedInstance)[vs[1].(int)] + }).(ReservedInstanceOutput) +} + +type ReservedInstanceMapOutput struct{ *pulumi.OutputState } + +func (ReservedInstanceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ReservedInstance)(nil)).Elem() +} + +func (o ReservedInstanceMapOutput) ToReservedInstanceMapOutput() ReservedInstanceMapOutput { + return o +} + +func (o ReservedInstanceMapOutput) ToReservedInstanceMapOutputWithContext(ctx context.Context) ReservedInstanceMapOutput { + return o +} + +func (o ReservedInstanceMapOutput) MapIndex(k pulumi.StringInput) ReservedInstanceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ReservedInstance { + return vs[0].(map[string]*ReservedInstance)[vs[1].(string)] + }).(ReservedInstanceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ReservedInstanceInput)(nil)).Elem(), &ReservedInstance{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReservedInstanceArrayInput)(nil)).Elem(), ReservedInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReservedInstanceMapInput)(nil)).Elem(), ReservedInstanceMap{}) + pulumi.RegisterOutputType(ReservedInstanceOutput{}) + pulumi.RegisterOutputType(ReservedInstanceArrayOutput{}) + pulumi.RegisterOutputType(ReservedInstanceMapOutput{}) +} diff --git a/sdk/go/aws/s3control/init.go b/sdk/go/aws/s3control/init.go index d7ad71e42b4..e7d19a7303a 100644 --- a/sdk/go/aws/s3control/init.go +++ b/sdk/go/aws/s3control/init.go @@ -37,6 +37,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ObjectLambdaAccessPoint{} case "aws:s3control/objectLambdaAccessPointPolicy:ObjectLambdaAccessPointPolicy": r = &ObjectLambdaAccessPointPolicy{} + case "aws:s3control/storageLensConfiguration:StorageLensConfiguration": + r = &StorageLensConfiguration{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } @@ -90,4 +92,9 @@ func init() { "s3control/objectLambdaAccessPointPolicy", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "s3control/storageLensConfiguration", + &module{version}, + ) } diff --git a/sdk/go/aws/s3control/pulumiTypes.go b/sdk/go/aws/s3control/pulumiTypes.go index 324a974d853..4375f871426 100644 --- a/sdk/go/aws/s3control/pulumiTypes.go +++ b/sdk/go/aws/s3control/pulumiTypes.go @@ -1633,6 +1633,2705 @@ func (o ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTr }).(pulumi.StringPtrOutput) } +type StorageLensConfigurationStorageLensConfiguration struct { + // The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. + AccountLevel StorageLensConfigurationStorageLensConfigurationAccountLevel `pulumi:"accountLevel"` + // The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. + AwsOrg *StorageLensConfigurationStorageLensConfigurationAwsOrg `pulumi:"awsOrg"` + // Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. + DataExport *StorageLensConfigurationStorageLensConfigurationDataExport `pulumi:"dataExport"` + // Whether the S3 Storage Lens configuration is enabled. + Enabled bool `pulumi:"enabled"` + // What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. + Exclude *StorageLensConfigurationStorageLensConfigurationExclude `pulumi:"exclude"` + // What is included in this configuration. Conflicts with `exclude`. See Include below for more details. + Include *StorageLensConfigurationStorageLensConfigurationInclude `pulumi:"include"` +} + +// StorageLensConfigurationStorageLensConfigurationInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationArgs and StorageLensConfigurationStorageLensConfigurationOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationInput` via: +// +// StorageLensConfigurationStorageLensConfigurationArgs{...} +type StorageLensConfigurationStorageLensConfigurationInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationOutput() StorageLensConfigurationStorageLensConfigurationOutput + ToStorageLensConfigurationStorageLensConfigurationOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationOutput +} + +type StorageLensConfigurationStorageLensConfigurationArgs struct { + // The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. + AccountLevel StorageLensConfigurationStorageLensConfigurationAccountLevelInput `pulumi:"accountLevel"` + // The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. + AwsOrg StorageLensConfigurationStorageLensConfigurationAwsOrgPtrInput `pulumi:"awsOrg"` + // Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. + DataExport StorageLensConfigurationStorageLensConfigurationDataExportPtrInput `pulumi:"dataExport"` + // Whether the S3 Storage Lens configuration is enabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. + Exclude StorageLensConfigurationStorageLensConfigurationExcludePtrInput `pulumi:"exclude"` + // What is included in this configuration. Conflicts with `exclude`. See Include below for more details. + Include StorageLensConfigurationStorageLensConfigurationIncludePtrInput `pulumi:"include"` +} + +func (StorageLensConfigurationStorageLensConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfiguration)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationArgs) ToStorageLensConfigurationStorageLensConfigurationOutput() StorageLensConfigurationStorageLensConfigurationOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationArgs) ToStorageLensConfigurationStorageLensConfigurationOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationOutput) +} + +func (i StorageLensConfigurationStorageLensConfigurationArgs) ToStorageLensConfigurationStorageLensConfigurationPtrOutput() StorageLensConfigurationStorageLensConfigurationPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationPtrOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationArgs) ToStorageLensConfigurationStorageLensConfigurationPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationOutput).ToStorageLensConfigurationStorageLensConfigurationPtrOutputWithContext(ctx) +} + +// StorageLensConfigurationStorageLensConfigurationPtrInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationArgs, StorageLensConfigurationStorageLensConfigurationPtr and StorageLensConfigurationStorageLensConfigurationPtrOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationPtrInput` via: +// +// StorageLensConfigurationStorageLensConfigurationArgs{...} +// +// or: +// +// nil +type StorageLensConfigurationStorageLensConfigurationPtrInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationPtrOutput() StorageLensConfigurationStorageLensConfigurationPtrOutput + ToStorageLensConfigurationStorageLensConfigurationPtrOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationPtrOutput +} + +type storageLensConfigurationStorageLensConfigurationPtrType StorageLensConfigurationStorageLensConfigurationArgs + +func StorageLensConfigurationStorageLensConfigurationPtr(v *StorageLensConfigurationStorageLensConfigurationArgs) StorageLensConfigurationStorageLensConfigurationPtrInput { + return (*storageLensConfigurationStorageLensConfigurationPtrType)(v) +} + +func (*storageLensConfigurationStorageLensConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfiguration)(nil)).Elem() +} + +func (i *storageLensConfigurationStorageLensConfigurationPtrType) ToStorageLensConfigurationStorageLensConfigurationPtrOutput() StorageLensConfigurationStorageLensConfigurationPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *storageLensConfigurationStorageLensConfigurationPtrType) ToStorageLensConfigurationStorageLensConfigurationPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfiguration)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationOutput) ToStorageLensConfigurationStorageLensConfigurationOutput() StorageLensConfigurationStorageLensConfigurationOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationOutput) ToStorageLensConfigurationStorageLensConfigurationOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationOutput) ToStorageLensConfigurationStorageLensConfigurationPtrOutput() StorageLensConfigurationStorageLensConfigurationPtrOutput { + return o.ToStorageLensConfigurationStorageLensConfigurationPtrOutputWithContext(context.Background()) +} + +func (o StorageLensConfigurationStorageLensConfigurationOutput) ToStorageLensConfigurationStorageLensConfigurationPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StorageLensConfigurationStorageLensConfiguration) *StorageLensConfigurationStorageLensConfiguration { + return &v + }).(StorageLensConfigurationStorageLensConfigurationPtrOutput) +} + +// The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. +func (o StorageLensConfigurationStorageLensConfigurationOutput) AccountLevel() StorageLensConfigurationStorageLensConfigurationAccountLevelOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfiguration) StorageLensConfigurationStorageLensConfigurationAccountLevel { + return v.AccountLevel + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelOutput) +} + +// The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. +func (o StorageLensConfigurationStorageLensConfigurationOutput) AwsOrg() StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfiguration) *StorageLensConfigurationStorageLensConfigurationAwsOrg { + return v.AwsOrg + }).(StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput) +} + +// Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. +func (o StorageLensConfigurationStorageLensConfigurationOutput) DataExport() StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfiguration) *StorageLensConfigurationStorageLensConfigurationDataExport { + return v.DataExport + }).(StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput) +} + +// Whether the S3 Storage Lens configuration is enabled. +func (o StorageLensConfigurationStorageLensConfigurationOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfiguration) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. +func (o StorageLensConfigurationStorageLensConfigurationOutput) Exclude() StorageLensConfigurationStorageLensConfigurationExcludePtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfiguration) *StorageLensConfigurationStorageLensConfigurationExclude { + return v.Exclude + }).(StorageLensConfigurationStorageLensConfigurationExcludePtrOutput) +} + +// What is included in this configuration. Conflicts with `exclude`. See Include below for more details. +func (o StorageLensConfigurationStorageLensConfigurationOutput) Include() StorageLensConfigurationStorageLensConfigurationIncludePtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfiguration) *StorageLensConfigurationStorageLensConfigurationInclude { + return v.Include + }).(StorageLensConfigurationStorageLensConfigurationIncludePtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfiguration)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationPtrOutput) ToStorageLensConfigurationStorageLensConfigurationPtrOutput() StorageLensConfigurationStorageLensConfigurationPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationPtrOutput) ToStorageLensConfigurationStorageLensConfigurationPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationPtrOutput) Elem() StorageLensConfigurationStorageLensConfigurationOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfiguration) StorageLensConfigurationStorageLensConfiguration { + if v != nil { + return *v + } + var ret StorageLensConfigurationStorageLensConfiguration + return ret + }).(StorageLensConfigurationStorageLensConfigurationOutput) +} + +// The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. +func (o StorageLensConfigurationStorageLensConfigurationPtrOutput) AccountLevel() StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfiguration) *StorageLensConfigurationStorageLensConfigurationAccountLevel { + if v == nil { + return nil + } + return &v.AccountLevel + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput) +} + +// The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. +func (o StorageLensConfigurationStorageLensConfigurationPtrOutput) AwsOrg() StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfiguration) *StorageLensConfigurationStorageLensConfigurationAwsOrg { + if v == nil { + return nil + } + return v.AwsOrg + }).(StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput) +} + +// Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. +func (o StorageLensConfigurationStorageLensConfigurationPtrOutput) DataExport() StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfiguration) *StorageLensConfigurationStorageLensConfigurationDataExport { + if v == nil { + return nil + } + return v.DataExport + }).(StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput) +} + +// Whether the S3 Storage Lens configuration is enabled. +func (o StorageLensConfigurationStorageLensConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfiguration) *bool { + if v == nil { + return nil + } + return &v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. +func (o StorageLensConfigurationStorageLensConfigurationPtrOutput) Exclude() StorageLensConfigurationStorageLensConfigurationExcludePtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfiguration) *StorageLensConfigurationStorageLensConfigurationExclude { + if v == nil { + return nil + } + return v.Exclude + }).(StorageLensConfigurationStorageLensConfigurationExcludePtrOutput) +} + +// What is included in this configuration. Conflicts with `exclude`. See Include below for more details. +func (o StorageLensConfigurationStorageLensConfigurationPtrOutput) Include() StorageLensConfigurationStorageLensConfigurationIncludePtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfiguration) *StorageLensConfigurationStorageLensConfigurationInclude { + if v == nil { + return nil + } + return v.Include + }).(StorageLensConfigurationStorageLensConfigurationIncludePtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevel struct { + // S3 Storage Lens activity metrics. See Activity Metrics below for more details. + ActivityMetrics *StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics `pulumi:"activityMetrics"` + // S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. + BucketLevel StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel `pulumi:"bucketLevel"` +} + +// StorageLensConfigurationStorageLensConfigurationAccountLevelInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationAccountLevelArgs and StorageLensConfigurationStorageLensConfigurationAccountLevelOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationAccountLevelInput` via: +// +// StorageLensConfigurationStorageLensConfigurationAccountLevelArgs{...} +type StorageLensConfigurationStorageLensConfigurationAccountLevelInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationAccountLevelOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelOutput + ToStorageLensConfigurationStorageLensConfigurationAccountLevelOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelOutput +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelArgs struct { + // S3 Storage Lens activity metrics. See Activity Metrics below for more details. + ActivityMetrics StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrInput `pulumi:"activityMetrics"` + // S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. + BucketLevel StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelInput `pulumi:"bucketLevel"` +} + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevel)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelOutput) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelOutput).ToStorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutputWithContext(ctx) +} + +// StorageLensConfigurationStorageLensConfigurationAccountLevelPtrInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationAccountLevelArgs, StorageLensConfigurationStorageLensConfigurationAccountLevelPtr and StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationAccountLevelPtrInput` via: +// +// StorageLensConfigurationStorageLensConfigurationAccountLevelArgs{...} +// +// or: +// +// nil +type StorageLensConfigurationStorageLensConfigurationAccountLevelPtrInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput + ToStorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput +} + +type storageLensConfigurationStorageLensConfigurationAccountLevelPtrType StorageLensConfigurationStorageLensConfigurationAccountLevelArgs + +func StorageLensConfigurationStorageLensConfigurationAccountLevelPtr(v *StorageLensConfigurationStorageLensConfigurationAccountLevelArgs) StorageLensConfigurationStorageLensConfigurationAccountLevelPtrInput { + return (*storageLensConfigurationStorageLensConfigurationAccountLevelPtrType)(v) +} + +func (*storageLensConfigurationStorageLensConfigurationAccountLevelPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationAccountLevel)(nil)).Elem() +} + +func (i *storageLensConfigurationStorageLensConfigurationAccountLevelPtrType) ToStorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutputWithContext(context.Background()) +} + +func (i *storageLensConfigurationStorageLensConfigurationAccountLevelPtrType) ToStorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevel)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput { + return o.ToStorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutputWithContext(context.Background()) +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StorageLensConfigurationStorageLensConfigurationAccountLevel) *StorageLensConfigurationStorageLensConfigurationAccountLevel { + return &v + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput) +} + +// S3 Storage Lens activity metrics. See Activity Metrics below for more details. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelOutput) ActivityMetrics() StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationAccountLevel) *StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics { + return v.ActivityMetrics + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput) +} + +// S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelOutput) BucketLevel() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationAccountLevel) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel { + return v.BucketLevel + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationAccountLevel)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput) Elem() StorageLensConfigurationStorageLensConfigurationAccountLevelOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevel) StorageLensConfigurationStorageLensConfigurationAccountLevel { + if v != nil { + return *v + } + var ret StorageLensConfigurationStorageLensConfigurationAccountLevel + return ret + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelOutput) +} + +// S3 Storage Lens activity metrics. See Activity Metrics below for more details. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput) ActivityMetrics() StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevel) *StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics { + if v == nil { + return nil + } + return v.ActivityMetrics + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput) +} + +// S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput) BucketLevel() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevel) *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel { + if v == nil { + return nil + } + return &v.BucketLevel + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics struct { + // Whether the activity metrics are enabled. + Enabled *bool `pulumi:"enabled"` +} + +// StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs and StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsInput` via: +// +// StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs{...} +type StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput + ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs struct { + // Whether the activity metrics are enabled. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +} + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput).ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutputWithContext(ctx) +} + +// StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs, StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtr and StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrInput` via: +// +// StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs{...} +// +// or: +// +// nil +type StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput + ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput +} + +type storageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrType StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs + +func StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtr(v *StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs) StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrInput { + return (*storageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrType)(v) +} + +func (*storageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics)(nil)).Elem() +} + +func (i *storageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrType) ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutputWithContext(context.Background()) +} + +func (i *storageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrType) ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput { + return o.ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutputWithContext(context.Background()) +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics) *StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics { + return &v + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput) +} + +// Whether the activity metrics are enabled. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics) *bool { + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput) Elem() StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics) StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics { + if v != nil { + return *v + } + var ret StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics + return ret + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput) +} + +// Whether the activity metrics are enabled. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel struct { + // S3 Storage Lens activity metrics. See Activity Metrics above for more details. + ActivityMetrics *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics `pulumi:"activityMetrics"` + // Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. + PrefixLevel *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel `pulumi:"prefixLevel"` +} + +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs and StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelInput` via: +// +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs{...} +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs struct { + // S3 Storage Lens activity metrics. See Activity Metrics above for more details. + ActivityMetrics StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrInput `pulumi:"activityMetrics"` + // Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. + PrefixLevel StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrInput `pulumi:"prefixLevel"` +} + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput).ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutputWithContext(ctx) +} + +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs, StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtr and StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrInput` via: +// +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs{...} +// +// or: +// +// nil +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput +} + +type storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrType StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs + +func StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtr(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrInput { + return (*storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrType)(v) +} + +func (*storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel)(nil)).Elem() +} + +func (i *storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrType) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutputWithContext(context.Background()) +} + +func (i *storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrType) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput { + return o.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutputWithContext(context.Background()) +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel) *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel { + return &v + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput) +} + +// S3 Storage Lens activity metrics. See Activity Metrics above for more details. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput) ActivityMetrics() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel) *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics { + return v.ActivityMetrics + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput) +} + +// Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput) PrefixLevel() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel) *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel { + return v.PrefixLevel + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput) Elem() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel { + if v != nil { + return *v + } + var ret StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel + return ret + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput) +} + +// S3 Storage Lens activity metrics. See Activity Metrics above for more details. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput) ActivityMetrics() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel) *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics { + if v == nil { + return nil + } + return v.ActivityMetrics + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput) +} + +// Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput) PrefixLevel() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel) *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel { + if v == nil { + return nil + } + return v.PrefixLevel + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics struct { + // Whether the activity metrics are enabled. + Enabled *bool `pulumi:"enabled"` +} + +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs and StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsInput` via: +// +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs{...} +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs struct { + // Whether the activity metrics are enabled. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +} + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput).ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutputWithContext(ctx) +} + +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs, StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtr and StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrInput` via: +// +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs{...} +// +// or: +// +// nil +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput +} + +type storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrType StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs + +func StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtr(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrInput { + return (*storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrType)(v) +} + +func (*storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics)(nil)).Elem() +} + +func (i *storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrType) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutputWithContext(context.Background()) +} + +func (i *storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrType) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput { + return o.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutputWithContext(context.Background()) +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics) *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics { + return &v + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput) +} + +// Whether the activity metrics are enabled. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics) *bool { + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput) Elem() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics { + if v != nil { + return *v + } + var ret StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics + return ret + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput) +} + +// Whether the activity metrics are enabled. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel struct { + // Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. + StorageMetrics StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics `pulumi:"storageMetrics"` +} + +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs and StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelInput` via: +// +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs{...} +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs struct { + // Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. + StorageMetrics StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsInput `pulumi:"storageMetrics"` +} + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput).ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutputWithContext(ctx) +} + +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs, StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtr and StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrInput` via: +// +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs{...} +// +// or: +// +// nil +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput +} + +type storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrType StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs + +func StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtr(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrInput { + return (*storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrType)(v) +} + +func (*storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel)(nil)).Elem() +} + +func (i *storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrType) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutputWithContext(context.Background()) +} + +func (i *storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrType) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput { + return o.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutputWithContext(context.Background()) +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel) *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel { + return &v + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput) +} + +// Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput) StorageMetrics() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics { + return v.StorageMetrics + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput) Elem() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel { + if v != nil { + return *v + } + var ret StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel + return ret + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput) +} + +// Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput) StorageMetrics() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel) *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics { + if v == nil { + return nil + } + return &v.StorageMetrics + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics struct { + // Whether prefix-level storage metrics are enabled. + Enabled *bool `pulumi:"enabled"` + // Selection criteria. See Selection Criteria below for more details. + SelectionCriteria *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria `pulumi:"selectionCriteria"` +} + +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs and StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsInput` via: +// +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs{...} +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs struct { + // Whether prefix-level storage metrics are enabled. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + // Selection criteria. See Selection Criteria below for more details. + SelectionCriteria StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrInput `pulumi:"selectionCriteria"` +} + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput).ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutputWithContext(ctx) +} + +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs, StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtr and StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrInput` via: +// +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs{...} +// +// or: +// +// nil +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput +} + +type storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrType StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs + +func StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtr(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrInput { + return (*storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrType)(v) +} + +func (*storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics)(nil)).Elem() +} + +func (i *storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrType) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutputWithContext(context.Background()) +} + +func (i *storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrType) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput { + return o.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutputWithContext(context.Background()) +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics) *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics { + return &v + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput) +} + +// Whether prefix-level storage metrics are enabled. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics) *bool { + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// Selection criteria. See Selection Criteria below for more details. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput) SelectionCriteria() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics) *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria { + return v.SelectionCriteria + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput) Elem() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics { + if v != nil { + return *v + } + var ret StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics + return ret + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput) +} + +// Whether prefix-level storage metrics are enabled. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// Selection criteria. See Selection Criteria below for more details. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput) SelectionCriteria() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics) *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria { + if v == nil { + return nil + } + return v.SelectionCriteria + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria struct { + // The delimiter of the selection criteria being used. + Delimiter *string `pulumi:"delimiter"` + // The max depth of the selection criteria. + MaxDepth *int `pulumi:"maxDepth"` + // The minimum number of storage bytes percentage whose metrics will be selected. + MinStorageBytesPercentage *float64 `pulumi:"minStorageBytesPercentage"` +} + +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs and StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaInput` via: +// +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs{...} +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs struct { + // The delimiter of the selection criteria being used. + Delimiter pulumi.StringPtrInput `pulumi:"delimiter"` + // The max depth of the selection criteria. + MaxDepth pulumi.IntPtrInput `pulumi:"maxDepth"` + // The minimum number of storage bytes percentage whose metrics will be selected. + MinStorageBytesPercentage pulumi.Float64PtrInput `pulumi:"minStorageBytesPercentage"` +} + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput).ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutputWithContext(ctx) +} + +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs, StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtr and StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrInput` via: +// +// StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs{...} +// +// or: +// +// nil +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput + ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput +} + +type storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrType StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs + +func StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtr(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrInput { + return (*storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrType)(v) +} + +func (*storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria)(nil)).Elem() +} + +func (i *storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrType) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutputWithContext(context.Background()) +} + +func (i *storageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrType) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput { + return o.ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutputWithContext(context.Background()) +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria) *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria { + return &v + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput) +} + +// The delimiter of the selection criteria being used. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput) Delimiter() pulumi.StringPtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria) *string { + return v.Delimiter + }).(pulumi.StringPtrOutput) +} + +// The max depth of the selection criteria. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput) MaxDepth() pulumi.IntPtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria) *int { + return v.MaxDepth + }).(pulumi.IntPtrOutput) +} + +// The minimum number of storage bytes percentage whose metrics will be selected. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput) MinStorageBytesPercentage() pulumi.Float64PtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria) *float64 { + return v.MinStorageBytesPercentage + }).(pulumi.Float64PtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput) ToStorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput) Elem() StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria) StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria { + if v != nil { + return *v + } + var ret StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria + return ret + }).(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput) +} + +// The delimiter of the selection criteria being used. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput) Delimiter() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria) *string { + if v == nil { + return nil + } + return v.Delimiter + }).(pulumi.StringPtrOutput) +} + +// The max depth of the selection criteria. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput) MaxDepth() pulumi.IntPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria) *int { + if v == nil { + return nil + } + return v.MaxDepth + }).(pulumi.IntPtrOutput) +} + +// The minimum number of storage bytes percentage whose metrics will be selected. +func (o StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput) MinStorageBytesPercentage() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria) *float64 { + if v == nil { + return nil + } + return v.MinStorageBytesPercentage + }).(pulumi.Float64PtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAwsOrg struct { + // The Amazon Resource Name (ARN) of the Amazon Web Services organization. + Arn string `pulumi:"arn"` +} + +// StorageLensConfigurationStorageLensConfigurationAwsOrgInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationAwsOrgArgs and StorageLensConfigurationStorageLensConfigurationAwsOrgOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationAwsOrgInput` via: +// +// StorageLensConfigurationStorageLensConfigurationAwsOrgArgs{...} +type StorageLensConfigurationStorageLensConfigurationAwsOrgInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationAwsOrgOutput() StorageLensConfigurationStorageLensConfigurationAwsOrgOutput + ToStorageLensConfigurationStorageLensConfigurationAwsOrgOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationAwsOrgOutput +} + +type StorageLensConfigurationStorageLensConfigurationAwsOrgArgs struct { + // The Amazon Resource Name (ARN) of the Amazon Web Services organization. + Arn pulumi.StringInput `pulumi:"arn"` +} + +func (StorageLensConfigurationStorageLensConfigurationAwsOrgArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAwsOrg)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationAwsOrgArgs) ToStorageLensConfigurationStorageLensConfigurationAwsOrgOutput() StorageLensConfigurationStorageLensConfigurationAwsOrgOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAwsOrgOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationAwsOrgArgs) ToStorageLensConfigurationStorageLensConfigurationAwsOrgOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAwsOrgOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAwsOrgOutput) +} + +func (i StorageLensConfigurationStorageLensConfigurationAwsOrgArgs) ToStorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput() StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationAwsOrgArgs) ToStorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAwsOrgOutput).ToStorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutputWithContext(ctx) +} + +// StorageLensConfigurationStorageLensConfigurationAwsOrgPtrInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationAwsOrgArgs, StorageLensConfigurationStorageLensConfigurationAwsOrgPtr and StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationAwsOrgPtrInput` via: +// +// StorageLensConfigurationStorageLensConfigurationAwsOrgArgs{...} +// +// or: +// +// nil +type StorageLensConfigurationStorageLensConfigurationAwsOrgPtrInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput() StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput + ToStorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput +} + +type storageLensConfigurationStorageLensConfigurationAwsOrgPtrType StorageLensConfigurationStorageLensConfigurationAwsOrgArgs + +func StorageLensConfigurationStorageLensConfigurationAwsOrgPtr(v *StorageLensConfigurationStorageLensConfigurationAwsOrgArgs) StorageLensConfigurationStorageLensConfigurationAwsOrgPtrInput { + return (*storageLensConfigurationStorageLensConfigurationAwsOrgPtrType)(v) +} + +func (*storageLensConfigurationStorageLensConfigurationAwsOrgPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationAwsOrg)(nil)).Elem() +} + +func (i *storageLensConfigurationStorageLensConfigurationAwsOrgPtrType) ToStorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput() StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutputWithContext(context.Background()) +} + +func (i *storageLensConfigurationStorageLensConfigurationAwsOrgPtrType) ToStorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAwsOrgOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationAwsOrgOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAwsOrg)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationAwsOrgOutput) ToStorageLensConfigurationStorageLensConfigurationAwsOrgOutput() StorageLensConfigurationStorageLensConfigurationAwsOrgOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAwsOrgOutput) ToStorageLensConfigurationStorageLensConfigurationAwsOrgOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAwsOrgOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAwsOrgOutput) ToStorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput() StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput { + return o.ToStorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutputWithContext(context.Background()) +} + +func (o StorageLensConfigurationStorageLensConfigurationAwsOrgOutput) ToStorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StorageLensConfigurationStorageLensConfigurationAwsOrg) *StorageLensConfigurationStorageLensConfigurationAwsOrg { + return &v + }).(StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput) +} + +// The Amazon Resource Name (ARN) of the Amazon Web Services organization. +func (o StorageLensConfigurationStorageLensConfigurationAwsOrgOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationAwsOrg) string { return v.Arn }).(pulumi.StringOutput) +} + +type StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationAwsOrg)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput) ToStorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput() StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput) ToStorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput) Elem() StorageLensConfigurationStorageLensConfigurationAwsOrgOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAwsOrg) StorageLensConfigurationStorageLensConfigurationAwsOrg { + if v != nil { + return *v + } + var ret StorageLensConfigurationStorageLensConfigurationAwsOrg + return ret + }).(StorageLensConfigurationStorageLensConfigurationAwsOrgOutput) +} + +// The Amazon Resource Name (ARN) of the Amazon Web Services organization. +func (o StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationAwsOrg) *string { + if v == nil { + return nil + } + return &v.Arn + }).(pulumi.StringPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationDataExport struct { + // Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. + CloudWatchMetrics *StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics `pulumi:"cloudWatchMetrics"` + // The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. + S3BucketDestination *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination `pulumi:"s3BucketDestination"` +} + +// StorageLensConfigurationStorageLensConfigurationDataExportInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationDataExportArgs and StorageLensConfigurationStorageLensConfigurationDataExportOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationDataExportInput` via: +// +// StorageLensConfigurationStorageLensConfigurationDataExportArgs{...} +type StorageLensConfigurationStorageLensConfigurationDataExportInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationDataExportOutput() StorageLensConfigurationStorageLensConfigurationDataExportOutput + ToStorageLensConfigurationStorageLensConfigurationDataExportOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationDataExportOutput +} + +type StorageLensConfigurationStorageLensConfigurationDataExportArgs struct { + // Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. + CloudWatchMetrics StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrInput `pulumi:"cloudWatchMetrics"` + // The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. + S3BucketDestination StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrInput `pulumi:"s3BucketDestination"` +} + +func (StorageLensConfigurationStorageLensConfigurationDataExportArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExport)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportOutput() StorageLensConfigurationStorageLensConfigurationDataExportOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationDataExportOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationDataExportOutput) +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationDataExportPtrOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationDataExportOutput).ToStorageLensConfigurationStorageLensConfigurationDataExportPtrOutputWithContext(ctx) +} + +// StorageLensConfigurationStorageLensConfigurationDataExportPtrInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationDataExportArgs, StorageLensConfigurationStorageLensConfigurationDataExportPtr and StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationDataExportPtrInput` via: +// +// StorageLensConfigurationStorageLensConfigurationDataExportArgs{...} +// +// or: +// +// nil +type StorageLensConfigurationStorageLensConfigurationDataExportPtrInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationDataExportPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput + ToStorageLensConfigurationStorageLensConfigurationDataExportPtrOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput +} + +type storageLensConfigurationStorageLensConfigurationDataExportPtrType StorageLensConfigurationStorageLensConfigurationDataExportArgs + +func StorageLensConfigurationStorageLensConfigurationDataExportPtr(v *StorageLensConfigurationStorageLensConfigurationDataExportArgs) StorageLensConfigurationStorageLensConfigurationDataExportPtrInput { + return (*storageLensConfigurationStorageLensConfigurationDataExportPtrType)(v) +} + +func (*storageLensConfigurationStorageLensConfigurationDataExportPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationDataExport)(nil)).Elem() +} + +func (i *storageLensConfigurationStorageLensConfigurationDataExportPtrType) ToStorageLensConfigurationStorageLensConfigurationDataExportPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationDataExportPtrOutputWithContext(context.Background()) +} + +func (i *storageLensConfigurationStorageLensConfigurationDataExportPtrType) ToStorageLensConfigurationStorageLensConfigurationDataExportPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationDataExportOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationDataExportOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExport)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportOutput() StorageLensConfigurationStorageLensConfigurationDataExportOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput { + return o.ToStorageLensConfigurationStorageLensConfigurationDataExportPtrOutputWithContext(context.Background()) +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StorageLensConfigurationStorageLensConfigurationDataExport) *StorageLensConfigurationStorageLensConfigurationDataExport { + return &v + }).(StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput) +} + +// Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. +func (o StorageLensConfigurationStorageLensConfigurationDataExportOutput) CloudWatchMetrics() StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationDataExport) *StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics { + return v.CloudWatchMetrics + }).(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput) +} + +// The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. +func (o StorageLensConfigurationStorageLensConfigurationDataExportOutput) S3BucketDestination() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationDataExport) *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination { + return v.S3BucketDestination + }).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationDataExport)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput) Elem() StorageLensConfigurationStorageLensConfigurationDataExportOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationDataExport) StorageLensConfigurationStorageLensConfigurationDataExport { + if v != nil { + return *v + } + var ret StorageLensConfigurationStorageLensConfigurationDataExport + return ret + }).(StorageLensConfigurationStorageLensConfigurationDataExportOutput) +} + +// Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. +func (o StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput) CloudWatchMetrics() StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationDataExport) *StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics { + if v == nil { + return nil + } + return v.CloudWatchMetrics + }).(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput) +} + +// The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. +func (o StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput) S3BucketDestination() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationDataExport) *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination { + if v == nil { + return nil + } + return v.S3BucketDestination + }).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics struct { + // Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. + Enabled bool `pulumi:"enabled"` +} + +// StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs and StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsInput` via: +// +// StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs{...} +type StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput() StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput + ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput +} + +type StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs struct { + // Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` +} + +func (StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput() StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput) +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput).ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutputWithContext(ctx) +} + +// StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs, StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtr and StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrInput` via: +// +// StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs{...} +// +// or: +// +// nil +type StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput + ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput +} + +type storageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrType StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs + +func StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtr(v *StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs) StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrInput { + return (*storageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrType)(v) +} + +func (*storageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics)(nil)).Elem() +} + +func (i *storageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrType) ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutputWithContext(context.Background()) +} + +func (i *storageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrType) ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput() StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput { + return o.ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutputWithContext(context.Background()) +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics) *StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics { + return &v + }).(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput) +} + +// Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. +func (o StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics) bool { + return v.Enabled + }).(pulumi.BoolOutput) +} + +type StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput) Elem() StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics) StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics { + if v != nil { + return *v + } + var ret StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics + return ret + }).(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput) +} + +// Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. +func (o StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics) *bool { + if v == nil { + return nil + } + return &v.Enabled + }).(pulumi.BoolPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination struct { + // The account ID of the owner of the S3 Storage Lens metrics export bucket. + AccountId string `pulumi:"accountId"` + // The Amazon Resource Name (ARN) of the bucket. + Arn string `pulumi:"arn"` + // Encryption of the metrics exports in this bucket. See Encryption below for more details. + Encryption *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption `pulumi:"encryption"` + // The export format. Valid values: `CSV`, `Parquet`. + Format string `pulumi:"format"` + // The schema version of the export file. Valid values: `V_1`. + OutputSchemaVersion string `pulumi:"outputSchemaVersion"` + // The prefix of the destination bucket where the metrics export will be delivered. + Prefix *string `pulumi:"prefix"` +} + +// StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs and StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationInput` via: +// +// StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs{...} +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput + ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput +} + +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs struct { + // The account ID of the owner of the S3 Storage Lens metrics export bucket. + AccountId pulumi.StringInput `pulumi:"accountId"` + // The Amazon Resource Name (ARN) of the bucket. + Arn pulumi.StringInput `pulumi:"arn"` + // Encryption of the metrics exports in this bucket. See Encryption below for more details. + Encryption StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrInput `pulumi:"encryption"` + // The export format. Valid values: `CSV`, `Parquet`. + Format pulumi.StringInput `pulumi:"format"` + // The schema version of the export file. Valid values: `V_1`. + OutputSchemaVersion pulumi.StringInput `pulumi:"outputSchemaVersion"` + // The prefix of the destination bucket where the metrics export will be delivered. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` +} + +func (StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput) +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput).ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutputWithContext(ctx) +} + +// StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs, StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtr and StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrInput` via: +// +// StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs{...} +// +// or: +// +// nil +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput + ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput +} + +type storageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrType StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs + +func StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtr(v *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrInput { + return (*storageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrType)(v) +} + +func (*storageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination)(nil)).Elem() +} + +func (i *storageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrType) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutputWithContext(context.Background()) +} + +func (i *storageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrType) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput { + return o.ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutputWithContext(context.Background()) +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination) *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination { + return &v + }).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput) +} + +// The account ID of the owner of the S3 Storage Lens metrics export bucket. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination) string { + return v.AccountId + }).(pulumi.StringOutput) +} + +// The Amazon Resource Name (ARN) of the bucket. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination) string { + return v.Arn + }).(pulumi.StringOutput) +} + +// Encryption of the metrics exports in this bucket. See Encryption below for more details. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput) Encryption() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination) *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption { + return v.Encryption + }).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput) +} + +// The export format. Valid values: `CSV`, `Parquet`. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput) Format() pulumi.StringOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination) string { + return v.Format + }).(pulumi.StringOutput) +} + +// The schema version of the export file. Valid values: `V_1`. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput) OutputSchemaVersion() pulumi.StringOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination) string { + return v.OutputSchemaVersion + }).(pulumi.StringOutput) +} + +// The prefix of the destination bucket where the metrics export will be delivered. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination) *string { + return v.Prefix + }).(pulumi.StringPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput) Elem() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination { + if v != nil { + return *v + } + var ret StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination + return ret + }).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput) +} + +// The account ID of the owner of the S3 Storage Lens metrics export bucket. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput) AccountId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination) *string { + if v == nil { + return nil + } + return &v.AccountId + }).(pulumi.StringPtrOutput) +} + +// The Amazon Resource Name (ARN) of the bucket. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination) *string { + if v == nil { + return nil + } + return &v.Arn + }).(pulumi.StringPtrOutput) +} + +// Encryption of the metrics exports in this bucket. See Encryption below for more details. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput) Encryption() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination) *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption { + if v == nil { + return nil + } + return v.Encryption + }).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput) +} + +// The export format. Valid values: `CSV`, `Parquet`. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput) Format() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination) *string { + if v == nil { + return nil + } + return &v.Format + }).(pulumi.StringPtrOutput) +} + +// The schema version of the export file. Valid values: `V_1`. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput) OutputSchemaVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination) *string { + if v == nil { + return nil + } + return &v.OutputSchemaVersion + }).(pulumi.StringPtrOutput) +} + +// The prefix of the destination bucket where the metrics export will be delivered. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination) *string { + if v == nil { + return nil + } + return v.Prefix + }).(pulumi.StringPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption struct { + // SSE-KMS encryption. See SSE KMS below for more details. + SseKms *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms `pulumi:"sseKms"` + // SSE-S3 encryption. An empty configuration block `{}` should be used. + SseS3s []StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3 `pulumi:"sseS3s"` +} + +// StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs and StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionInput` via: +// +// StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs{...} +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput + ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput +} + +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs struct { + // SSE-KMS encryption. See SSE KMS below for more details. + SseKms StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrInput `pulumi:"sseKms"` + // SSE-S3 encryption. An empty configuration block `{}` should be used. + SseS3s StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayInput `pulumi:"sseS3s"` +} + +func (StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput) +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput).ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutputWithContext(ctx) +} + +// StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs, StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtr and StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrInput` via: +// +// StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs{...} +// +// or: +// +// nil +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput + ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput +} + +type storageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrType StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs + +func StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtr(v *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrInput { + return (*storageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrType)(v) +} + +func (*storageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption)(nil)).Elem() +} + +func (i *storageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrType) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutputWithContext(context.Background()) +} + +func (i *storageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrType) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput { + return o.ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutputWithContext(context.Background()) +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption) *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption { + return &v + }).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput) +} + +// SSE-KMS encryption. See SSE KMS below for more details. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput) SseKms() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption) *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms { + return v.SseKms + }).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput) +} + +// SSE-S3 encryption. An empty configuration block `{}` should be used. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput) SseS3s() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption) []StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3 { + return v.SseS3s + }).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput) +} + +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput) Elem() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption { + if v != nil { + return *v + } + var ret StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption + return ret + }).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput) +} + +// SSE-KMS encryption. See SSE KMS below for more details. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput) SseKms() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption) *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms { + if v == nil { + return nil + } + return v.SseKms + }).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput) +} + +// SSE-S3 encryption. An empty configuration block `{}` should be used. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput) SseS3s() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption) []StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3 { + if v == nil { + return nil + } + return v.SseS3s + }).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput) +} + +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms struct { + // KMS key ARN. + KeyId string `pulumi:"keyId"` +} + +// StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs and StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsInput` via: +// +// StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs{...} +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput + ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput +} + +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs struct { + // KMS key ARN. + KeyId pulumi.StringInput `pulumi:"keyId"` +} + +func (StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput) +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput).ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutputWithContext(ctx) +} + +// StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs, StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtr and StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrInput` via: +// +// StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs{...} +// +// or: +// +// nil +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput + ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput +} + +type storageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrType StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs + +func StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtr(v *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrInput { + return (*storageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrType)(v) +} + +func (*storageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms)(nil)).Elem() +} + +func (i *storageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrType) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutputWithContext(context.Background()) +} + +func (i *storageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrType) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput { + return o.ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutputWithContext(context.Background()) +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms) *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms { + return &v + }).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput) +} + +// KMS key ARN. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput) KeyId() pulumi.StringOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms) string { + return v.KeyId + }).(pulumi.StringOutput) +} + +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput) Elem() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms { + if v != nil { + return *v + } + var ret StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms + return ret + }).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput) +} + +// KMS key ARN. +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput) KeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms) *string { + if v == nil { + return nil + } + return &v.KeyId + }).(pulumi.StringPtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3 struct { +} + +// StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Input is an input type that accepts StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args and StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Input` via: +// +// StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args{...} +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Input interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output + ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3OutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output +} + +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args struct { +} + +func (StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output { + return i.ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3OutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3OutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output) +} + +// StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Array and StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayInput` via: +// +// StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Array{ StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args{...} } +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput + ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput +} + +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Array []StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Input + +func (StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Array) ElementType() reflect.Type { + return reflect.TypeOf((*[]StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Array) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Array) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput) +} + +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3OutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output { + return o +} + +type StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput() StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput) ToStorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput) Index(i pulumi.IntInput) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3 { + return vs[0].([]StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3)[vs[1].(int)] + }).(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output) +} + +type StorageLensConfigurationStorageLensConfigurationExclude struct { + // List of S3 bucket ARNs. + Buckets []string `pulumi:"buckets"` + // List of AWS Regions. + Regions []string `pulumi:"regions"` +} + +// StorageLensConfigurationStorageLensConfigurationExcludeInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationExcludeArgs and StorageLensConfigurationStorageLensConfigurationExcludeOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationExcludeInput` via: +// +// StorageLensConfigurationStorageLensConfigurationExcludeArgs{...} +type StorageLensConfigurationStorageLensConfigurationExcludeInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationExcludeOutput() StorageLensConfigurationStorageLensConfigurationExcludeOutput + ToStorageLensConfigurationStorageLensConfigurationExcludeOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationExcludeOutput +} + +type StorageLensConfigurationStorageLensConfigurationExcludeArgs struct { + // List of S3 bucket ARNs. + Buckets pulumi.StringArrayInput `pulumi:"buckets"` + // List of AWS Regions. + Regions pulumi.StringArrayInput `pulumi:"regions"` +} + +func (StorageLensConfigurationStorageLensConfigurationExcludeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationExclude)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationExcludeArgs) ToStorageLensConfigurationStorageLensConfigurationExcludeOutput() StorageLensConfigurationStorageLensConfigurationExcludeOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationExcludeOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationExcludeArgs) ToStorageLensConfigurationStorageLensConfigurationExcludeOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationExcludeOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationExcludeOutput) +} + +func (i StorageLensConfigurationStorageLensConfigurationExcludeArgs) ToStorageLensConfigurationStorageLensConfigurationExcludePtrOutput() StorageLensConfigurationStorageLensConfigurationExcludePtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationExcludePtrOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationExcludeArgs) ToStorageLensConfigurationStorageLensConfigurationExcludePtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationExcludePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationExcludeOutput).ToStorageLensConfigurationStorageLensConfigurationExcludePtrOutputWithContext(ctx) +} + +// StorageLensConfigurationStorageLensConfigurationExcludePtrInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationExcludeArgs, StorageLensConfigurationStorageLensConfigurationExcludePtr and StorageLensConfigurationStorageLensConfigurationExcludePtrOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationExcludePtrInput` via: +// +// StorageLensConfigurationStorageLensConfigurationExcludeArgs{...} +// +// or: +// +// nil +type StorageLensConfigurationStorageLensConfigurationExcludePtrInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationExcludePtrOutput() StorageLensConfigurationStorageLensConfigurationExcludePtrOutput + ToStorageLensConfigurationStorageLensConfigurationExcludePtrOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationExcludePtrOutput +} + +type storageLensConfigurationStorageLensConfigurationExcludePtrType StorageLensConfigurationStorageLensConfigurationExcludeArgs + +func StorageLensConfigurationStorageLensConfigurationExcludePtr(v *StorageLensConfigurationStorageLensConfigurationExcludeArgs) StorageLensConfigurationStorageLensConfigurationExcludePtrInput { + return (*storageLensConfigurationStorageLensConfigurationExcludePtrType)(v) +} + +func (*storageLensConfigurationStorageLensConfigurationExcludePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationExclude)(nil)).Elem() +} + +func (i *storageLensConfigurationStorageLensConfigurationExcludePtrType) ToStorageLensConfigurationStorageLensConfigurationExcludePtrOutput() StorageLensConfigurationStorageLensConfigurationExcludePtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationExcludePtrOutputWithContext(context.Background()) +} + +func (i *storageLensConfigurationStorageLensConfigurationExcludePtrType) ToStorageLensConfigurationStorageLensConfigurationExcludePtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationExcludePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationExcludePtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationExcludeOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationExcludeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationExclude)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationExcludeOutput) ToStorageLensConfigurationStorageLensConfigurationExcludeOutput() StorageLensConfigurationStorageLensConfigurationExcludeOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationExcludeOutput) ToStorageLensConfigurationStorageLensConfigurationExcludeOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationExcludeOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationExcludeOutput) ToStorageLensConfigurationStorageLensConfigurationExcludePtrOutput() StorageLensConfigurationStorageLensConfigurationExcludePtrOutput { + return o.ToStorageLensConfigurationStorageLensConfigurationExcludePtrOutputWithContext(context.Background()) +} + +func (o StorageLensConfigurationStorageLensConfigurationExcludeOutput) ToStorageLensConfigurationStorageLensConfigurationExcludePtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationExcludePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StorageLensConfigurationStorageLensConfigurationExclude) *StorageLensConfigurationStorageLensConfigurationExclude { + return &v + }).(StorageLensConfigurationStorageLensConfigurationExcludePtrOutput) +} + +// List of S3 bucket ARNs. +func (o StorageLensConfigurationStorageLensConfigurationExcludeOutput) Buckets() pulumi.StringArrayOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationExclude) []string { return v.Buckets }).(pulumi.StringArrayOutput) +} + +// List of AWS Regions. +func (o StorageLensConfigurationStorageLensConfigurationExcludeOutput) Regions() pulumi.StringArrayOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationExclude) []string { return v.Regions }).(pulumi.StringArrayOutput) +} + +type StorageLensConfigurationStorageLensConfigurationExcludePtrOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationExcludePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationExclude)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationExcludePtrOutput) ToStorageLensConfigurationStorageLensConfigurationExcludePtrOutput() StorageLensConfigurationStorageLensConfigurationExcludePtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationExcludePtrOutput) ToStorageLensConfigurationStorageLensConfigurationExcludePtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationExcludePtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationExcludePtrOutput) Elem() StorageLensConfigurationStorageLensConfigurationExcludeOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationExclude) StorageLensConfigurationStorageLensConfigurationExclude { + if v != nil { + return *v + } + var ret StorageLensConfigurationStorageLensConfigurationExclude + return ret + }).(StorageLensConfigurationStorageLensConfigurationExcludeOutput) +} + +// List of S3 bucket ARNs. +func (o StorageLensConfigurationStorageLensConfigurationExcludePtrOutput) Buckets() pulumi.StringArrayOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationExclude) []string { + if v == nil { + return nil + } + return v.Buckets + }).(pulumi.StringArrayOutput) +} + +// List of AWS Regions. +func (o StorageLensConfigurationStorageLensConfigurationExcludePtrOutput) Regions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationExclude) []string { + if v == nil { + return nil + } + return v.Regions + }).(pulumi.StringArrayOutput) +} + +type StorageLensConfigurationStorageLensConfigurationInclude struct { + // List of S3 bucket ARNs. + Buckets []string `pulumi:"buckets"` + // List of AWS Regions. + Regions []string `pulumi:"regions"` +} + +// StorageLensConfigurationStorageLensConfigurationIncludeInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationIncludeArgs and StorageLensConfigurationStorageLensConfigurationIncludeOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationIncludeInput` via: +// +// StorageLensConfigurationStorageLensConfigurationIncludeArgs{...} +type StorageLensConfigurationStorageLensConfigurationIncludeInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationIncludeOutput() StorageLensConfigurationStorageLensConfigurationIncludeOutput + ToStorageLensConfigurationStorageLensConfigurationIncludeOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationIncludeOutput +} + +type StorageLensConfigurationStorageLensConfigurationIncludeArgs struct { + // List of S3 bucket ARNs. + Buckets pulumi.StringArrayInput `pulumi:"buckets"` + // List of AWS Regions. + Regions pulumi.StringArrayInput `pulumi:"regions"` +} + +func (StorageLensConfigurationStorageLensConfigurationIncludeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationInclude)(nil)).Elem() +} + +func (i StorageLensConfigurationStorageLensConfigurationIncludeArgs) ToStorageLensConfigurationStorageLensConfigurationIncludeOutput() StorageLensConfigurationStorageLensConfigurationIncludeOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationIncludeOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationIncludeArgs) ToStorageLensConfigurationStorageLensConfigurationIncludeOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationIncludeOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationIncludeOutput) +} + +func (i StorageLensConfigurationStorageLensConfigurationIncludeArgs) ToStorageLensConfigurationStorageLensConfigurationIncludePtrOutput() StorageLensConfigurationStorageLensConfigurationIncludePtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationIncludePtrOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationStorageLensConfigurationIncludeArgs) ToStorageLensConfigurationStorageLensConfigurationIncludePtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationIncludePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationIncludeOutput).ToStorageLensConfigurationStorageLensConfigurationIncludePtrOutputWithContext(ctx) +} + +// StorageLensConfigurationStorageLensConfigurationIncludePtrInput is an input type that accepts StorageLensConfigurationStorageLensConfigurationIncludeArgs, StorageLensConfigurationStorageLensConfigurationIncludePtr and StorageLensConfigurationStorageLensConfigurationIncludePtrOutput values. +// You can construct a concrete instance of `StorageLensConfigurationStorageLensConfigurationIncludePtrInput` via: +// +// StorageLensConfigurationStorageLensConfigurationIncludeArgs{...} +// +// or: +// +// nil +type StorageLensConfigurationStorageLensConfigurationIncludePtrInput interface { + pulumi.Input + + ToStorageLensConfigurationStorageLensConfigurationIncludePtrOutput() StorageLensConfigurationStorageLensConfigurationIncludePtrOutput + ToStorageLensConfigurationStorageLensConfigurationIncludePtrOutputWithContext(context.Context) StorageLensConfigurationStorageLensConfigurationIncludePtrOutput +} + +type storageLensConfigurationStorageLensConfigurationIncludePtrType StorageLensConfigurationStorageLensConfigurationIncludeArgs + +func StorageLensConfigurationStorageLensConfigurationIncludePtr(v *StorageLensConfigurationStorageLensConfigurationIncludeArgs) StorageLensConfigurationStorageLensConfigurationIncludePtrInput { + return (*storageLensConfigurationStorageLensConfigurationIncludePtrType)(v) +} + +func (*storageLensConfigurationStorageLensConfigurationIncludePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationInclude)(nil)).Elem() +} + +func (i *storageLensConfigurationStorageLensConfigurationIncludePtrType) ToStorageLensConfigurationStorageLensConfigurationIncludePtrOutput() StorageLensConfigurationStorageLensConfigurationIncludePtrOutput { + return i.ToStorageLensConfigurationStorageLensConfigurationIncludePtrOutputWithContext(context.Background()) +} + +func (i *storageLensConfigurationStorageLensConfigurationIncludePtrType) ToStorageLensConfigurationStorageLensConfigurationIncludePtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationIncludePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationStorageLensConfigurationIncludePtrOutput) +} + +type StorageLensConfigurationStorageLensConfigurationIncludeOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationIncludeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationInclude)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationIncludeOutput) ToStorageLensConfigurationStorageLensConfigurationIncludeOutput() StorageLensConfigurationStorageLensConfigurationIncludeOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationIncludeOutput) ToStorageLensConfigurationStorageLensConfigurationIncludeOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationIncludeOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationIncludeOutput) ToStorageLensConfigurationStorageLensConfigurationIncludePtrOutput() StorageLensConfigurationStorageLensConfigurationIncludePtrOutput { + return o.ToStorageLensConfigurationStorageLensConfigurationIncludePtrOutputWithContext(context.Background()) +} + +func (o StorageLensConfigurationStorageLensConfigurationIncludeOutput) ToStorageLensConfigurationStorageLensConfigurationIncludePtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationIncludePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StorageLensConfigurationStorageLensConfigurationInclude) *StorageLensConfigurationStorageLensConfigurationInclude { + return &v + }).(StorageLensConfigurationStorageLensConfigurationIncludePtrOutput) +} + +// List of S3 bucket ARNs. +func (o StorageLensConfigurationStorageLensConfigurationIncludeOutput) Buckets() pulumi.StringArrayOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationInclude) []string { return v.Buckets }).(pulumi.StringArrayOutput) +} + +// List of AWS Regions. +func (o StorageLensConfigurationStorageLensConfigurationIncludeOutput) Regions() pulumi.StringArrayOutput { + return o.ApplyT(func(v StorageLensConfigurationStorageLensConfigurationInclude) []string { return v.Regions }).(pulumi.StringArrayOutput) +} + +type StorageLensConfigurationStorageLensConfigurationIncludePtrOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationStorageLensConfigurationIncludePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfigurationStorageLensConfigurationInclude)(nil)).Elem() +} + +func (o StorageLensConfigurationStorageLensConfigurationIncludePtrOutput) ToStorageLensConfigurationStorageLensConfigurationIncludePtrOutput() StorageLensConfigurationStorageLensConfigurationIncludePtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationIncludePtrOutput) ToStorageLensConfigurationStorageLensConfigurationIncludePtrOutputWithContext(ctx context.Context) StorageLensConfigurationStorageLensConfigurationIncludePtrOutput { + return o +} + +func (o StorageLensConfigurationStorageLensConfigurationIncludePtrOutput) Elem() StorageLensConfigurationStorageLensConfigurationIncludeOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationInclude) StorageLensConfigurationStorageLensConfigurationInclude { + if v != nil { + return *v + } + var ret StorageLensConfigurationStorageLensConfigurationInclude + return ret + }).(StorageLensConfigurationStorageLensConfigurationIncludeOutput) +} + +// List of S3 bucket ARNs. +func (o StorageLensConfigurationStorageLensConfigurationIncludePtrOutput) Buckets() pulumi.StringArrayOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationInclude) []string { + if v == nil { + return nil + } + return v.Buckets + }).(pulumi.StringArrayOutput) +} + +// List of AWS Regions. +func (o StorageLensConfigurationStorageLensConfigurationIncludePtrOutput) Regions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *StorageLensConfigurationStorageLensConfigurationInclude) []string { + if v == nil { + return nil + } + return v.Regions + }).(pulumi.StringArrayOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*BucketLifecycleConfigurationRuleInput)(nil)).Elem(), BucketLifecycleConfigurationRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BucketLifecycleConfigurationRuleArrayInput)(nil)).Elem(), BucketLifecycleConfigurationRuleArray{}) @@ -1656,6 +4355,40 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ObjectLambdaAccessPointConfigurationTransformationConfigurationArrayInput)(nil)).Elem(), ObjectLambdaAccessPointConfigurationTransformationConfigurationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationInput)(nil)).Elem(), ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaInput)(nil)).Elem(), ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationPtrInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationAccountLevelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelPtrInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationAccountLevelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAwsOrgInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationAwsOrgArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationAwsOrgPtrInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationAwsOrgArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationDataExportArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportPtrInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationDataExportArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Input)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Array{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationExcludeInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationExcludeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationExcludePtrInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationExcludeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationIncludeInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationIncludeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationStorageLensConfigurationIncludePtrInput)(nil)).Elem(), StorageLensConfigurationStorageLensConfigurationIncludeArgs{}) pulumi.RegisterOutputType(BucketLifecycleConfigurationRuleOutput{}) pulumi.RegisterOutputType(BucketLifecycleConfigurationRuleArrayOutput{}) pulumi.RegisterOutputType(BucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadOutput{}) @@ -1678,4 +4411,38 @@ func init() { pulumi.RegisterOutputType(ObjectLambdaAccessPointConfigurationTransformationConfigurationArrayOutput{}) pulumi.RegisterOutputType(ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationOutput{}) pulumi.RegisterOutputType(ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationPtrOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationAccountLevelOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationAccountLevelPtrOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsPtrOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPtrOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsPtrOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelPtrOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsPtrOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaPtrOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationAwsOrgOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationAwsOrgPtrOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationDataExportOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationDataExportPtrOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsPtrOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationPtrOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionPtrOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsPtrOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Output{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3ArrayOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationExcludeOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationExcludePtrOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationIncludeOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationStorageLensConfigurationIncludePtrOutput{}) } diff --git a/sdk/go/aws/s3control/storageLensConfiguration.go b/sdk/go/aws/s3control/storageLensConfiguration.go new file mode 100644 index 00000000000..89f9a8e41e2 --- /dev/null +++ b/sdk/go/aws/s3control/storageLensConfiguration.go @@ -0,0 +1,360 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package s3control + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a resource to manage an S3 Storage Lens configuration. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws" +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3control" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// current, err := aws.GetCallerIdentity(ctx, nil, nil) +// if err != nil { +// return err +// } +// _, err = s3control.NewStorageLensConfiguration(ctx, "example", &s3control.StorageLensConfigurationArgs{ +// ConfigId: pulumi.String("example-1"), +// StorageLensConfiguration: &s3control.StorageLensConfigurationStorageLensConfigurationArgs{ +// Enabled: pulumi.Bool(true), +// AccountLevel: &s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs{ +// ActivityMetrics: &s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs{ +// Enabled: pulumi.Bool(true), +// }, +// BucketLevel: &s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs{ +// ActivityMetrics: &s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs{ +// Enabled: pulumi.Bool(true), +// }, +// }, +// }, +// DataExport: &s3control.StorageLensConfigurationStorageLensConfigurationDataExportArgs{ +// CloudWatchMetrics: &s3control.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs{ +// Enabled: pulumi.Bool(true), +// }, +// S3BucketDestination: &s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs{ +// AccountId: pulumi.String(current.AccountId), +// Arn: pulumi.Any(aws_s3_bucket.Target.Arn), +// Format: pulumi.String("CSV"), +// OutputSchemaVersion: pulumi.String("V_1"), +// Encryption: &s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs{ +// SseS3s: s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Array{ +// nil, +// }, +// }, +// }, +// }, +// Exclude: &s3control.StorageLensConfigurationStorageLensConfigurationExcludeArgs{ +// Buckets: pulumi.StringArray{ +// pulumi.Any(aws_s3_bucket.B1.Arn), +// pulumi.Any(aws_s3_bucket.B2.Arn), +// }, +// Regions: pulumi.StringArray{ +// pulumi.String("us-east-2"), +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// S3 Storage Lens configurations can be imported using the `account_id` and `config_id`, separated by a colon (`:`), e.g. +// +// ```sh +// +// $ pulumi import aws:s3control/storageLensConfiguration:StorageLensConfiguration example 123456789012:example-1 +// +// ``` +type StorageLensConfiguration struct { + pulumi.CustomResourceState + + // The account ID of the owner of the S3 Storage Lens metrics export bucket. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // The Amazon Resource Name (ARN) of the bucket. + Arn pulumi.StringOutput `pulumi:"arn"` + // The ID of the S3 Storage Lens configuration. + ConfigId pulumi.StringOutput `pulumi:"configId"` + // The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + StorageLensConfiguration StorageLensConfigurationStorageLensConfigurationOutput `pulumi:"storageLensConfiguration"` + Tags pulumi.StringMapOutput `pulumi:"tags"` + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` +} + +// NewStorageLensConfiguration registers a new resource with the given unique name, arguments, and options. +func NewStorageLensConfiguration(ctx *pulumi.Context, + name string, args *StorageLensConfigurationArgs, opts ...pulumi.ResourceOption) (*StorageLensConfiguration, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ConfigId == nil { + return nil, errors.New("invalid value for required argument 'ConfigId'") + } + if args.StorageLensConfiguration == nil { + return nil, errors.New("invalid value for required argument 'StorageLensConfiguration'") + } + var resource StorageLensConfiguration + err := ctx.RegisterResource("aws:s3control/storageLensConfiguration:StorageLensConfiguration", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetStorageLensConfiguration gets an existing StorageLensConfiguration 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 GetStorageLensConfiguration(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *StorageLensConfigurationState, opts ...pulumi.ResourceOption) (*StorageLensConfiguration, error) { + var resource StorageLensConfiguration + err := ctx.ReadResource("aws:s3control/storageLensConfiguration:StorageLensConfiguration", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering StorageLensConfiguration resources. +type storageLensConfigurationState struct { + // The account ID of the owner of the S3 Storage Lens metrics export bucket. + AccountId *string `pulumi:"accountId"` + // The Amazon Resource Name (ARN) of the bucket. + Arn *string `pulumi:"arn"` + // The ID of the S3 Storage Lens configuration. + ConfigId *string `pulumi:"configId"` + // The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + StorageLensConfiguration *StorageLensConfigurationStorageLensConfiguration `pulumi:"storageLensConfiguration"` + Tags map[string]string `pulumi:"tags"` + TagsAll map[string]string `pulumi:"tagsAll"` +} + +type StorageLensConfigurationState struct { + // The account ID of the owner of the S3 Storage Lens metrics export bucket. + AccountId pulumi.StringPtrInput + // The Amazon Resource Name (ARN) of the bucket. + Arn pulumi.StringPtrInput + // The ID of the S3 Storage Lens configuration. + ConfigId pulumi.StringPtrInput + // The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + StorageLensConfiguration StorageLensConfigurationStorageLensConfigurationPtrInput + Tags pulumi.StringMapInput + TagsAll pulumi.StringMapInput +} + +func (StorageLensConfigurationState) ElementType() reflect.Type { + return reflect.TypeOf((*storageLensConfigurationState)(nil)).Elem() +} + +type storageLensConfigurationArgs struct { + // The account ID of the owner of the S3 Storage Lens metrics export bucket. + AccountId *string `pulumi:"accountId"` + // The ID of the S3 Storage Lens configuration. + ConfigId string `pulumi:"configId"` + // The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + StorageLensConfiguration StorageLensConfigurationStorageLensConfiguration `pulumi:"storageLensConfiguration"` + Tags map[string]string `pulumi:"tags"` + TagsAll map[string]string `pulumi:"tagsAll"` +} + +// The set of arguments for constructing a StorageLensConfiguration resource. +type StorageLensConfigurationArgs struct { + // The account ID of the owner of the S3 Storage Lens metrics export bucket. + AccountId pulumi.StringPtrInput + // The ID of the S3 Storage Lens configuration. + ConfigId pulumi.StringInput + // The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + StorageLensConfiguration StorageLensConfigurationStorageLensConfigurationInput + Tags pulumi.StringMapInput + TagsAll pulumi.StringMapInput +} + +func (StorageLensConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*storageLensConfigurationArgs)(nil)).Elem() +} + +type StorageLensConfigurationInput interface { + pulumi.Input + + ToStorageLensConfigurationOutput() StorageLensConfigurationOutput + ToStorageLensConfigurationOutputWithContext(ctx context.Context) StorageLensConfigurationOutput +} + +func (*StorageLensConfiguration) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfiguration)(nil)).Elem() +} + +func (i *StorageLensConfiguration) ToStorageLensConfigurationOutput() StorageLensConfigurationOutput { + return i.ToStorageLensConfigurationOutputWithContext(context.Background()) +} + +func (i *StorageLensConfiguration) ToStorageLensConfigurationOutputWithContext(ctx context.Context) StorageLensConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationOutput) +} + +// StorageLensConfigurationArrayInput is an input type that accepts StorageLensConfigurationArray and StorageLensConfigurationArrayOutput values. +// You can construct a concrete instance of `StorageLensConfigurationArrayInput` via: +// +// StorageLensConfigurationArray{ StorageLensConfigurationArgs{...} } +type StorageLensConfigurationArrayInput interface { + pulumi.Input + + ToStorageLensConfigurationArrayOutput() StorageLensConfigurationArrayOutput + ToStorageLensConfigurationArrayOutputWithContext(context.Context) StorageLensConfigurationArrayOutput +} + +type StorageLensConfigurationArray []StorageLensConfigurationInput + +func (StorageLensConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*StorageLensConfiguration)(nil)).Elem() +} + +func (i StorageLensConfigurationArray) ToStorageLensConfigurationArrayOutput() StorageLensConfigurationArrayOutput { + return i.ToStorageLensConfigurationArrayOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationArray) ToStorageLensConfigurationArrayOutputWithContext(ctx context.Context) StorageLensConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationArrayOutput) +} + +// StorageLensConfigurationMapInput is an input type that accepts StorageLensConfigurationMap and StorageLensConfigurationMapOutput values. +// You can construct a concrete instance of `StorageLensConfigurationMapInput` via: +// +// StorageLensConfigurationMap{ "key": StorageLensConfigurationArgs{...} } +type StorageLensConfigurationMapInput interface { + pulumi.Input + + ToStorageLensConfigurationMapOutput() StorageLensConfigurationMapOutput + ToStorageLensConfigurationMapOutputWithContext(context.Context) StorageLensConfigurationMapOutput +} + +type StorageLensConfigurationMap map[string]StorageLensConfigurationInput + +func (StorageLensConfigurationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*StorageLensConfiguration)(nil)).Elem() +} + +func (i StorageLensConfigurationMap) ToStorageLensConfigurationMapOutput() StorageLensConfigurationMapOutput { + return i.ToStorageLensConfigurationMapOutputWithContext(context.Background()) +} + +func (i StorageLensConfigurationMap) ToStorageLensConfigurationMapOutputWithContext(ctx context.Context) StorageLensConfigurationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageLensConfigurationMapOutput) +} + +type StorageLensConfigurationOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageLensConfiguration)(nil)).Elem() +} + +func (o StorageLensConfigurationOutput) ToStorageLensConfigurationOutput() StorageLensConfigurationOutput { + return o +} + +func (o StorageLensConfigurationOutput) ToStorageLensConfigurationOutputWithContext(ctx context.Context) StorageLensConfigurationOutput { + return o +} + +// The account ID of the owner of the S3 Storage Lens metrics export bucket. +func (o StorageLensConfigurationOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *StorageLensConfiguration) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// The Amazon Resource Name (ARN) of the bucket. +func (o StorageLensConfigurationOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *StorageLensConfiguration) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The ID of the S3 Storage Lens configuration. +func (o StorageLensConfigurationOutput) ConfigId() pulumi.StringOutput { + return o.ApplyT(func(v *StorageLensConfiguration) pulumi.StringOutput { return v.ConfigId }).(pulumi.StringOutput) +} + +// The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. +func (o StorageLensConfigurationOutput) StorageLensConfiguration() StorageLensConfigurationStorageLensConfigurationOutput { + return o.ApplyT(func(v *StorageLensConfiguration) StorageLensConfigurationStorageLensConfigurationOutput { + return v.StorageLensConfiguration + }).(StorageLensConfigurationStorageLensConfigurationOutput) +} + +func (o StorageLensConfigurationOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *StorageLensConfiguration) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +func (o StorageLensConfigurationOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *StorageLensConfiguration) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +type StorageLensConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*StorageLensConfiguration)(nil)).Elem() +} + +func (o StorageLensConfigurationArrayOutput) ToStorageLensConfigurationArrayOutput() StorageLensConfigurationArrayOutput { + return o +} + +func (o StorageLensConfigurationArrayOutput) ToStorageLensConfigurationArrayOutputWithContext(ctx context.Context) StorageLensConfigurationArrayOutput { + return o +} + +func (o StorageLensConfigurationArrayOutput) Index(i pulumi.IntInput) StorageLensConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *StorageLensConfiguration { + return vs[0].([]*StorageLensConfiguration)[vs[1].(int)] + }).(StorageLensConfigurationOutput) +} + +type StorageLensConfigurationMapOutput struct{ *pulumi.OutputState } + +func (StorageLensConfigurationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*StorageLensConfiguration)(nil)).Elem() +} + +func (o StorageLensConfigurationMapOutput) ToStorageLensConfigurationMapOutput() StorageLensConfigurationMapOutput { + return o +} + +func (o StorageLensConfigurationMapOutput) ToStorageLensConfigurationMapOutputWithContext(ctx context.Context) StorageLensConfigurationMapOutput { + return o +} + +func (o StorageLensConfigurationMapOutput) MapIndex(k pulumi.StringInput) StorageLensConfigurationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *StorageLensConfiguration { + return vs[0].(map[string]*StorageLensConfiguration)[vs[1].(string)] + }).(StorageLensConfigurationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationInput)(nil)).Elem(), &StorageLensConfiguration{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationArrayInput)(nil)).Elem(), StorageLensConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageLensConfigurationMapInput)(nil)).Elem(), StorageLensConfigurationMap{}) + pulumi.RegisterOutputType(StorageLensConfigurationOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationArrayOutput{}) + pulumi.RegisterOutputType(StorageLensConfigurationMapOutput{}) +} diff --git a/sdk/go/aws/servicecatalog/product.go b/sdk/go/aws/servicecatalog/product.go index aaf29ffad9d..70733ca0d3d 100644 --- a/sdk/go/aws/servicecatalog/product.go +++ b/sdk/go/aws/servicecatalog/product.go @@ -18,6 +18,38 @@ import ( // > A "provisioning artifact" is also referred to as a "version." A "distributor" is also referred to as a "vendor." // // ## Example Usage +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/servicecatalog" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := servicecatalog.NewProduct(ctx, "example", &servicecatalog.ProductArgs{ +// Owner: pulumi.String("example-owner"), +// ProvisioningArtifactParameters: &servicecatalog.ProductProvisioningArtifactParametersArgs{ +// TemplateUrl: pulumi.String("https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json"), +// }, +// Tags: pulumi.StringMap{ +// "foo": pulumi.String("bar"), +// }, +// Type: pulumi.String("CLOUD_FORMATION_TEMPLATE"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` // // ## Import // diff --git a/sdk/go/aws/ses/domainDkim.go b/sdk/go/aws/ses/domainDkim.go index 4dcd773b068..ffb4f2ef045 100644 --- a/sdk/go/aws/ses/domainDkim.go +++ b/sdk/go/aws/ses/domainDkim.go @@ -15,6 +15,61 @@ import ( // // Domain ownership needs to be confirmed first using `ses.DomainIdentity` resource. // +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/route53" +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ses" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleDomainIdentity, err := ses.NewDomainIdentity(ctx, "exampleDomainIdentity", &ses.DomainIdentityArgs{ +// Domain: pulumi.String("example.com"), +// }) +// if err != nil { +// return err +// } +// exampleDomainDkim, err := ses.NewDomainDkim(ctx, "exampleDomainDkim", &ses.DomainDkimArgs{ +// Domain: exampleDomainIdentity.Domain, +// }) +// if err != nil { +// return err +// } +// var exampleAmazonsesDkimRecord []*route53.Record +// for key0, val0 := range 3 { +// __res, err := route53.NewRecord(ctx, fmt.Sprintf("exampleAmazonsesDkimRecord-%v", key0), &route53.RecordArgs{ +// ZoneId: pulumi.String("ABCDEFGHIJ123"), +// Name: exampleDomainDkim.DkimTokens.ApplyT(func(dkimTokens []string) (string, error) { +// return fmt.Sprintf("%v._domainkey", dkimTokens[val0]), nil +// }).(pulumi.StringOutput), +// Type: pulumi.String("CNAME"), +// Ttl: pulumi.Int(600), +// Records: pulumi.StringArray{ +// exampleDomainDkim.DkimTokens.ApplyT(func(dkimTokens []string) (string, error) { +// return fmt.Sprintf("%v.dkim.amazonses.com", dkimTokens[val0]), nil +// }).(pulumi.StringOutput), +// }, +// }) +// if err != nil { +// return err +// } +// exampleAmazonsesDkimRecord = append(exampleAmazonsesDkimRecord, __res) +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // DKIM tokens can be imported using the `domain` attribute, e.g., diff --git a/sdk/go/aws/sesv2/configurationSet.go b/sdk/go/aws/sesv2/configurationSet.go new file mode 100644 index 00000000000..3f9589e2541 --- /dev/null +++ b/sdk/go/aws/sesv2/configurationSet.go @@ -0,0 +1,331 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package sesv2 + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// ## Example Usage +// +// ## Import +// +// SESv2 (Simple Email V2) Configuration Set can be imported using the `configuration_set_name`, e.g., +// +// ```sh +// +// $ pulumi import aws:sesv2/configurationSet:ConfigurationSet example example +// +// ``` +type ConfigurationSet struct { + pulumi.CustomResourceState + + // ARN of the Configuration Set. + Arn pulumi.StringOutput `pulumi:"arn"` + // The name of the configuration set. + ConfigurationSetName pulumi.StringOutput `pulumi:"configurationSetName"` + // An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + DeliveryOptions ConfigurationSetDeliveryOptionsPtrOutput `pulumi:"deliveryOptions"` + // An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + ReputationOptions ConfigurationSetReputationOptionsOutput `pulumi:"reputationOptions"` + // An object that defines whether or not Amazon SES can send email that you send using the configuration set. + SendingOptions ConfigurationSetSendingOptionsOutput `pulumi:"sendingOptions"` + // An object that contains information about the suppression list preferences for your account. + SuppressionOptions ConfigurationSetSuppressionOptionsPtrOutput `pulumi:"suppressionOptions"` + Tags pulumi.StringMapOutput `pulumi:"tags"` + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + // An object that defines the open and click tracking options for emails that you send using the configuration set. + TrackingOptions ConfigurationSetTrackingOptionsPtrOutput `pulumi:"trackingOptions"` +} + +// NewConfigurationSet registers a new resource with the given unique name, arguments, and options. +func NewConfigurationSet(ctx *pulumi.Context, + name string, args *ConfigurationSetArgs, opts ...pulumi.ResourceOption) (*ConfigurationSet, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ConfigurationSetName == nil { + return nil, errors.New("invalid value for required argument 'ConfigurationSetName'") + } + var resource ConfigurationSet + err := ctx.RegisterResource("aws:sesv2/configurationSet:ConfigurationSet", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetConfigurationSet gets an existing ConfigurationSet 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 GetConfigurationSet(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ConfigurationSetState, opts ...pulumi.ResourceOption) (*ConfigurationSet, error) { + var resource ConfigurationSet + err := ctx.ReadResource("aws:sesv2/configurationSet:ConfigurationSet", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ConfigurationSet resources. +type configurationSetState struct { + // ARN of the Configuration Set. + Arn *string `pulumi:"arn"` + // The name of the configuration set. + ConfigurationSetName *string `pulumi:"configurationSetName"` + // An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + DeliveryOptions *ConfigurationSetDeliveryOptions `pulumi:"deliveryOptions"` + // An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + ReputationOptions *ConfigurationSetReputationOptions `pulumi:"reputationOptions"` + // An object that defines whether or not Amazon SES can send email that you send using the configuration set. + SendingOptions *ConfigurationSetSendingOptions `pulumi:"sendingOptions"` + // An object that contains information about the suppression list preferences for your account. + SuppressionOptions *ConfigurationSetSuppressionOptions `pulumi:"suppressionOptions"` + Tags map[string]string `pulumi:"tags"` + TagsAll map[string]string `pulumi:"tagsAll"` + // An object that defines the open and click tracking options for emails that you send using the configuration set. + TrackingOptions *ConfigurationSetTrackingOptions `pulumi:"trackingOptions"` +} + +type ConfigurationSetState struct { + // ARN of the Configuration Set. + Arn pulumi.StringPtrInput + // The name of the configuration set. + ConfigurationSetName pulumi.StringPtrInput + // An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + DeliveryOptions ConfigurationSetDeliveryOptionsPtrInput + // An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + ReputationOptions ConfigurationSetReputationOptionsPtrInput + // An object that defines whether or not Amazon SES can send email that you send using the configuration set. + SendingOptions ConfigurationSetSendingOptionsPtrInput + // An object that contains information about the suppression list preferences for your account. + SuppressionOptions ConfigurationSetSuppressionOptionsPtrInput + Tags pulumi.StringMapInput + TagsAll pulumi.StringMapInput + // An object that defines the open and click tracking options for emails that you send using the configuration set. + TrackingOptions ConfigurationSetTrackingOptionsPtrInput +} + +func (ConfigurationSetState) ElementType() reflect.Type { + return reflect.TypeOf((*configurationSetState)(nil)).Elem() +} + +type configurationSetArgs struct { + // The name of the configuration set. + ConfigurationSetName string `pulumi:"configurationSetName"` + // An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + DeliveryOptions *ConfigurationSetDeliveryOptions `pulumi:"deliveryOptions"` + // An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + ReputationOptions *ConfigurationSetReputationOptions `pulumi:"reputationOptions"` + // An object that defines whether or not Amazon SES can send email that you send using the configuration set. + SendingOptions *ConfigurationSetSendingOptions `pulumi:"sendingOptions"` + // An object that contains information about the suppression list preferences for your account. + SuppressionOptions *ConfigurationSetSuppressionOptions `pulumi:"suppressionOptions"` + Tags map[string]string `pulumi:"tags"` + TagsAll map[string]string `pulumi:"tagsAll"` + // An object that defines the open and click tracking options for emails that you send using the configuration set. + TrackingOptions *ConfigurationSetTrackingOptions `pulumi:"trackingOptions"` +} + +// The set of arguments for constructing a ConfigurationSet resource. +type ConfigurationSetArgs struct { + // The name of the configuration set. + ConfigurationSetName pulumi.StringInput + // An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + DeliveryOptions ConfigurationSetDeliveryOptionsPtrInput + // An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + ReputationOptions ConfigurationSetReputationOptionsPtrInput + // An object that defines whether or not Amazon SES can send email that you send using the configuration set. + SendingOptions ConfigurationSetSendingOptionsPtrInput + // An object that contains information about the suppression list preferences for your account. + SuppressionOptions ConfigurationSetSuppressionOptionsPtrInput + Tags pulumi.StringMapInput + TagsAll pulumi.StringMapInput + // An object that defines the open and click tracking options for emails that you send using the configuration set. + TrackingOptions ConfigurationSetTrackingOptionsPtrInput +} + +func (ConfigurationSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*configurationSetArgs)(nil)).Elem() +} + +type ConfigurationSetInput interface { + pulumi.Input + + ToConfigurationSetOutput() ConfigurationSetOutput + ToConfigurationSetOutputWithContext(ctx context.Context) ConfigurationSetOutput +} + +func (*ConfigurationSet) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSet)(nil)).Elem() +} + +func (i *ConfigurationSet) ToConfigurationSetOutput() ConfigurationSetOutput { + return i.ToConfigurationSetOutputWithContext(context.Background()) +} + +func (i *ConfigurationSet) ToConfigurationSetOutputWithContext(ctx context.Context) ConfigurationSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetOutput) +} + +// ConfigurationSetArrayInput is an input type that accepts ConfigurationSetArray and ConfigurationSetArrayOutput values. +// You can construct a concrete instance of `ConfigurationSetArrayInput` via: +// +// ConfigurationSetArray{ ConfigurationSetArgs{...} } +type ConfigurationSetArrayInput interface { + pulumi.Input + + ToConfigurationSetArrayOutput() ConfigurationSetArrayOutput + ToConfigurationSetArrayOutputWithContext(context.Context) ConfigurationSetArrayOutput +} + +type ConfigurationSetArray []ConfigurationSetInput + +func (ConfigurationSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ConfigurationSet)(nil)).Elem() +} + +func (i ConfigurationSetArray) ToConfigurationSetArrayOutput() ConfigurationSetArrayOutput { + return i.ToConfigurationSetArrayOutputWithContext(context.Background()) +} + +func (i ConfigurationSetArray) ToConfigurationSetArrayOutputWithContext(ctx context.Context) ConfigurationSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetArrayOutput) +} + +// ConfigurationSetMapInput is an input type that accepts ConfigurationSetMap and ConfigurationSetMapOutput values. +// You can construct a concrete instance of `ConfigurationSetMapInput` via: +// +// ConfigurationSetMap{ "key": ConfigurationSetArgs{...} } +type ConfigurationSetMapInput interface { + pulumi.Input + + ToConfigurationSetMapOutput() ConfigurationSetMapOutput + ToConfigurationSetMapOutputWithContext(context.Context) ConfigurationSetMapOutput +} + +type ConfigurationSetMap map[string]ConfigurationSetInput + +func (ConfigurationSetMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ConfigurationSet)(nil)).Elem() +} + +func (i ConfigurationSetMap) ToConfigurationSetMapOutput() ConfigurationSetMapOutput { + return i.ToConfigurationSetMapOutputWithContext(context.Background()) +} + +func (i ConfigurationSetMap) ToConfigurationSetMapOutputWithContext(ctx context.Context) ConfigurationSetMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetMapOutput) +} + +type ConfigurationSetOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSet)(nil)).Elem() +} + +func (o ConfigurationSetOutput) ToConfigurationSetOutput() ConfigurationSetOutput { + return o +} + +func (o ConfigurationSetOutput) ToConfigurationSetOutputWithContext(ctx context.Context) ConfigurationSetOutput { + return o +} + +// ARN of the Configuration Set. +func (o ConfigurationSetOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *ConfigurationSet) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The name of the configuration set. +func (o ConfigurationSetOutput) ConfigurationSetName() pulumi.StringOutput { + return o.ApplyT(func(v *ConfigurationSet) pulumi.StringOutput { return v.ConfigurationSetName }).(pulumi.StringOutput) +} + +// An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. +func (o ConfigurationSetOutput) DeliveryOptions() ConfigurationSetDeliveryOptionsPtrOutput { + return o.ApplyT(func(v *ConfigurationSet) ConfigurationSetDeliveryOptionsPtrOutput { return v.DeliveryOptions }).(ConfigurationSetDeliveryOptionsPtrOutput) +} + +// An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. +func (o ConfigurationSetOutput) ReputationOptions() ConfigurationSetReputationOptionsOutput { + return o.ApplyT(func(v *ConfigurationSet) ConfigurationSetReputationOptionsOutput { return v.ReputationOptions }).(ConfigurationSetReputationOptionsOutput) +} + +// An object that defines whether or not Amazon SES can send email that you send using the configuration set. +func (o ConfigurationSetOutput) SendingOptions() ConfigurationSetSendingOptionsOutput { + return o.ApplyT(func(v *ConfigurationSet) ConfigurationSetSendingOptionsOutput { return v.SendingOptions }).(ConfigurationSetSendingOptionsOutput) +} + +// An object that contains information about the suppression list preferences for your account. +func (o ConfigurationSetOutput) SuppressionOptions() ConfigurationSetSuppressionOptionsPtrOutput { + return o.ApplyT(func(v *ConfigurationSet) ConfigurationSetSuppressionOptionsPtrOutput { return v.SuppressionOptions }).(ConfigurationSetSuppressionOptionsPtrOutput) +} + +func (o ConfigurationSetOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *ConfigurationSet) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +func (o ConfigurationSetOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *ConfigurationSet) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +// An object that defines the open and click tracking options for emails that you send using the configuration set. +func (o ConfigurationSetOutput) TrackingOptions() ConfigurationSetTrackingOptionsPtrOutput { + return o.ApplyT(func(v *ConfigurationSet) ConfigurationSetTrackingOptionsPtrOutput { return v.TrackingOptions }).(ConfigurationSetTrackingOptionsPtrOutput) +} + +type ConfigurationSetArrayOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ConfigurationSet)(nil)).Elem() +} + +func (o ConfigurationSetArrayOutput) ToConfigurationSetArrayOutput() ConfigurationSetArrayOutput { + return o +} + +func (o ConfigurationSetArrayOutput) ToConfigurationSetArrayOutputWithContext(ctx context.Context) ConfigurationSetArrayOutput { + return o +} + +func (o ConfigurationSetArrayOutput) Index(i pulumi.IntInput) ConfigurationSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ConfigurationSet { + return vs[0].([]*ConfigurationSet)[vs[1].(int)] + }).(ConfigurationSetOutput) +} + +type ConfigurationSetMapOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ConfigurationSet)(nil)).Elem() +} + +func (o ConfigurationSetMapOutput) ToConfigurationSetMapOutput() ConfigurationSetMapOutput { + return o +} + +func (o ConfigurationSetMapOutput) ToConfigurationSetMapOutputWithContext(ctx context.Context) ConfigurationSetMapOutput { + return o +} + +func (o ConfigurationSetMapOutput) MapIndex(k pulumi.StringInput) ConfigurationSetOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ConfigurationSet { + return vs[0].(map[string]*ConfigurationSet)[vs[1].(string)] + }).(ConfigurationSetOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetInput)(nil)).Elem(), &ConfigurationSet{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetArrayInput)(nil)).Elem(), ConfigurationSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetMapInput)(nil)).Elem(), ConfigurationSetMap{}) + pulumi.RegisterOutputType(ConfigurationSetOutput{}) + pulumi.RegisterOutputType(ConfigurationSetArrayOutput{}) + pulumi.RegisterOutputType(ConfigurationSetMapOutput{}) +} diff --git a/sdk/go/aws/sesv2/init.go b/sdk/go/aws/sesv2/init.go new file mode 100644 index 00000000000..46cfb93d144 --- /dev/null +++ b/sdk/go/aws/sesv2/init.go @@ -0,0 +1,44 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package sesv2 + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi-aws/sdk/v5/go/aws" + "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:sesv2/configurationSet:ConfigurationSet": + r = &ConfigurationSet{} + 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 := aws.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "aws", + "sesv2/configurationSet", + &module{version}, + ) +} diff --git a/sdk/go/aws/sesv2/pulumiTypes.go b/sdk/go/aws/sesv2/pulumiTypes.go new file mode 100644 index 00000000000..9de0482fdda --- /dev/null +++ b/sdk/go/aws/sesv2/pulumiTypes.go @@ -0,0 +1,757 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package sesv2 + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ConfigurationSetDeliveryOptions struct { + // The name of the dedicated IP pool to associate with the configuration set. + SendingPoolName *string `pulumi:"sendingPoolName"` + // Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. + TlsPolicy *string `pulumi:"tlsPolicy"` +} + +// ConfigurationSetDeliveryOptionsInput is an input type that accepts ConfigurationSetDeliveryOptionsArgs and ConfigurationSetDeliveryOptionsOutput values. +// You can construct a concrete instance of `ConfigurationSetDeliveryOptionsInput` via: +// +// ConfigurationSetDeliveryOptionsArgs{...} +type ConfigurationSetDeliveryOptionsInput interface { + pulumi.Input + + ToConfigurationSetDeliveryOptionsOutput() ConfigurationSetDeliveryOptionsOutput + ToConfigurationSetDeliveryOptionsOutputWithContext(context.Context) ConfigurationSetDeliveryOptionsOutput +} + +type ConfigurationSetDeliveryOptionsArgs struct { + // The name of the dedicated IP pool to associate with the configuration set. + SendingPoolName pulumi.StringPtrInput `pulumi:"sendingPoolName"` + // Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. + TlsPolicy pulumi.StringPtrInput `pulumi:"tlsPolicy"` +} + +func (ConfigurationSetDeliveryOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetDeliveryOptions)(nil)).Elem() +} + +func (i ConfigurationSetDeliveryOptionsArgs) ToConfigurationSetDeliveryOptionsOutput() ConfigurationSetDeliveryOptionsOutput { + return i.ToConfigurationSetDeliveryOptionsOutputWithContext(context.Background()) +} + +func (i ConfigurationSetDeliveryOptionsArgs) ToConfigurationSetDeliveryOptionsOutputWithContext(ctx context.Context) ConfigurationSetDeliveryOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetDeliveryOptionsOutput) +} + +func (i ConfigurationSetDeliveryOptionsArgs) ToConfigurationSetDeliveryOptionsPtrOutput() ConfigurationSetDeliveryOptionsPtrOutput { + return i.ToConfigurationSetDeliveryOptionsPtrOutputWithContext(context.Background()) +} + +func (i ConfigurationSetDeliveryOptionsArgs) ToConfigurationSetDeliveryOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetDeliveryOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetDeliveryOptionsOutput).ToConfigurationSetDeliveryOptionsPtrOutputWithContext(ctx) +} + +// ConfigurationSetDeliveryOptionsPtrInput is an input type that accepts ConfigurationSetDeliveryOptionsArgs, ConfigurationSetDeliveryOptionsPtr and ConfigurationSetDeliveryOptionsPtrOutput values. +// You can construct a concrete instance of `ConfigurationSetDeliveryOptionsPtrInput` via: +// +// ConfigurationSetDeliveryOptionsArgs{...} +// +// or: +// +// nil +type ConfigurationSetDeliveryOptionsPtrInput interface { + pulumi.Input + + ToConfigurationSetDeliveryOptionsPtrOutput() ConfigurationSetDeliveryOptionsPtrOutput + ToConfigurationSetDeliveryOptionsPtrOutputWithContext(context.Context) ConfigurationSetDeliveryOptionsPtrOutput +} + +type configurationSetDeliveryOptionsPtrType ConfigurationSetDeliveryOptionsArgs + +func ConfigurationSetDeliveryOptionsPtr(v *ConfigurationSetDeliveryOptionsArgs) ConfigurationSetDeliveryOptionsPtrInput { + return (*configurationSetDeliveryOptionsPtrType)(v) +} + +func (*configurationSetDeliveryOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetDeliveryOptions)(nil)).Elem() +} + +func (i *configurationSetDeliveryOptionsPtrType) ToConfigurationSetDeliveryOptionsPtrOutput() ConfigurationSetDeliveryOptionsPtrOutput { + return i.ToConfigurationSetDeliveryOptionsPtrOutputWithContext(context.Background()) +} + +func (i *configurationSetDeliveryOptionsPtrType) ToConfigurationSetDeliveryOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetDeliveryOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetDeliveryOptionsPtrOutput) +} + +type ConfigurationSetDeliveryOptionsOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetDeliveryOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetDeliveryOptions)(nil)).Elem() +} + +func (o ConfigurationSetDeliveryOptionsOutput) ToConfigurationSetDeliveryOptionsOutput() ConfigurationSetDeliveryOptionsOutput { + return o +} + +func (o ConfigurationSetDeliveryOptionsOutput) ToConfigurationSetDeliveryOptionsOutputWithContext(ctx context.Context) ConfigurationSetDeliveryOptionsOutput { + return o +} + +func (o ConfigurationSetDeliveryOptionsOutput) ToConfigurationSetDeliveryOptionsPtrOutput() ConfigurationSetDeliveryOptionsPtrOutput { + return o.ToConfigurationSetDeliveryOptionsPtrOutputWithContext(context.Background()) +} + +func (o ConfigurationSetDeliveryOptionsOutput) ToConfigurationSetDeliveryOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetDeliveryOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ConfigurationSetDeliveryOptions) *ConfigurationSetDeliveryOptions { + return &v + }).(ConfigurationSetDeliveryOptionsPtrOutput) +} + +// The name of the dedicated IP pool to associate with the configuration set. +func (o ConfigurationSetDeliveryOptionsOutput) SendingPoolName() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationSetDeliveryOptions) *string { return v.SendingPoolName }).(pulumi.StringPtrOutput) +} + +// Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. +func (o ConfigurationSetDeliveryOptionsOutput) TlsPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationSetDeliveryOptions) *string { return v.TlsPolicy }).(pulumi.StringPtrOutput) +} + +type ConfigurationSetDeliveryOptionsPtrOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetDeliveryOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetDeliveryOptions)(nil)).Elem() +} + +func (o ConfigurationSetDeliveryOptionsPtrOutput) ToConfigurationSetDeliveryOptionsPtrOutput() ConfigurationSetDeliveryOptionsPtrOutput { + return o +} + +func (o ConfigurationSetDeliveryOptionsPtrOutput) ToConfigurationSetDeliveryOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetDeliveryOptionsPtrOutput { + return o +} + +func (o ConfigurationSetDeliveryOptionsPtrOutput) Elem() ConfigurationSetDeliveryOptionsOutput { + return o.ApplyT(func(v *ConfigurationSetDeliveryOptions) ConfigurationSetDeliveryOptions { + if v != nil { + return *v + } + var ret ConfigurationSetDeliveryOptions + return ret + }).(ConfigurationSetDeliveryOptionsOutput) +} + +// The name of the dedicated IP pool to associate with the configuration set. +func (o ConfigurationSetDeliveryOptionsPtrOutput) SendingPoolName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConfigurationSetDeliveryOptions) *string { + if v == nil { + return nil + } + return v.SendingPoolName + }).(pulumi.StringPtrOutput) +} + +// Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. +func (o ConfigurationSetDeliveryOptionsPtrOutput) TlsPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConfigurationSetDeliveryOptions) *string { + if v == nil { + return nil + } + return v.TlsPolicy + }).(pulumi.StringPtrOutput) +} + +type ConfigurationSetReputationOptions struct { + // The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. + LastFreshStart *string `pulumi:"lastFreshStart"` + // If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. + ReputationMetricsEnabled *bool `pulumi:"reputationMetricsEnabled"` +} + +// ConfigurationSetReputationOptionsInput is an input type that accepts ConfigurationSetReputationOptionsArgs and ConfigurationSetReputationOptionsOutput values. +// You can construct a concrete instance of `ConfigurationSetReputationOptionsInput` via: +// +// ConfigurationSetReputationOptionsArgs{...} +type ConfigurationSetReputationOptionsInput interface { + pulumi.Input + + ToConfigurationSetReputationOptionsOutput() ConfigurationSetReputationOptionsOutput + ToConfigurationSetReputationOptionsOutputWithContext(context.Context) ConfigurationSetReputationOptionsOutput +} + +type ConfigurationSetReputationOptionsArgs struct { + // The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. + LastFreshStart pulumi.StringPtrInput `pulumi:"lastFreshStart"` + // If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. + ReputationMetricsEnabled pulumi.BoolPtrInput `pulumi:"reputationMetricsEnabled"` +} + +func (ConfigurationSetReputationOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetReputationOptions)(nil)).Elem() +} + +func (i ConfigurationSetReputationOptionsArgs) ToConfigurationSetReputationOptionsOutput() ConfigurationSetReputationOptionsOutput { + return i.ToConfigurationSetReputationOptionsOutputWithContext(context.Background()) +} + +func (i ConfigurationSetReputationOptionsArgs) ToConfigurationSetReputationOptionsOutputWithContext(ctx context.Context) ConfigurationSetReputationOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetReputationOptionsOutput) +} + +func (i ConfigurationSetReputationOptionsArgs) ToConfigurationSetReputationOptionsPtrOutput() ConfigurationSetReputationOptionsPtrOutput { + return i.ToConfigurationSetReputationOptionsPtrOutputWithContext(context.Background()) +} + +func (i ConfigurationSetReputationOptionsArgs) ToConfigurationSetReputationOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetReputationOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetReputationOptionsOutput).ToConfigurationSetReputationOptionsPtrOutputWithContext(ctx) +} + +// ConfigurationSetReputationOptionsPtrInput is an input type that accepts ConfigurationSetReputationOptionsArgs, ConfigurationSetReputationOptionsPtr and ConfigurationSetReputationOptionsPtrOutput values. +// You can construct a concrete instance of `ConfigurationSetReputationOptionsPtrInput` via: +// +// ConfigurationSetReputationOptionsArgs{...} +// +// or: +// +// nil +type ConfigurationSetReputationOptionsPtrInput interface { + pulumi.Input + + ToConfigurationSetReputationOptionsPtrOutput() ConfigurationSetReputationOptionsPtrOutput + ToConfigurationSetReputationOptionsPtrOutputWithContext(context.Context) ConfigurationSetReputationOptionsPtrOutput +} + +type configurationSetReputationOptionsPtrType ConfigurationSetReputationOptionsArgs + +func ConfigurationSetReputationOptionsPtr(v *ConfigurationSetReputationOptionsArgs) ConfigurationSetReputationOptionsPtrInput { + return (*configurationSetReputationOptionsPtrType)(v) +} + +func (*configurationSetReputationOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetReputationOptions)(nil)).Elem() +} + +func (i *configurationSetReputationOptionsPtrType) ToConfigurationSetReputationOptionsPtrOutput() ConfigurationSetReputationOptionsPtrOutput { + return i.ToConfigurationSetReputationOptionsPtrOutputWithContext(context.Background()) +} + +func (i *configurationSetReputationOptionsPtrType) ToConfigurationSetReputationOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetReputationOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetReputationOptionsPtrOutput) +} + +type ConfigurationSetReputationOptionsOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetReputationOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetReputationOptions)(nil)).Elem() +} + +func (o ConfigurationSetReputationOptionsOutput) ToConfigurationSetReputationOptionsOutput() ConfigurationSetReputationOptionsOutput { + return o +} + +func (o ConfigurationSetReputationOptionsOutput) ToConfigurationSetReputationOptionsOutputWithContext(ctx context.Context) ConfigurationSetReputationOptionsOutput { + return o +} + +func (o ConfigurationSetReputationOptionsOutput) ToConfigurationSetReputationOptionsPtrOutput() ConfigurationSetReputationOptionsPtrOutput { + return o.ToConfigurationSetReputationOptionsPtrOutputWithContext(context.Background()) +} + +func (o ConfigurationSetReputationOptionsOutput) ToConfigurationSetReputationOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetReputationOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ConfigurationSetReputationOptions) *ConfigurationSetReputationOptions { + return &v + }).(ConfigurationSetReputationOptionsPtrOutput) +} + +// The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. +func (o ConfigurationSetReputationOptionsOutput) LastFreshStart() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationSetReputationOptions) *string { return v.LastFreshStart }).(pulumi.StringPtrOutput) +} + +// If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. +func (o ConfigurationSetReputationOptionsOutput) ReputationMetricsEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ConfigurationSetReputationOptions) *bool { return v.ReputationMetricsEnabled }).(pulumi.BoolPtrOutput) +} + +type ConfigurationSetReputationOptionsPtrOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetReputationOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetReputationOptions)(nil)).Elem() +} + +func (o ConfigurationSetReputationOptionsPtrOutput) ToConfigurationSetReputationOptionsPtrOutput() ConfigurationSetReputationOptionsPtrOutput { + return o +} + +func (o ConfigurationSetReputationOptionsPtrOutput) ToConfigurationSetReputationOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetReputationOptionsPtrOutput { + return o +} + +func (o ConfigurationSetReputationOptionsPtrOutput) Elem() ConfigurationSetReputationOptionsOutput { + return o.ApplyT(func(v *ConfigurationSetReputationOptions) ConfigurationSetReputationOptions { + if v != nil { + return *v + } + var ret ConfigurationSetReputationOptions + return ret + }).(ConfigurationSetReputationOptionsOutput) +} + +// The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. +func (o ConfigurationSetReputationOptionsPtrOutput) LastFreshStart() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConfigurationSetReputationOptions) *string { + if v == nil { + return nil + } + return v.LastFreshStart + }).(pulumi.StringPtrOutput) +} + +// If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. +func (o ConfigurationSetReputationOptionsPtrOutput) ReputationMetricsEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ConfigurationSetReputationOptions) *bool { + if v == nil { + return nil + } + return v.ReputationMetricsEnabled + }).(pulumi.BoolPtrOutput) +} + +type ConfigurationSetSendingOptions struct { + // If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. + SendingEnabled *bool `pulumi:"sendingEnabled"` +} + +// ConfigurationSetSendingOptionsInput is an input type that accepts ConfigurationSetSendingOptionsArgs and ConfigurationSetSendingOptionsOutput values. +// You can construct a concrete instance of `ConfigurationSetSendingOptionsInput` via: +// +// ConfigurationSetSendingOptionsArgs{...} +type ConfigurationSetSendingOptionsInput interface { + pulumi.Input + + ToConfigurationSetSendingOptionsOutput() ConfigurationSetSendingOptionsOutput + ToConfigurationSetSendingOptionsOutputWithContext(context.Context) ConfigurationSetSendingOptionsOutput +} + +type ConfigurationSetSendingOptionsArgs struct { + // If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. + SendingEnabled pulumi.BoolPtrInput `pulumi:"sendingEnabled"` +} + +func (ConfigurationSetSendingOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetSendingOptions)(nil)).Elem() +} + +func (i ConfigurationSetSendingOptionsArgs) ToConfigurationSetSendingOptionsOutput() ConfigurationSetSendingOptionsOutput { + return i.ToConfigurationSetSendingOptionsOutputWithContext(context.Background()) +} + +func (i ConfigurationSetSendingOptionsArgs) ToConfigurationSetSendingOptionsOutputWithContext(ctx context.Context) ConfigurationSetSendingOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetSendingOptionsOutput) +} + +func (i ConfigurationSetSendingOptionsArgs) ToConfigurationSetSendingOptionsPtrOutput() ConfigurationSetSendingOptionsPtrOutput { + return i.ToConfigurationSetSendingOptionsPtrOutputWithContext(context.Background()) +} + +func (i ConfigurationSetSendingOptionsArgs) ToConfigurationSetSendingOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetSendingOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetSendingOptionsOutput).ToConfigurationSetSendingOptionsPtrOutputWithContext(ctx) +} + +// ConfigurationSetSendingOptionsPtrInput is an input type that accepts ConfigurationSetSendingOptionsArgs, ConfigurationSetSendingOptionsPtr and ConfigurationSetSendingOptionsPtrOutput values. +// You can construct a concrete instance of `ConfigurationSetSendingOptionsPtrInput` via: +// +// ConfigurationSetSendingOptionsArgs{...} +// +// or: +// +// nil +type ConfigurationSetSendingOptionsPtrInput interface { + pulumi.Input + + ToConfigurationSetSendingOptionsPtrOutput() ConfigurationSetSendingOptionsPtrOutput + ToConfigurationSetSendingOptionsPtrOutputWithContext(context.Context) ConfigurationSetSendingOptionsPtrOutput +} + +type configurationSetSendingOptionsPtrType ConfigurationSetSendingOptionsArgs + +func ConfigurationSetSendingOptionsPtr(v *ConfigurationSetSendingOptionsArgs) ConfigurationSetSendingOptionsPtrInput { + return (*configurationSetSendingOptionsPtrType)(v) +} + +func (*configurationSetSendingOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetSendingOptions)(nil)).Elem() +} + +func (i *configurationSetSendingOptionsPtrType) ToConfigurationSetSendingOptionsPtrOutput() ConfigurationSetSendingOptionsPtrOutput { + return i.ToConfigurationSetSendingOptionsPtrOutputWithContext(context.Background()) +} + +func (i *configurationSetSendingOptionsPtrType) ToConfigurationSetSendingOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetSendingOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetSendingOptionsPtrOutput) +} + +type ConfigurationSetSendingOptionsOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetSendingOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetSendingOptions)(nil)).Elem() +} + +func (o ConfigurationSetSendingOptionsOutput) ToConfigurationSetSendingOptionsOutput() ConfigurationSetSendingOptionsOutput { + return o +} + +func (o ConfigurationSetSendingOptionsOutput) ToConfigurationSetSendingOptionsOutputWithContext(ctx context.Context) ConfigurationSetSendingOptionsOutput { + return o +} + +func (o ConfigurationSetSendingOptionsOutput) ToConfigurationSetSendingOptionsPtrOutput() ConfigurationSetSendingOptionsPtrOutput { + return o.ToConfigurationSetSendingOptionsPtrOutputWithContext(context.Background()) +} + +func (o ConfigurationSetSendingOptionsOutput) ToConfigurationSetSendingOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetSendingOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ConfigurationSetSendingOptions) *ConfigurationSetSendingOptions { + return &v + }).(ConfigurationSetSendingOptionsPtrOutput) +} + +// If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. +func (o ConfigurationSetSendingOptionsOutput) SendingEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ConfigurationSetSendingOptions) *bool { return v.SendingEnabled }).(pulumi.BoolPtrOutput) +} + +type ConfigurationSetSendingOptionsPtrOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetSendingOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetSendingOptions)(nil)).Elem() +} + +func (o ConfigurationSetSendingOptionsPtrOutput) ToConfigurationSetSendingOptionsPtrOutput() ConfigurationSetSendingOptionsPtrOutput { + return o +} + +func (o ConfigurationSetSendingOptionsPtrOutput) ToConfigurationSetSendingOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetSendingOptionsPtrOutput { + return o +} + +func (o ConfigurationSetSendingOptionsPtrOutput) Elem() ConfigurationSetSendingOptionsOutput { + return o.ApplyT(func(v *ConfigurationSetSendingOptions) ConfigurationSetSendingOptions { + if v != nil { + return *v + } + var ret ConfigurationSetSendingOptions + return ret + }).(ConfigurationSetSendingOptionsOutput) +} + +// If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. +func (o ConfigurationSetSendingOptionsPtrOutput) SendingEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ConfigurationSetSendingOptions) *bool { + if v == nil { + return nil + } + return v.SendingEnabled + }).(pulumi.BoolPtrOutput) +} + +type ConfigurationSetSuppressionOptions struct { + // A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + SuppressedReasons []string `pulumi:"suppressedReasons"` +} + +// ConfigurationSetSuppressionOptionsInput is an input type that accepts ConfigurationSetSuppressionOptionsArgs and ConfigurationSetSuppressionOptionsOutput values. +// You can construct a concrete instance of `ConfigurationSetSuppressionOptionsInput` via: +// +// ConfigurationSetSuppressionOptionsArgs{...} +type ConfigurationSetSuppressionOptionsInput interface { + pulumi.Input + + ToConfigurationSetSuppressionOptionsOutput() ConfigurationSetSuppressionOptionsOutput + ToConfigurationSetSuppressionOptionsOutputWithContext(context.Context) ConfigurationSetSuppressionOptionsOutput +} + +type ConfigurationSetSuppressionOptionsArgs struct { + // A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + SuppressedReasons pulumi.StringArrayInput `pulumi:"suppressedReasons"` +} + +func (ConfigurationSetSuppressionOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetSuppressionOptions)(nil)).Elem() +} + +func (i ConfigurationSetSuppressionOptionsArgs) ToConfigurationSetSuppressionOptionsOutput() ConfigurationSetSuppressionOptionsOutput { + return i.ToConfigurationSetSuppressionOptionsOutputWithContext(context.Background()) +} + +func (i ConfigurationSetSuppressionOptionsArgs) ToConfigurationSetSuppressionOptionsOutputWithContext(ctx context.Context) ConfigurationSetSuppressionOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetSuppressionOptionsOutput) +} + +func (i ConfigurationSetSuppressionOptionsArgs) ToConfigurationSetSuppressionOptionsPtrOutput() ConfigurationSetSuppressionOptionsPtrOutput { + return i.ToConfigurationSetSuppressionOptionsPtrOutputWithContext(context.Background()) +} + +func (i ConfigurationSetSuppressionOptionsArgs) ToConfigurationSetSuppressionOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetSuppressionOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetSuppressionOptionsOutput).ToConfigurationSetSuppressionOptionsPtrOutputWithContext(ctx) +} + +// ConfigurationSetSuppressionOptionsPtrInput is an input type that accepts ConfigurationSetSuppressionOptionsArgs, ConfigurationSetSuppressionOptionsPtr and ConfigurationSetSuppressionOptionsPtrOutput values. +// You can construct a concrete instance of `ConfigurationSetSuppressionOptionsPtrInput` via: +// +// ConfigurationSetSuppressionOptionsArgs{...} +// +// or: +// +// nil +type ConfigurationSetSuppressionOptionsPtrInput interface { + pulumi.Input + + ToConfigurationSetSuppressionOptionsPtrOutput() ConfigurationSetSuppressionOptionsPtrOutput + ToConfigurationSetSuppressionOptionsPtrOutputWithContext(context.Context) ConfigurationSetSuppressionOptionsPtrOutput +} + +type configurationSetSuppressionOptionsPtrType ConfigurationSetSuppressionOptionsArgs + +func ConfigurationSetSuppressionOptionsPtr(v *ConfigurationSetSuppressionOptionsArgs) ConfigurationSetSuppressionOptionsPtrInput { + return (*configurationSetSuppressionOptionsPtrType)(v) +} + +func (*configurationSetSuppressionOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetSuppressionOptions)(nil)).Elem() +} + +func (i *configurationSetSuppressionOptionsPtrType) ToConfigurationSetSuppressionOptionsPtrOutput() ConfigurationSetSuppressionOptionsPtrOutput { + return i.ToConfigurationSetSuppressionOptionsPtrOutputWithContext(context.Background()) +} + +func (i *configurationSetSuppressionOptionsPtrType) ToConfigurationSetSuppressionOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetSuppressionOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetSuppressionOptionsPtrOutput) +} + +type ConfigurationSetSuppressionOptionsOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetSuppressionOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetSuppressionOptions)(nil)).Elem() +} + +func (o ConfigurationSetSuppressionOptionsOutput) ToConfigurationSetSuppressionOptionsOutput() ConfigurationSetSuppressionOptionsOutput { + return o +} + +func (o ConfigurationSetSuppressionOptionsOutput) ToConfigurationSetSuppressionOptionsOutputWithContext(ctx context.Context) ConfigurationSetSuppressionOptionsOutput { + return o +} + +func (o ConfigurationSetSuppressionOptionsOutput) ToConfigurationSetSuppressionOptionsPtrOutput() ConfigurationSetSuppressionOptionsPtrOutput { + return o.ToConfigurationSetSuppressionOptionsPtrOutputWithContext(context.Background()) +} + +func (o ConfigurationSetSuppressionOptionsOutput) ToConfigurationSetSuppressionOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetSuppressionOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ConfigurationSetSuppressionOptions) *ConfigurationSetSuppressionOptions { + return &v + }).(ConfigurationSetSuppressionOptionsPtrOutput) +} + +// A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. +func (o ConfigurationSetSuppressionOptionsOutput) SuppressedReasons() pulumi.StringArrayOutput { + return o.ApplyT(func(v ConfigurationSetSuppressionOptions) []string { return v.SuppressedReasons }).(pulumi.StringArrayOutput) +} + +type ConfigurationSetSuppressionOptionsPtrOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetSuppressionOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetSuppressionOptions)(nil)).Elem() +} + +func (o ConfigurationSetSuppressionOptionsPtrOutput) ToConfigurationSetSuppressionOptionsPtrOutput() ConfigurationSetSuppressionOptionsPtrOutput { + return o +} + +func (o ConfigurationSetSuppressionOptionsPtrOutput) ToConfigurationSetSuppressionOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetSuppressionOptionsPtrOutput { + return o +} + +func (o ConfigurationSetSuppressionOptionsPtrOutput) Elem() ConfigurationSetSuppressionOptionsOutput { + return o.ApplyT(func(v *ConfigurationSetSuppressionOptions) ConfigurationSetSuppressionOptions { + if v != nil { + return *v + } + var ret ConfigurationSetSuppressionOptions + return ret + }).(ConfigurationSetSuppressionOptionsOutput) +} + +// A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. +func (o ConfigurationSetSuppressionOptionsPtrOutput) SuppressedReasons() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ConfigurationSetSuppressionOptions) []string { + if v == nil { + return nil + } + return v.SuppressedReasons + }).(pulumi.StringArrayOutput) +} + +type ConfigurationSetTrackingOptions struct { + // The domain to use for tracking open and click events. + CustomRedirectDomain string `pulumi:"customRedirectDomain"` +} + +// ConfigurationSetTrackingOptionsInput is an input type that accepts ConfigurationSetTrackingOptionsArgs and ConfigurationSetTrackingOptionsOutput values. +// You can construct a concrete instance of `ConfigurationSetTrackingOptionsInput` via: +// +// ConfigurationSetTrackingOptionsArgs{...} +type ConfigurationSetTrackingOptionsInput interface { + pulumi.Input + + ToConfigurationSetTrackingOptionsOutput() ConfigurationSetTrackingOptionsOutput + ToConfigurationSetTrackingOptionsOutputWithContext(context.Context) ConfigurationSetTrackingOptionsOutput +} + +type ConfigurationSetTrackingOptionsArgs struct { + // The domain to use for tracking open and click events. + CustomRedirectDomain pulumi.StringInput `pulumi:"customRedirectDomain"` +} + +func (ConfigurationSetTrackingOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetTrackingOptions)(nil)).Elem() +} + +func (i ConfigurationSetTrackingOptionsArgs) ToConfigurationSetTrackingOptionsOutput() ConfigurationSetTrackingOptionsOutput { + return i.ToConfigurationSetTrackingOptionsOutputWithContext(context.Background()) +} + +func (i ConfigurationSetTrackingOptionsArgs) ToConfigurationSetTrackingOptionsOutputWithContext(ctx context.Context) ConfigurationSetTrackingOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetTrackingOptionsOutput) +} + +func (i ConfigurationSetTrackingOptionsArgs) ToConfigurationSetTrackingOptionsPtrOutput() ConfigurationSetTrackingOptionsPtrOutput { + return i.ToConfigurationSetTrackingOptionsPtrOutputWithContext(context.Background()) +} + +func (i ConfigurationSetTrackingOptionsArgs) ToConfigurationSetTrackingOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetTrackingOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetTrackingOptionsOutput).ToConfigurationSetTrackingOptionsPtrOutputWithContext(ctx) +} + +// ConfigurationSetTrackingOptionsPtrInput is an input type that accepts ConfigurationSetTrackingOptionsArgs, ConfigurationSetTrackingOptionsPtr and ConfigurationSetTrackingOptionsPtrOutput values. +// You can construct a concrete instance of `ConfigurationSetTrackingOptionsPtrInput` via: +// +// ConfigurationSetTrackingOptionsArgs{...} +// +// or: +// +// nil +type ConfigurationSetTrackingOptionsPtrInput interface { + pulumi.Input + + ToConfigurationSetTrackingOptionsPtrOutput() ConfigurationSetTrackingOptionsPtrOutput + ToConfigurationSetTrackingOptionsPtrOutputWithContext(context.Context) ConfigurationSetTrackingOptionsPtrOutput +} + +type configurationSetTrackingOptionsPtrType ConfigurationSetTrackingOptionsArgs + +func ConfigurationSetTrackingOptionsPtr(v *ConfigurationSetTrackingOptionsArgs) ConfigurationSetTrackingOptionsPtrInput { + return (*configurationSetTrackingOptionsPtrType)(v) +} + +func (*configurationSetTrackingOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetTrackingOptions)(nil)).Elem() +} + +func (i *configurationSetTrackingOptionsPtrType) ToConfigurationSetTrackingOptionsPtrOutput() ConfigurationSetTrackingOptionsPtrOutput { + return i.ToConfigurationSetTrackingOptionsPtrOutputWithContext(context.Background()) +} + +func (i *configurationSetTrackingOptionsPtrType) ToConfigurationSetTrackingOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetTrackingOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetTrackingOptionsPtrOutput) +} + +type ConfigurationSetTrackingOptionsOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetTrackingOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetTrackingOptions)(nil)).Elem() +} + +func (o ConfigurationSetTrackingOptionsOutput) ToConfigurationSetTrackingOptionsOutput() ConfigurationSetTrackingOptionsOutput { + return o +} + +func (o ConfigurationSetTrackingOptionsOutput) ToConfigurationSetTrackingOptionsOutputWithContext(ctx context.Context) ConfigurationSetTrackingOptionsOutput { + return o +} + +func (o ConfigurationSetTrackingOptionsOutput) ToConfigurationSetTrackingOptionsPtrOutput() ConfigurationSetTrackingOptionsPtrOutput { + return o.ToConfigurationSetTrackingOptionsPtrOutputWithContext(context.Background()) +} + +func (o ConfigurationSetTrackingOptionsOutput) ToConfigurationSetTrackingOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetTrackingOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ConfigurationSetTrackingOptions) *ConfigurationSetTrackingOptions { + return &v + }).(ConfigurationSetTrackingOptionsPtrOutput) +} + +// The domain to use for tracking open and click events. +func (o ConfigurationSetTrackingOptionsOutput) CustomRedirectDomain() pulumi.StringOutput { + return o.ApplyT(func(v ConfigurationSetTrackingOptions) string { return v.CustomRedirectDomain }).(pulumi.StringOutput) +} + +type ConfigurationSetTrackingOptionsPtrOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetTrackingOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetTrackingOptions)(nil)).Elem() +} + +func (o ConfigurationSetTrackingOptionsPtrOutput) ToConfigurationSetTrackingOptionsPtrOutput() ConfigurationSetTrackingOptionsPtrOutput { + return o +} + +func (o ConfigurationSetTrackingOptionsPtrOutput) ToConfigurationSetTrackingOptionsPtrOutputWithContext(ctx context.Context) ConfigurationSetTrackingOptionsPtrOutput { + return o +} + +func (o ConfigurationSetTrackingOptionsPtrOutput) Elem() ConfigurationSetTrackingOptionsOutput { + return o.ApplyT(func(v *ConfigurationSetTrackingOptions) ConfigurationSetTrackingOptions { + if v != nil { + return *v + } + var ret ConfigurationSetTrackingOptions + return ret + }).(ConfigurationSetTrackingOptionsOutput) +} + +// The domain to use for tracking open and click events. +func (o ConfigurationSetTrackingOptionsPtrOutput) CustomRedirectDomain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConfigurationSetTrackingOptions) *string { + if v == nil { + return nil + } + return &v.CustomRedirectDomain + }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetDeliveryOptionsInput)(nil)).Elem(), ConfigurationSetDeliveryOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetDeliveryOptionsPtrInput)(nil)).Elem(), ConfigurationSetDeliveryOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetReputationOptionsInput)(nil)).Elem(), ConfigurationSetReputationOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetReputationOptionsPtrInput)(nil)).Elem(), ConfigurationSetReputationOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetSendingOptionsInput)(nil)).Elem(), ConfigurationSetSendingOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetSendingOptionsPtrInput)(nil)).Elem(), ConfigurationSetSendingOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetSuppressionOptionsInput)(nil)).Elem(), ConfigurationSetSuppressionOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetSuppressionOptionsPtrInput)(nil)).Elem(), ConfigurationSetSuppressionOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetTrackingOptionsInput)(nil)).Elem(), ConfigurationSetTrackingOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetTrackingOptionsPtrInput)(nil)).Elem(), ConfigurationSetTrackingOptionsArgs{}) + pulumi.RegisterOutputType(ConfigurationSetDeliveryOptionsOutput{}) + pulumi.RegisterOutputType(ConfigurationSetDeliveryOptionsPtrOutput{}) + pulumi.RegisterOutputType(ConfigurationSetReputationOptionsOutput{}) + pulumi.RegisterOutputType(ConfigurationSetReputationOptionsPtrOutput{}) + pulumi.RegisterOutputType(ConfigurationSetSendingOptionsOutput{}) + pulumi.RegisterOutputType(ConfigurationSetSendingOptionsPtrOutput{}) + pulumi.RegisterOutputType(ConfigurationSetSuppressionOptionsOutput{}) + pulumi.RegisterOutputType(ConfigurationSetSuppressionOptionsPtrOutput{}) + pulumi.RegisterOutputType(ConfigurationSetTrackingOptionsOutput{}) + pulumi.RegisterOutputType(ConfigurationSetTrackingOptionsPtrOutput{}) +} diff --git a/sdk/go/aws/transfer/init.go b/sdk/go/aws/transfer/init.go index 0541a984e30..e5cc2e7a1a1 100644 --- a/sdk/go/aws/transfer/init.go +++ b/sdk/go/aws/transfer/init.go @@ -27,6 +27,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Server{} case "aws:transfer/sshKey:SshKey": r = &SshKey{} + case "aws:transfer/tag:Tag": + r = &Tag{} case "aws:transfer/user:User": r = &User{} case "aws:transfer/workflow:Workflow": @@ -59,6 +61,11 @@ func init() { "transfer/sshKey", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "transfer/tag", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "transfer/user", diff --git a/sdk/go/aws/transfer/server.go b/sdk/go/aws/transfer/server.go index 0e6618ee260..497ae956432 100644 --- a/sdk/go/aws/transfer/server.go +++ b/sdk/go/aws/transfer/server.go @@ -14,6 +14,8 @@ import ( // // > **NOTE on AWS IAM permissions:** If the `endpointType` is set to `VPC`, the `ec2:DescribeVpcEndpoints` and `ec2:ModifyVpcEndpoint` [actions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) are used. // +// > **NOTE:** Use the `transfer.Tag` resource to manage the system tags used for [custom hostnames](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-dns.html#tag-custom-hostname-cdk). +// // ## Example Usage // ### Basic // diff --git a/sdk/go/aws/transfer/tag.go b/sdk/go/aws/transfer/tag.go new file mode 100644 index 00000000000..9f40765544b --- /dev/null +++ b/sdk/go/aws/transfer/tag.go @@ -0,0 +1,303 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package transfer + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/transfer" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := transfer.NewServer(ctx, "example", &transfer.ServerArgs{ +// IdentityProviderType: pulumi.String("SERVICE_MANAGED"), +// }) +// if err != nil { +// return err +// } +// _, err = transfer.NewTag(ctx, "zoneId", &transfer.TagArgs{ +// ResourceArn: example.Arn, +// Key: pulumi.String("aws:transfer:route53HostedZoneId"), +// Value: pulumi.String("/hostedzone/MyHostedZoneId"), +// }) +// if err != nil { +// return err +// } +// _, err = transfer.NewTag(ctx, "hostname", &transfer.TagArgs{ +// ResourceArn: example.Arn, +// Key: pulumi.String("aws:transfer:customHostname"), +// Value: pulumi.String("example.com"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// `aws_transfer_tag` can be imported by using the Transfer Family resource identifier and key, separated by a comma (`,`), e.g., +// +// ```sh +// +// $ pulumi import aws:transfer/tag:Tag example arn:aws:transfer:us-east-1:123456789012:server/s-1234567890abcdef0,Name +// +// ``` +type Tag struct { + pulumi.CustomResourceState + + // Tag name. + Key pulumi.StringOutput `pulumi:"key"` + // Amazon Resource Name (ARN) of the Transfer Family resource to tag. + ResourceArn pulumi.StringOutput `pulumi:"resourceArn"` + // Tag value. + Value pulumi.StringOutput `pulumi:"value"` +} + +// NewTag registers a new resource with the given unique name, arguments, and options. +func NewTag(ctx *pulumi.Context, + name string, args *TagArgs, opts ...pulumi.ResourceOption) (*Tag, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Key == nil { + return nil, errors.New("invalid value for required argument 'Key'") + } + if args.ResourceArn == nil { + return nil, errors.New("invalid value for required argument 'ResourceArn'") + } + if args.Value == nil { + return nil, errors.New("invalid value for required argument 'Value'") + } + var resource Tag + err := ctx.RegisterResource("aws:transfer/tag:Tag", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTag gets an existing Tag 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 GetTag(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TagState, opts ...pulumi.ResourceOption) (*Tag, error) { + var resource Tag + err := ctx.ReadResource("aws:transfer/tag:Tag", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Tag resources. +type tagState struct { + // Tag name. + Key *string `pulumi:"key"` + // Amazon Resource Name (ARN) of the Transfer Family resource to tag. + ResourceArn *string `pulumi:"resourceArn"` + // Tag value. + Value *string `pulumi:"value"` +} + +type TagState struct { + // Tag name. + Key pulumi.StringPtrInput + // Amazon Resource Name (ARN) of the Transfer Family resource to tag. + ResourceArn pulumi.StringPtrInput + // Tag value. + Value pulumi.StringPtrInput +} + +func (TagState) ElementType() reflect.Type { + return reflect.TypeOf((*tagState)(nil)).Elem() +} + +type tagArgs struct { + // Tag name. + Key string `pulumi:"key"` + // Amazon Resource Name (ARN) of the Transfer Family resource to tag. + ResourceArn string `pulumi:"resourceArn"` + // Tag value. + Value string `pulumi:"value"` +} + +// The set of arguments for constructing a Tag resource. +type TagArgs struct { + // Tag name. + Key pulumi.StringInput + // Amazon Resource Name (ARN) of the Transfer Family resource to tag. + ResourceArn pulumi.StringInput + // Tag value. + Value pulumi.StringInput +} + +func (TagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*tagArgs)(nil)).Elem() +} + +type TagInput interface { + pulumi.Input + + ToTagOutput() TagOutput + ToTagOutputWithContext(ctx context.Context) TagOutput +} + +func (*Tag) ElementType() reflect.Type { + return reflect.TypeOf((**Tag)(nil)).Elem() +} + +func (i *Tag) ToTagOutput() TagOutput { + return i.ToTagOutputWithContext(context.Background()) +} + +func (i *Tag) ToTagOutputWithContext(ctx context.Context) TagOutput { + return pulumi.ToOutputWithContext(ctx, i).(TagOutput) +} + +// TagArrayInput is an input type that accepts TagArray and TagArrayOutput values. +// You can construct a concrete instance of `TagArrayInput` via: +// +// TagArray{ TagArgs{...} } +type TagArrayInput interface { + pulumi.Input + + ToTagArrayOutput() TagArrayOutput + ToTagArrayOutputWithContext(context.Context) TagArrayOutput +} + +type TagArray []TagInput + +func (TagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Tag)(nil)).Elem() +} + +func (i TagArray) ToTagArrayOutput() TagArrayOutput { + return i.ToTagArrayOutputWithContext(context.Background()) +} + +func (i TagArray) ToTagArrayOutputWithContext(ctx context.Context) TagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TagArrayOutput) +} + +// TagMapInput is an input type that accepts TagMap and TagMapOutput values. +// You can construct a concrete instance of `TagMapInput` via: +// +// TagMap{ "key": TagArgs{...} } +type TagMapInput interface { + pulumi.Input + + ToTagMapOutput() TagMapOutput + ToTagMapOutputWithContext(context.Context) TagMapOutput +} + +type TagMap map[string]TagInput + +func (TagMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Tag)(nil)).Elem() +} + +func (i TagMap) ToTagMapOutput() TagMapOutput { + return i.ToTagMapOutputWithContext(context.Background()) +} + +func (i TagMap) ToTagMapOutputWithContext(ctx context.Context) TagMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(TagMapOutput) +} + +type TagOutput struct{ *pulumi.OutputState } + +func (TagOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Tag)(nil)).Elem() +} + +func (o TagOutput) ToTagOutput() TagOutput { + return o +} + +func (o TagOutput) ToTagOutputWithContext(ctx context.Context) TagOutput { + return o +} + +// Tag name. +func (o TagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v *Tag) pulumi.StringOutput { return v.Key }).(pulumi.StringOutput) +} + +// Amazon Resource Name (ARN) of the Transfer Family resource to tag. +func (o TagOutput) ResourceArn() pulumi.StringOutput { + return o.ApplyT(func(v *Tag) pulumi.StringOutput { return v.ResourceArn }).(pulumi.StringOutput) +} + +// Tag value. +func (o TagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v *Tag) pulumi.StringOutput { return v.Value }).(pulumi.StringOutput) +} + +type TagArrayOutput struct{ *pulumi.OutputState } + +func (TagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Tag)(nil)).Elem() +} + +func (o TagArrayOutput) ToTagArrayOutput() TagArrayOutput { + return o +} + +func (o TagArrayOutput) ToTagArrayOutputWithContext(ctx context.Context) TagArrayOutput { + return o +} + +func (o TagArrayOutput) Index(i pulumi.IntInput) TagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Tag { + return vs[0].([]*Tag)[vs[1].(int)] + }).(TagOutput) +} + +type TagMapOutput struct{ *pulumi.OutputState } + +func (TagMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Tag)(nil)).Elem() +} + +func (o TagMapOutput) ToTagMapOutput() TagMapOutput { + return o +} + +func (o TagMapOutput) ToTagMapOutputWithContext(ctx context.Context) TagMapOutput { + return o +} + +func (o TagMapOutput) MapIndex(k pulumi.StringInput) TagOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Tag { + return vs[0].(map[string]*Tag)[vs[1].(string)] + }).(TagOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TagInput)(nil)).Elem(), &Tag{}) + pulumi.RegisterInputType(reflect.TypeOf((*TagArrayInput)(nil)).Elem(), TagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TagMapInput)(nil)).Elem(), TagMap{}) + pulumi.RegisterOutputType(TagOutput{}) + pulumi.RegisterOutputType(TagArrayOutput{}) + pulumi.RegisterOutputType(TagMapOutput{}) +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/amp/Workspace.java b/sdk/java/src/main/java/com/pulumi/aws/amp/Workspace.java index 911be44d4a9..aa1bf11cc6d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/amp/Workspace.java +++ b/sdk/java/src/main/java/com/pulumi/aws/amp/Workspace.java @@ -6,6 +6,7 @@ import com.pulumi.aws.Utilities; import com.pulumi.aws.amp.WorkspaceArgs; import com.pulumi.aws.amp.inputs.WorkspaceState; +import com.pulumi.aws.amp.outputs.WorkspaceLoggingConfiguration; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -18,8 +19,6 @@ /** * Manages an Amazon Managed Service for Prometheus (AMP) Workspace. * - * > **NOTE:** This AWS functionality is in Preview and may change before General Availability release. Backwards compatibility is not guaranteed between provider releases. - * * ## Example Usage * ```java * package generated_program; @@ -42,12 +41,44 @@ * } * * public static void stack(Context ctx) { - * var demo = new Workspace("demo", WorkspaceArgs.builder() - * .alias("prometheus-test") - * .tags(Map.ofEntries( - * Map.entry("Environment", "production"), - * Map.entry("Owner", "abhi") - * )) + * var example = new Workspace("example", WorkspaceArgs.builder() + * .alias("example") + * .tags(Map.of("Environment", "production")) + * .build()); + * + * } + * } + * ``` + * ### CloudWatch Logging + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.cloudwatch.LogGroup; + * import com.pulumi.aws.amp.Workspace; + * import com.pulumi.aws.amp.WorkspaceArgs; + * import com.pulumi.aws.amp.inputs.WorkspaceLoggingConfigurationArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var exampleLogGroup = new LogGroup("exampleLogGroup"); + * + * var exampleWorkspace = new Workspace("exampleWorkspace", WorkspaceArgs.builder() + * .loggingConfiguration(WorkspaceLoggingConfigurationArgs.builder() + * .logGroupArn(exampleLogGroup.arn().applyValue(arn -> String.format("%s:*", arn))) + * .build()) * .build()); * * } @@ -93,6 +124,20 @@ public Output> alias() { public Output arn() { return this.arn; } + /** + * Logging configuration for the workspace. See Logging Configuration below for details. + * + */ + @Export(name="loggingConfiguration", type=WorkspaceLoggingConfiguration.class, parameters={}) + private Output loggingConfiguration; + + /** + * @return Logging configuration for the workspace. See Logging Configuration below for details. + * + */ + public Output> loggingConfiguration() { + return Codegen.optional(this.loggingConfiguration); + } /** * Prometheus endpoint available for this workspace. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/amp/WorkspaceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/amp/WorkspaceArgs.java index f24a4db9337..acfd9ef721f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/amp/WorkspaceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/amp/WorkspaceArgs.java @@ -3,6 +3,7 @@ package com.pulumi.aws.amp; +import com.pulumi.aws.amp.inputs.WorkspaceLoggingConfigurationArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.String; @@ -31,6 +32,21 @@ public Optional> alias() { return Optional.ofNullable(this.alias); } + /** + * Logging configuration for the workspace. See Logging Configuration below for details. + * + */ + @Import(name="loggingConfiguration") + private @Nullable Output loggingConfiguration; + + /** + * @return Logging configuration for the workspace. See Logging Configuration below for details. + * + */ + public Optional> loggingConfiguration() { + return Optional.ofNullable(this.loggingConfiguration); + } + /** * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * @@ -50,6 +66,7 @@ private WorkspaceArgs() {} private WorkspaceArgs(WorkspaceArgs $) { this.alias = $.alias; + this.loggingConfiguration = $.loggingConfiguration; this.tags = $.tags; } @@ -92,6 +109,27 @@ public Builder alias(String alias) { return alias(Output.of(alias)); } + /** + * @param loggingConfiguration Logging configuration for the workspace. See Logging Configuration below for details. + * + * @return builder + * + */ + public Builder loggingConfiguration(@Nullable Output loggingConfiguration) { + $.loggingConfiguration = loggingConfiguration; + return this; + } + + /** + * @param loggingConfiguration Logging configuration for the workspace. See Logging Configuration below for details. + * + * @return builder + * + */ + public Builder loggingConfiguration(WorkspaceLoggingConfigurationArgs loggingConfiguration) { + return loggingConfiguration(Output.of(loggingConfiguration)); + } + /** * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/amp/inputs/WorkspaceLoggingConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/amp/inputs/WorkspaceLoggingConfigurationArgs.java new file mode 100644 index 00000000000..26c464b4ee7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/amp/inputs/WorkspaceLoggingConfigurationArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.amp.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WorkspaceLoggingConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final WorkspaceLoggingConfigurationArgs Empty = new WorkspaceLoggingConfigurationArgs(); + + /** + * The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. + * + */ + @Import(name="logGroupArn", required=true) + private Output logGroupArn; + + /** + * @return The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. + * + */ + public Output logGroupArn() { + return this.logGroupArn; + } + + private WorkspaceLoggingConfigurationArgs() {} + + private WorkspaceLoggingConfigurationArgs(WorkspaceLoggingConfigurationArgs $) { + this.logGroupArn = $.logGroupArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WorkspaceLoggingConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WorkspaceLoggingConfigurationArgs $; + + public Builder() { + $ = new WorkspaceLoggingConfigurationArgs(); + } + + public Builder(WorkspaceLoggingConfigurationArgs defaults) { + $ = new WorkspaceLoggingConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param logGroupArn The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. + * + * @return builder + * + */ + public Builder logGroupArn(Output logGroupArn) { + $.logGroupArn = logGroupArn; + return this; + } + + /** + * @param logGroupArn The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. + * + * @return builder + * + */ + public Builder logGroupArn(String logGroupArn) { + return logGroupArn(Output.of(logGroupArn)); + } + + public WorkspaceLoggingConfigurationArgs build() { + $.logGroupArn = Objects.requireNonNull($.logGroupArn, "expected parameter 'logGroupArn' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/amp/inputs/WorkspaceState.java b/sdk/java/src/main/java/com/pulumi/aws/amp/inputs/WorkspaceState.java index a2b3961a712..19f382acf9e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/amp/inputs/WorkspaceState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/amp/inputs/WorkspaceState.java @@ -3,6 +3,7 @@ package com.pulumi.aws.amp.inputs; +import com.pulumi.aws.amp.inputs.WorkspaceLoggingConfigurationArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.String; @@ -46,6 +47,21 @@ public Optional> arn() { return Optional.ofNullable(this.arn); } + /** + * Logging configuration for the workspace. See Logging Configuration below for details. + * + */ + @Import(name="loggingConfiguration") + private @Nullable Output loggingConfiguration; + + /** + * @return Logging configuration for the workspace. See Logging Configuration below for details. + * + */ + public Optional> loggingConfiguration() { + return Optional.ofNullable(this.loggingConfiguration); + } + /** * Prometheus endpoint available for this workspace. * @@ -96,6 +112,7 @@ private WorkspaceState() {} private WorkspaceState(WorkspaceState $) { this.alias = $.alias; this.arn = $.arn; + this.loggingConfiguration = $.loggingConfiguration; this.prometheusEndpoint = $.prometheusEndpoint; this.tags = $.tags; this.tagsAll = $.tagsAll; @@ -161,6 +178,27 @@ public Builder arn(String arn) { return arn(Output.of(arn)); } + /** + * @param loggingConfiguration Logging configuration for the workspace. See Logging Configuration below for details. + * + * @return builder + * + */ + public Builder loggingConfiguration(@Nullable Output loggingConfiguration) { + $.loggingConfiguration = loggingConfiguration; + return this; + } + + /** + * @param loggingConfiguration Logging configuration for the workspace. See Logging Configuration below for details. + * + * @return builder + * + */ + public Builder loggingConfiguration(WorkspaceLoggingConfigurationArgs loggingConfiguration) { + return loggingConfiguration(Output.of(loggingConfiguration)); + } + /** * @param prometheusEndpoint Prometheus endpoint available for this workspace. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/amp/outputs/WorkspaceLoggingConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/amp/outputs/WorkspaceLoggingConfiguration.java new file mode 100644 index 00000000000..60fb2bb9c77 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/amp/outputs/WorkspaceLoggingConfiguration.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.amp.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WorkspaceLoggingConfiguration { + /** + * @return The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. + * + */ + private String logGroupArn; + + private WorkspaceLoggingConfiguration() {} + /** + * @return The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. + * + */ + public String logGroupArn() { + return this.logGroupArn; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WorkspaceLoggingConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String logGroupArn; + public Builder() {} + public Builder(WorkspaceLoggingConfiguration defaults) { + Objects.requireNonNull(defaults); + this.logGroupArn = defaults.logGroupArn; + } + + @CustomType.Setter + public Builder logGroupArn(String logGroupArn) { + this.logGroupArn = Objects.requireNonNull(logGroupArn); + return this; + } + public WorkspaceLoggingConfiguration build() { + final var o = new WorkspaceLoggingConfiguration(); + o.logGroupArn = logGroupArn; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/inputs/IntegrationResponseParameterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/inputs/IntegrationResponseParameterArgs.java index 1092c519e01..872c94a495f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/inputs/IntegrationResponseParameterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/inputs/IntegrationResponseParameterArgs.java @@ -15,7 +15,7 @@ public final class IntegrationResponseParameterArgs extends com.pulumi.resources public static final IntegrationResponseParameterArgs Empty = new IntegrationResponseParameterArgs(); /** - * Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. + * Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. * See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. * */ @@ -23,7 +23,7 @@ public final class IntegrationResponseParameterArgs extends com.pulumi.resources private Output> mappings; /** - * @return Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. + * @return Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. * See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. * */ @@ -72,7 +72,7 @@ public Builder(IntegrationResponseParameterArgs defaults) { } /** - * @param mappings Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. + * @param mappings Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. * See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. * * @return builder @@ -84,7 +84,7 @@ public Builder mappings(Output> mappings) { } /** - * @param mappings Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. + * @param mappings Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. * See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. * * @return builder diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/outputs/IntegrationResponseParameter.java b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/outputs/IntegrationResponseParameter.java index 3d0b6c00a1e..6cbd0280eed 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/outputs/IntegrationResponseParameter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/outputs/IntegrationResponseParameter.java @@ -11,7 +11,7 @@ @CustomType public final class IntegrationResponseParameter { /** - * @return Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. + * @return Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. * See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. * */ @@ -24,7 +24,7 @@ public final class IntegrationResponseParameter { private IntegrationResponseParameter() {} /** - * @return Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. + * @return Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. * See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. * */ diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/Distribution.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/Distribution.java index 3b98261a09f..ea6aae57317 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/Distribution.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/Distribution.java @@ -95,7 +95,7 @@ * var s3Distribution = new Distribution("s3Distribution", DistributionArgs.builder() * .origins(DistributionOriginArgs.builder() * .domainName(bucketV2.bucketRegionalDomainName()) - * .originId(s3OriginId) + * .originId(locals.s3_origin_id()) * .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder() * .originAccessIdentity("origin-access-identity/cloudfront/ABCDEFG1234567") * .build()) diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/CustomActionType.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/CustomActionType.java new file mode 100644 index 00000000000..77405e1688d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/CustomActionType.java @@ -0,0 +1,266 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.codepipeline; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.codepipeline.CustomActionTypeArgs; +import com.pulumi.aws.codepipeline.inputs.CustomActionTypeState; +import com.pulumi.aws.codepipeline.outputs.CustomActionTypeConfigurationProperty; +import com.pulumi.aws.codepipeline.outputs.CustomActionTypeInputArtifactDetails; +import com.pulumi.aws.codepipeline.outputs.CustomActionTypeOutputArtifactDetails; +import com.pulumi.aws.codepipeline.outputs.CustomActionTypeSettings; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a CodeDeploy CustomActionType + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.codepipeline.CustomActionType; + * import com.pulumi.aws.codepipeline.CustomActionTypeArgs; + * import com.pulumi.aws.codepipeline.inputs.CustomActionTypeInputArtifactDetailsArgs; + * import com.pulumi.aws.codepipeline.inputs.CustomActionTypeOutputArtifactDetailsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var example = new CustomActionType("example", CustomActionTypeArgs.builder() + * .category("Build") + * .inputArtifactDetails(CustomActionTypeInputArtifactDetailsArgs.builder() + * .maximumCount(1) + * .minimumCount(0) + * .build()) + * .outputArtifactDetails(CustomActionTypeOutputArtifactDetailsArgs.builder() + * .maximumCount(1) + * .minimumCount(0) + * .build()) + * .providerName("example") + * .version("1") + * .build()); + * + * } + * } + * ``` + * + * ## Import + * + * CodeDeploy CustomActionType can be imported using the `id`, e.g. + * + * ```sh + * $ pulumi import aws:codepipeline/customActionType:CustomActionType example Build:terraform:1 + * ``` + * + */ +@ResourceType(type="aws:codepipeline/customActionType:CustomActionType") +public class CustomActionType extends com.pulumi.resources.CustomResource { + /** + * The action ARN. + * + */ + @Export(name="arn", type=String.class, parameters={}) + private Output arn; + + /** + * @return The action ARN. + * + */ + public Output arn() { + return this.arn; + } + /** + * The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + * + */ + @Export(name="category", type=String.class, parameters={}) + private Output category; + + /** + * @return The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + * + */ + public Output category() { + return this.category; + } + /** + * The configuration properties for the custom action. Max 10 items. + * + */ + @Export(name="configurationProperties", type=List.class, parameters={CustomActionTypeConfigurationProperty.class}) + private Output> configurationProperties; + + /** + * @return The configuration properties for the custom action. Max 10 items. + * + */ + public Output>> configurationProperties() { + return Codegen.optional(this.configurationProperties); + } + /** + * The details of the input artifact for the action. + * + */ + @Export(name="inputArtifactDetails", type=CustomActionTypeInputArtifactDetails.class, parameters={}) + private Output inputArtifactDetails; + + /** + * @return The details of the input artifact for the action. + * + */ + public Output inputArtifactDetails() { + return this.inputArtifactDetails; + } + /** + * The details of the output artifact of the action. + * + */ + @Export(name="outputArtifactDetails", type=CustomActionTypeOutputArtifactDetails.class, parameters={}) + private Output outputArtifactDetails; + + /** + * @return The details of the output artifact of the action. + * + */ + public Output outputArtifactDetails() { + return this.outputArtifactDetails; + } + /** + * The creator of the action being called. + * + */ + @Export(name="owner", type=String.class, parameters={}) + private Output owner; + + /** + * @return The creator of the action being called. + * + */ + public Output owner() { + return this.owner; + } + /** + * The provider of the service used in the custom action + * + */ + @Export(name="providerName", type=String.class, parameters={}) + private Output providerName; + + /** + * @return The provider of the service used in the custom action + * + */ + public Output providerName() { + return this.providerName; + } + /** + * The settings for an action type. + * + */ + @Export(name="settings", type=CustomActionTypeSettings.class, parameters={}) + private Output settings; + + /** + * @return The settings for an action type. + * + */ + public Output> settings() { + return Codegen.optional(this.settings); + } + @Export(name="tags", type=Map.class, parameters={String.class, String.class}) + private Output> tags; + + public Output>> tags() { + return Codegen.optional(this.tags); + } + @Export(name="tagsAll", type=Map.class, parameters={String.class, String.class}) + private Output> tagsAll; + + public Output> tagsAll() { + return this.tagsAll; + } + /** + * The version identifier of the custom action. + * + */ + @Export(name="version", type=String.class, parameters={}) + private Output version; + + /** + * @return The version identifier of the custom action. + * + */ + public Output version() { + return this.version; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public CustomActionType(String name) { + this(name, CustomActionTypeArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public CustomActionType(String name, CustomActionTypeArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public CustomActionType(String name, CustomActionTypeArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:codepipeline/customActionType:CustomActionType", name, args == null ? CustomActionTypeArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private CustomActionType(String name, Output id, @Nullable CustomActionTypeState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:codepipeline/customActionType:CustomActionType", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static CustomActionType get(String name, Output id, @Nullable CustomActionTypeState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new CustomActionType(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/CustomActionTypeArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/CustomActionTypeArgs.java new file mode 100644 index 00000000000..bdb8efbcd5d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/CustomActionTypeArgs.java @@ -0,0 +1,360 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.codepipeline; + +import com.pulumi.aws.codepipeline.inputs.CustomActionTypeConfigurationPropertyArgs; +import com.pulumi.aws.codepipeline.inputs.CustomActionTypeInputArtifactDetailsArgs; +import com.pulumi.aws.codepipeline.inputs.CustomActionTypeOutputArtifactDetailsArgs; +import com.pulumi.aws.codepipeline.inputs.CustomActionTypeSettingsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CustomActionTypeArgs extends com.pulumi.resources.ResourceArgs { + + public static final CustomActionTypeArgs Empty = new CustomActionTypeArgs(); + + /** + * The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + * + */ + @Import(name="category", required=true) + private Output category; + + /** + * @return The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + * + */ + public Output category() { + return this.category; + } + + /** + * The configuration properties for the custom action. Max 10 items. + * + */ + @Import(name="configurationProperties") + private @Nullable Output> configurationProperties; + + /** + * @return The configuration properties for the custom action. Max 10 items. + * + */ + public Optional>> configurationProperties() { + return Optional.ofNullable(this.configurationProperties); + } + + /** + * The details of the input artifact for the action. + * + */ + @Import(name="inputArtifactDetails", required=true) + private Output inputArtifactDetails; + + /** + * @return The details of the input artifact for the action. + * + */ + public Output inputArtifactDetails() { + return this.inputArtifactDetails; + } + + /** + * The details of the output artifact of the action. + * + */ + @Import(name="outputArtifactDetails", required=true) + private Output outputArtifactDetails; + + /** + * @return The details of the output artifact of the action. + * + */ + public Output outputArtifactDetails() { + return this.outputArtifactDetails; + } + + /** + * The provider of the service used in the custom action + * + */ + @Import(name="providerName", required=true) + private Output providerName; + + /** + * @return The provider of the service used in the custom action + * + */ + public Output providerName() { + return this.providerName; + } + + /** + * The settings for an action type. + * + */ + @Import(name="settings") + private @Nullable Output settings; + + /** + * @return The settings for an action type. + * + */ + public Optional> settings() { + return Optional.ofNullable(this.settings); + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + /** + * The version identifier of the custom action. + * + */ + @Import(name="version", required=true) + private Output version; + + /** + * @return The version identifier of the custom action. + * + */ + public Output version() { + return this.version; + } + + private CustomActionTypeArgs() {} + + private CustomActionTypeArgs(CustomActionTypeArgs $) { + this.category = $.category; + this.configurationProperties = $.configurationProperties; + this.inputArtifactDetails = $.inputArtifactDetails; + this.outputArtifactDetails = $.outputArtifactDetails; + this.providerName = $.providerName; + this.settings = $.settings; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.version = $.version; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CustomActionTypeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CustomActionTypeArgs $; + + public Builder() { + $ = new CustomActionTypeArgs(); + } + + public Builder(CustomActionTypeArgs defaults) { + $ = new CustomActionTypeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param category The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + * + * @return builder + * + */ + public Builder category(Output category) { + $.category = category; + return this; + } + + /** + * @param category The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + * + * @return builder + * + */ + public Builder category(String category) { + return category(Output.of(category)); + } + + /** + * @param configurationProperties The configuration properties for the custom action. Max 10 items. + * + * @return builder + * + */ + public Builder configurationProperties(@Nullable Output> configurationProperties) { + $.configurationProperties = configurationProperties; + return this; + } + + /** + * @param configurationProperties The configuration properties for the custom action. Max 10 items. + * + * @return builder + * + */ + public Builder configurationProperties(List configurationProperties) { + return configurationProperties(Output.of(configurationProperties)); + } + + /** + * @param configurationProperties The configuration properties for the custom action. Max 10 items. + * + * @return builder + * + */ + public Builder configurationProperties(CustomActionTypeConfigurationPropertyArgs... configurationProperties) { + return configurationProperties(List.of(configurationProperties)); + } + + /** + * @param inputArtifactDetails The details of the input artifact for the action. + * + * @return builder + * + */ + public Builder inputArtifactDetails(Output inputArtifactDetails) { + $.inputArtifactDetails = inputArtifactDetails; + return this; + } + + /** + * @param inputArtifactDetails The details of the input artifact for the action. + * + * @return builder + * + */ + public Builder inputArtifactDetails(CustomActionTypeInputArtifactDetailsArgs inputArtifactDetails) { + return inputArtifactDetails(Output.of(inputArtifactDetails)); + } + + /** + * @param outputArtifactDetails The details of the output artifact of the action. + * + * @return builder + * + */ + public Builder outputArtifactDetails(Output outputArtifactDetails) { + $.outputArtifactDetails = outputArtifactDetails; + return this; + } + + /** + * @param outputArtifactDetails The details of the output artifact of the action. + * + * @return builder + * + */ + public Builder outputArtifactDetails(CustomActionTypeOutputArtifactDetailsArgs outputArtifactDetails) { + return outputArtifactDetails(Output.of(outputArtifactDetails)); + } + + /** + * @param providerName The provider of the service used in the custom action + * + * @return builder + * + */ + public Builder providerName(Output providerName) { + $.providerName = providerName; + return this; + } + + /** + * @param providerName The provider of the service used in the custom action + * + * @return builder + * + */ + public Builder providerName(String providerName) { + return providerName(Output.of(providerName)); + } + + /** + * @param settings The settings for an action type. + * + * @return builder + * + */ + public Builder settings(@Nullable Output settings) { + $.settings = settings; + return this; + } + + /** + * @param settings The settings for an action type. + * + * @return builder + * + */ + public Builder settings(CustomActionTypeSettingsArgs settings) { + return settings(Output.of(settings)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + /** + * @param version The version identifier of the custom action. + * + * @return builder + * + */ + public Builder version(Output version) { + $.version = version; + return this; + } + + /** + * @param version The version identifier of the custom action. + * + * @return builder + * + */ + public Builder version(String version) { + return version(Output.of(version)); + } + + public CustomActionTypeArgs build() { + $.category = Objects.requireNonNull($.category, "expected parameter 'category' to be non-null"); + $.inputArtifactDetails = Objects.requireNonNull($.inputArtifactDetails, "expected parameter 'inputArtifactDetails' to be non-null"); + $.outputArtifactDetails = Objects.requireNonNull($.outputArtifactDetails, "expected parameter 'outputArtifactDetails' to be non-null"); + $.providerName = Objects.requireNonNull($.providerName, "expected parameter 'providerName' to be non-null"); + $.version = Objects.requireNonNull($.version, "expected parameter 'version' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/CustomActionTypeConfigurationPropertyArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/CustomActionTypeConfigurationPropertyArgs.java new file mode 100644 index 00000000000..83fade52823 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/CustomActionTypeConfigurationPropertyArgs.java @@ -0,0 +1,310 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.codepipeline.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CustomActionTypeConfigurationPropertyArgs extends com.pulumi.resources.ResourceArgs { + + public static final CustomActionTypeConfigurationPropertyArgs Empty = new CustomActionTypeConfigurationPropertyArgs(); + + /** + * The description of the action configuration property. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return The description of the action configuration property. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Whether the configuration property is a key. + * + */ + @Import(name="key", required=true) + private Output key; + + /** + * @return Whether the configuration property is a key. + * + */ + public Output key() { + return this.key; + } + + /** + * The name of the action configuration property. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The name of the action configuration property. + * + */ + public Output name() { + return this.name; + } + + /** + * Indicates that the property will be used in conjunction with PollForJobs. + * + */ + @Import(name="queryable") + private @Nullable Output queryable; + + /** + * @return Indicates that the property will be used in conjunction with PollForJobs. + * + */ + public Optional> queryable() { + return Optional.ofNullable(this.queryable); + } + + /** + * Whether the configuration property is a required value. + * + */ + @Import(name="required", required=true) + private Output required; + + /** + * @return Whether the configuration property is a required value. + * + */ + public Output required() { + return this.required; + } + + /** + * Whether the configuration property is secret. + * + */ + @Import(name="secret", required=true) + private Output secret; + + /** + * @return Whether the configuration property is secret. + * + */ + public Output secret() { + return this.secret; + } + + /** + * The type of the configuration property. Valid values: `String`, `Number`, `Boolean` + * + */ + @Import(name="type") + private @Nullable Output type; + + /** + * @return The type of the configuration property. Valid values: `String`, `Number`, `Boolean` + * + */ + public Optional> type() { + return Optional.ofNullable(this.type); + } + + private CustomActionTypeConfigurationPropertyArgs() {} + + private CustomActionTypeConfigurationPropertyArgs(CustomActionTypeConfigurationPropertyArgs $) { + this.description = $.description; + this.key = $.key; + this.name = $.name; + this.queryable = $.queryable; + this.required = $.required; + this.secret = $.secret; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CustomActionTypeConfigurationPropertyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CustomActionTypeConfigurationPropertyArgs $; + + public Builder() { + $ = new CustomActionTypeConfigurationPropertyArgs(); + } + + public Builder(CustomActionTypeConfigurationPropertyArgs defaults) { + $ = new CustomActionTypeConfigurationPropertyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description The description of the action configuration property. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description The description of the action configuration property. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param key Whether the configuration property is a key. + * + * @return builder + * + */ + public Builder key(Output key) { + $.key = key; + return this; + } + + /** + * @param key Whether the configuration property is a key. + * + * @return builder + * + */ + public Builder key(Boolean key) { + return key(Output.of(key)); + } + + /** + * @param name The name of the action configuration property. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the action configuration property. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param queryable Indicates that the property will be used in conjunction with PollForJobs. + * + * @return builder + * + */ + public Builder queryable(@Nullable Output queryable) { + $.queryable = queryable; + return this; + } + + /** + * @param queryable Indicates that the property will be used in conjunction with PollForJobs. + * + * @return builder + * + */ + public Builder queryable(Boolean queryable) { + return queryable(Output.of(queryable)); + } + + /** + * @param required Whether the configuration property is a required value. + * + * @return builder + * + */ + public Builder required(Output required) { + $.required = required; + return this; + } + + /** + * @param required Whether the configuration property is a required value. + * + * @return builder + * + */ + public Builder required(Boolean required) { + return required(Output.of(required)); + } + + /** + * @param secret Whether the configuration property is secret. + * + * @return builder + * + */ + public Builder secret(Output secret) { + $.secret = secret; + return this; + } + + /** + * @param secret Whether the configuration property is secret. + * + * @return builder + * + */ + public Builder secret(Boolean secret) { + return secret(Output.of(secret)); + } + + /** + * @param type The type of the configuration property. Valid values: `String`, `Number`, `Boolean` + * + * @return builder + * + */ + public Builder type(@Nullable Output type) { + $.type = type; + return this; + } + + /** + * @param type The type of the configuration property. Valid values: `String`, `Number`, `Boolean` + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public CustomActionTypeConfigurationPropertyArgs build() { + $.key = Objects.requireNonNull($.key, "expected parameter 'key' to be non-null"); + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + $.required = Objects.requireNonNull($.required, "expected parameter 'required' to be non-null"); + $.secret = Objects.requireNonNull($.secret, "expected parameter 'secret' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/CustomActionTypeInputArtifactDetailsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/CustomActionTypeInputArtifactDetailsArgs.java new file mode 100644 index 00000000000..52d59355b57 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/CustomActionTypeInputArtifactDetailsArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.codepipeline.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.util.Objects; + + +public final class CustomActionTypeInputArtifactDetailsArgs extends com.pulumi.resources.ResourceArgs { + + public static final CustomActionTypeInputArtifactDetailsArgs Empty = new CustomActionTypeInputArtifactDetailsArgs(); + + /** + * The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + */ + @Import(name="maximumCount", required=true) + private Output maximumCount; + + /** + * @return The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + */ + public Output maximumCount() { + return this.maximumCount; + } + + /** + * The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + */ + @Import(name="minimumCount", required=true) + private Output minimumCount; + + /** + * @return The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + */ + public Output minimumCount() { + return this.minimumCount; + } + + private CustomActionTypeInputArtifactDetailsArgs() {} + + private CustomActionTypeInputArtifactDetailsArgs(CustomActionTypeInputArtifactDetailsArgs $) { + this.maximumCount = $.maximumCount; + this.minimumCount = $.minimumCount; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CustomActionTypeInputArtifactDetailsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CustomActionTypeInputArtifactDetailsArgs $; + + public Builder() { + $ = new CustomActionTypeInputArtifactDetailsArgs(); + } + + public Builder(CustomActionTypeInputArtifactDetailsArgs defaults) { + $ = new CustomActionTypeInputArtifactDetailsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param maximumCount The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + * @return builder + * + */ + public Builder maximumCount(Output maximumCount) { + $.maximumCount = maximumCount; + return this; + } + + /** + * @param maximumCount The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + * @return builder + * + */ + public Builder maximumCount(Integer maximumCount) { + return maximumCount(Output.of(maximumCount)); + } + + /** + * @param minimumCount The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + * @return builder + * + */ + public Builder minimumCount(Output minimumCount) { + $.minimumCount = minimumCount; + return this; + } + + /** + * @param minimumCount The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + * @return builder + * + */ + public Builder minimumCount(Integer minimumCount) { + return minimumCount(Output.of(minimumCount)); + } + + public CustomActionTypeInputArtifactDetailsArgs build() { + $.maximumCount = Objects.requireNonNull($.maximumCount, "expected parameter 'maximumCount' to be non-null"); + $.minimumCount = Objects.requireNonNull($.minimumCount, "expected parameter 'minimumCount' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/CustomActionTypeOutputArtifactDetailsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/CustomActionTypeOutputArtifactDetailsArgs.java new file mode 100644 index 00000000000..8de86d17361 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/CustomActionTypeOutputArtifactDetailsArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.codepipeline.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.util.Objects; + + +public final class CustomActionTypeOutputArtifactDetailsArgs extends com.pulumi.resources.ResourceArgs { + + public static final CustomActionTypeOutputArtifactDetailsArgs Empty = new CustomActionTypeOutputArtifactDetailsArgs(); + + /** + * The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + */ + @Import(name="maximumCount", required=true) + private Output maximumCount; + + /** + * @return The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + */ + public Output maximumCount() { + return this.maximumCount; + } + + /** + * The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + */ + @Import(name="minimumCount", required=true) + private Output minimumCount; + + /** + * @return The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + */ + public Output minimumCount() { + return this.minimumCount; + } + + private CustomActionTypeOutputArtifactDetailsArgs() {} + + private CustomActionTypeOutputArtifactDetailsArgs(CustomActionTypeOutputArtifactDetailsArgs $) { + this.maximumCount = $.maximumCount; + this.minimumCount = $.minimumCount; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CustomActionTypeOutputArtifactDetailsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CustomActionTypeOutputArtifactDetailsArgs $; + + public Builder() { + $ = new CustomActionTypeOutputArtifactDetailsArgs(); + } + + public Builder(CustomActionTypeOutputArtifactDetailsArgs defaults) { + $ = new CustomActionTypeOutputArtifactDetailsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param maximumCount The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + * @return builder + * + */ + public Builder maximumCount(Output maximumCount) { + $.maximumCount = maximumCount; + return this; + } + + /** + * @param maximumCount The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + * @return builder + * + */ + public Builder maximumCount(Integer maximumCount) { + return maximumCount(Output.of(maximumCount)); + } + + /** + * @param minimumCount The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + * @return builder + * + */ + public Builder minimumCount(Output minimumCount) { + $.minimumCount = minimumCount; + return this; + } + + /** + * @param minimumCount The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + * @return builder + * + */ + public Builder minimumCount(Integer minimumCount) { + return minimumCount(Output.of(minimumCount)); + } + + public CustomActionTypeOutputArtifactDetailsArgs build() { + $.maximumCount = Objects.requireNonNull($.maximumCount, "expected parameter 'maximumCount' to be non-null"); + $.minimumCount = Objects.requireNonNull($.minimumCount, "expected parameter 'minimumCount' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/CustomActionTypeSettingsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/CustomActionTypeSettingsArgs.java new file mode 100644 index 00000000000..19bd831f762 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/CustomActionTypeSettingsArgs.java @@ -0,0 +1,194 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.codepipeline.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CustomActionTypeSettingsArgs extends com.pulumi.resources.ResourceArgs { + + public static final CustomActionTypeSettingsArgs Empty = new CustomActionTypeSettingsArgs(); + + /** + * The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. + * + */ + @Import(name="entityUrlTemplate") + private @Nullable Output entityUrlTemplate; + + /** + * @return The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. + * + */ + public Optional> entityUrlTemplate() { + return Optional.ofNullable(this.entityUrlTemplate); + } + + /** + * The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. + * + */ + @Import(name="executionUrlTemplate") + private @Nullable Output executionUrlTemplate; + + /** + * @return The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. + * + */ + public Optional> executionUrlTemplate() { + return Optional.ofNullable(this.executionUrlTemplate); + } + + /** + * The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. + * + */ + @Import(name="revisionUrlTemplate") + private @Nullable Output revisionUrlTemplate; + + /** + * @return The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. + * + */ + public Optional> revisionUrlTemplate() { + return Optional.ofNullable(this.revisionUrlTemplate); + } + + /** + * The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. + * + */ + @Import(name="thirdPartyConfigurationUrl") + private @Nullable Output thirdPartyConfigurationUrl; + + /** + * @return The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. + * + */ + public Optional> thirdPartyConfigurationUrl() { + return Optional.ofNullable(this.thirdPartyConfigurationUrl); + } + + private CustomActionTypeSettingsArgs() {} + + private CustomActionTypeSettingsArgs(CustomActionTypeSettingsArgs $) { + this.entityUrlTemplate = $.entityUrlTemplate; + this.executionUrlTemplate = $.executionUrlTemplate; + this.revisionUrlTemplate = $.revisionUrlTemplate; + this.thirdPartyConfigurationUrl = $.thirdPartyConfigurationUrl; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CustomActionTypeSettingsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CustomActionTypeSettingsArgs $; + + public Builder() { + $ = new CustomActionTypeSettingsArgs(); + } + + public Builder(CustomActionTypeSettingsArgs defaults) { + $ = new CustomActionTypeSettingsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param entityUrlTemplate The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. + * + * @return builder + * + */ + public Builder entityUrlTemplate(@Nullable Output entityUrlTemplate) { + $.entityUrlTemplate = entityUrlTemplate; + return this; + } + + /** + * @param entityUrlTemplate The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. + * + * @return builder + * + */ + public Builder entityUrlTemplate(String entityUrlTemplate) { + return entityUrlTemplate(Output.of(entityUrlTemplate)); + } + + /** + * @param executionUrlTemplate The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. + * + * @return builder + * + */ + public Builder executionUrlTemplate(@Nullable Output executionUrlTemplate) { + $.executionUrlTemplate = executionUrlTemplate; + return this; + } + + /** + * @param executionUrlTemplate The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. + * + * @return builder + * + */ + public Builder executionUrlTemplate(String executionUrlTemplate) { + return executionUrlTemplate(Output.of(executionUrlTemplate)); + } + + /** + * @param revisionUrlTemplate The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. + * + * @return builder + * + */ + public Builder revisionUrlTemplate(@Nullable Output revisionUrlTemplate) { + $.revisionUrlTemplate = revisionUrlTemplate; + return this; + } + + /** + * @param revisionUrlTemplate The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. + * + * @return builder + * + */ + public Builder revisionUrlTemplate(String revisionUrlTemplate) { + return revisionUrlTemplate(Output.of(revisionUrlTemplate)); + } + + /** + * @param thirdPartyConfigurationUrl The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. + * + * @return builder + * + */ + public Builder thirdPartyConfigurationUrl(@Nullable Output thirdPartyConfigurationUrl) { + $.thirdPartyConfigurationUrl = thirdPartyConfigurationUrl; + return this; + } + + /** + * @param thirdPartyConfigurationUrl The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. + * + * @return builder + * + */ + public Builder thirdPartyConfigurationUrl(String thirdPartyConfigurationUrl) { + return thirdPartyConfigurationUrl(Output.of(thirdPartyConfigurationUrl)); + } + + public CustomActionTypeSettingsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/CustomActionTypeState.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/CustomActionTypeState.java new file mode 100644 index 00000000000..067e9fd5bb8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/CustomActionTypeState.java @@ -0,0 +1,429 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.codepipeline.inputs; + +import com.pulumi.aws.codepipeline.inputs.CustomActionTypeConfigurationPropertyArgs; +import com.pulumi.aws.codepipeline.inputs.CustomActionTypeInputArtifactDetailsArgs; +import com.pulumi.aws.codepipeline.inputs.CustomActionTypeOutputArtifactDetailsArgs; +import com.pulumi.aws.codepipeline.inputs.CustomActionTypeSettingsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CustomActionTypeState extends com.pulumi.resources.ResourceArgs { + + public static final CustomActionTypeState Empty = new CustomActionTypeState(); + + /** + * The action ARN. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return The action ARN. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + * + */ + @Import(name="category") + private @Nullable Output category; + + /** + * @return The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + * + */ + public Optional> category() { + return Optional.ofNullable(this.category); + } + + /** + * The configuration properties for the custom action. Max 10 items. + * + */ + @Import(name="configurationProperties") + private @Nullable Output> configurationProperties; + + /** + * @return The configuration properties for the custom action. Max 10 items. + * + */ + public Optional>> configurationProperties() { + return Optional.ofNullable(this.configurationProperties); + } + + /** + * The details of the input artifact for the action. + * + */ + @Import(name="inputArtifactDetails") + private @Nullable Output inputArtifactDetails; + + /** + * @return The details of the input artifact for the action. + * + */ + public Optional> inputArtifactDetails() { + return Optional.ofNullable(this.inputArtifactDetails); + } + + /** + * The details of the output artifact of the action. + * + */ + @Import(name="outputArtifactDetails") + private @Nullable Output outputArtifactDetails; + + /** + * @return The details of the output artifact of the action. + * + */ + public Optional> outputArtifactDetails() { + return Optional.ofNullable(this.outputArtifactDetails); + } + + /** + * The creator of the action being called. + * + */ + @Import(name="owner") + private @Nullable Output owner; + + /** + * @return The creator of the action being called. + * + */ + public Optional> owner() { + return Optional.ofNullable(this.owner); + } + + /** + * The provider of the service used in the custom action + * + */ + @Import(name="providerName") + private @Nullable Output providerName; + + /** + * @return The provider of the service used in the custom action + * + */ + public Optional> providerName() { + return Optional.ofNullable(this.providerName); + } + + /** + * The settings for an action type. + * + */ + @Import(name="settings") + private @Nullable Output settings; + + /** + * @return The settings for an action type. + * + */ + public Optional> settings() { + return Optional.ofNullable(this.settings); + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + /** + * The version identifier of the custom action. + * + */ + @Import(name="version") + private @Nullable Output version; + + /** + * @return The version identifier of the custom action. + * + */ + public Optional> version() { + return Optional.ofNullable(this.version); + } + + private CustomActionTypeState() {} + + private CustomActionTypeState(CustomActionTypeState $) { + this.arn = $.arn; + this.category = $.category; + this.configurationProperties = $.configurationProperties; + this.inputArtifactDetails = $.inputArtifactDetails; + this.outputArtifactDetails = $.outputArtifactDetails; + this.owner = $.owner; + this.providerName = $.providerName; + this.settings = $.settings; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.version = $.version; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CustomActionTypeState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CustomActionTypeState $; + + public Builder() { + $ = new CustomActionTypeState(); + } + + public Builder(CustomActionTypeState defaults) { + $ = new CustomActionTypeState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn The action ARN. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The action ARN. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param category The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + * + * @return builder + * + */ + public Builder category(@Nullable Output category) { + $.category = category; + return this; + } + + /** + * @param category The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + * + * @return builder + * + */ + public Builder category(String category) { + return category(Output.of(category)); + } + + /** + * @param configurationProperties The configuration properties for the custom action. Max 10 items. + * + * @return builder + * + */ + public Builder configurationProperties(@Nullable Output> configurationProperties) { + $.configurationProperties = configurationProperties; + return this; + } + + /** + * @param configurationProperties The configuration properties for the custom action. Max 10 items. + * + * @return builder + * + */ + public Builder configurationProperties(List configurationProperties) { + return configurationProperties(Output.of(configurationProperties)); + } + + /** + * @param configurationProperties The configuration properties for the custom action. Max 10 items. + * + * @return builder + * + */ + public Builder configurationProperties(CustomActionTypeConfigurationPropertyArgs... configurationProperties) { + return configurationProperties(List.of(configurationProperties)); + } + + /** + * @param inputArtifactDetails The details of the input artifact for the action. + * + * @return builder + * + */ + public Builder inputArtifactDetails(@Nullable Output inputArtifactDetails) { + $.inputArtifactDetails = inputArtifactDetails; + return this; + } + + /** + * @param inputArtifactDetails The details of the input artifact for the action. + * + * @return builder + * + */ + public Builder inputArtifactDetails(CustomActionTypeInputArtifactDetailsArgs inputArtifactDetails) { + return inputArtifactDetails(Output.of(inputArtifactDetails)); + } + + /** + * @param outputArtifactDetails The details of the output artifact of the action. + * + * @return builder + * + */ + public Builder outputArtifactDetails(@Nullable Output outputArtifactDetails) { + $.outputArtifactDetails = outputArtifactDetails; + return this; + } + + /** + * @param outputArtifactDetails The details of the output artifact of the action. + * + * @return builder + * + */ + public Builder outputArtifactDetails(CustomActionTypeOutputArtifactDetailsArgs outputArtifactDetails) { + return outputArtifactDetails(Output.of(outputArtifactDetails)); + } + + /** + * @param owner The creator of the action being called. + * + * @return builder + * + */ + public Builder owner(@Nullable Output owner) { + $.owner = owner; + return this; + } + + /** + * @param owner The creator of the action being called. + * + * @return builder + * + */ + public Builder owner(String owner) { + return owner(Output.of(owner)); + } + + /** + * @param providerName The provider of the service used in the custom action + * + * @return builder + * + */ + public Builder providerName(@Nullable Output providerName) { + $.providerName = providerName; + return this; + } + + /** + * @param providerName The provider of the service used in the custom action + * + * @return builder + * + */ + public Builder providerName(String providerName) { + return providerName(Output.of(providerName)); + } + + /** + * @param settings The settings for an action type. + * + * @return builder + * + */ + public Builder settings(@Nullable Output settings) { + $.settings = settings; + return this; + } + + /** + * @param settings The settings for an action type. + * + * @return builder + * + */ + public Builder settings(CustomActionTypeSettingsArgs settings) { + return settings(Output.of(settings)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + /** + * @param version The version identifier of the custom action. + * + * @return builder + * + */ + public Builder version(@Nullable Output version) { + $.version = version; + return this; + } + + /** + * @param version The version identifier of the custom action. + * + * @return builder + * + */ + public Builder version(String version) { + return version(Output.of(version)); + } + + public CustomActionTypeState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/outputs/CustomActionTypeConfigurationProperty.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/outputs/CustomActionTypeConfigurationProperty.java new file mode 100644 index 00000000000..1229187c124 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/outputs/CustomActionTypeConfigurationProperty.java @@ -0,0 +1,177 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.codepipeline.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CustomActionTypeConfigurationProperty { + /** + * @return The description of the action configuration property. + * + */ + private @Nullable String description; + /** + * @return Whether the configuration property is a key. + * + */ + private Boolean key; + /** + * @return The name of the action configuration property. + * + */ + private String name; + /** + * @return Indicates that the property will be used in conjunction with PollForJobs. + * + */ + private @Nullable Boolean queryable; + /** + * @return Whether the configuration property is a required value. + * + */ + private Boolean required; + /** + * @return Whether the configuration property is secret. + * + */ + private Boolean secret; + /** + * @return The type of the configuration property. Valid values: `String`, `Number`, `Boolean` + * + */ + private @Nullable String type; + + private CustomActionTypeConfigurationProperty() {} + /** + * @return The description of the action configuration property. + * + */ + public Optional description() { + return Optional.ofNullable(this.description); + } + /** + * @return Whether the configuration property is a key. + * + */ + public Boolean key() { + return this.key; + } + /** + * @return The name of the action configuration property. + * + */ + public String name() { + return this.name; + } + /** + * @return Indicates that the property will be used in conjunction with PollForJobs. + * + */ + public Optional queryable() { + return Optional.ofNullable(this.queryable); + } + /** + * @return Whether the configuration property is a required value. + * + */ + public Boolean required() { + return this.required; + } + /** + * @return Whether the configuration property is secret. + * + */ + public Boolean secret() { + return this.secret; + } + /** + * @return The type of the configuration property. Valid values: `String`, `Number`, `Boolean` + * + */ + public Optional type() { + return Optional.ofNullable(this.type); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CustomActionTypeConfigurationProperty defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String description; + private Boolean key; + private String name; + private @Nullable Boolean queryable; + private Boolean required; + private Boolean secret; + private @Nullable String type; + public Builder() {} + public Builder(CustomActionTypeConfigurationProperty defaults) { + Objects.requireNonNull(defaults); + this.description = defaults.description; + this.key = defaults.key; + this.name = defaults.name; + this.queryable = defaults.queryable; + this.required = defaults.required; + this.secret = defaults.secret; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder description(@Nullable String description) { + this.description = description; + return this; + } + @CustomType.Setter + public Builder key(Boolean key) { + this.key = Objects.requireNonNull(key); + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder queryable(@Nullable Boolean queryable) { + this.queryable = queryable; + return this; + } + @CustomType.Setter + public Builder required(Boolean required) { + this.required = Objects.requireNonNull(required); + return this; + } + @CustomType.Setter + public Builder secret(Boolean secret) { + this.secret = Objects.requireNonNull(secret); + return this; + } + @CustomType.Setter + public Builder type(@Nullable String type) { + this.type = type; + return this; + } + public CustomActionTypeConfigurationProperty build() { + final var o = new CustomActionTypeConfigurationProperty(); + o.description = description; + o.key = key; + o.name = name; + o.queryable = queryable; + o.required = required; + o.secret = secret; + o.type = type; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/outputs/CustomActionTypeInputArtifactDetails.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/outputs/CustomActionTypeInputArtifactDetails.java new file mode 100644 index 00000000000..94cc8ad7590 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/outputs/CustomActionTypeInputArtifactDetails.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.codepipeline.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; + +@CustomType +public final class CustomActionTypeInputArtifactDetails { + /** + * @return The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + */ + private Integer maximumCount; + /** + * @return The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + */ + private Integer minimumCount; + + private CustomActionTypeInputArtifactDetails() {} + /** + * @return The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + */ + public Integer maximumCount() { + return this.maximumCount; + } + /** + * @return The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + */ + public Integer minimumCount() { + return this.minimumCount; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CustomActionTypeInputArtifactDetails defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer maximumCount; + private Integer minimumCount; + public Builder() {} + public Builder(CustomActionTypeInputArtifactDetails defaults) { + Objects.requireNonNull(defaults); + this.maximumCount = defaults.maximumCount; + this.minimumCount = defaults.minimumCount; + } + + @CustomType.Setter + public Builder maximumCount(Integer maximumCount) { + this.maximumCount = Objects.requireNonNull(maximumCount); + return this; + } + @CustomType.Setter + public Builder minimumCount(Integer minimumCount) { + this.minimumCount = Objects.requireNonNull(minimumCount); + return this; + } + public CustomActionTypeInputArtifactDetails build() { + final var o = new CustomActionTypeInputArtifactDetails(); + o.maximumCount = maximumCount; + o.minimumCount = minimumCount; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/outputs/CustomActionTypeOutputArtifactDetails.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/outputs/CustomActionTypeOutputArtifactDetails.java new file mode 100644 index 00000000000..f810fb09f48 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/outputs/CustomActionTypeOutputArtifactDetails.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.codepipeline.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; + +@CustomType +public final class CustomActionTypeOutputArtifactDetails { + /** + * @return The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + */ + private Integer maximumCount; + /** + * @return The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + */ + private Integer minimumCount; + + private CustomActionTypeOutputArtifactDetails() {} + /** + * @return The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + */ + public Integer maximumCount() { + return this.maximumCount; + } + /** + * @return The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + * + */ + public Integer minimumCount() { + return this.minimumCount; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CustomActionTypeOutputArtifactDetails defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer maximumCount; + private Integer minimumCount; + public Builder() {} + public Builder(CustomActionTypeOutputArtifactDetails defaults) { + Objects.requireNonNull(defaults); + this.maximumCount = defaults.maximumCount; + this.minimumCount = defaults.minimumCount; + } + + @CustomType.Setter + public Builder maximumCount(Integer maximumCount) { + this.maximumCount = Objects.requireNonNull(maximumCount); + return this; + } + @CustomType.Setter + public Builder minimumCount(Integer minimumCount) { + this.minimumCount = Objects.requireNonNull(minimumCount); + return this; + } + public CustomActionTypeOutputArtifactDetails build() { + final var o = new CustomActionTypeOutputArtifactDetails(); + o.maximumCount = maximumCount; + o.minimumCount = minimumCount; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/outputs/CustomActionTypeSettings.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/outputs/CustomActionTypeSettings.java new file mode 100644 index 00000000000..5d115d52c85 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/outputs/CustomActionTypeSettings.java @@ -0,0 +1,116 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.codepipeline.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CustomActionTypeSettings { + /** + * @return The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. + * + */ + private @Nullable String entityUrlTemplate; + /** + * @return The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. + * + */ + private @Nullable String executionUrlTemplate; + /** + * @return The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. + * + */ + private @Nullable String revisionUrlTemplate; + /** + * @return The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. + * + */ + private @Nullable String thirdPartyConfigurationUrl; + + private CustomActionTypeSettings() {} + /** + * @return The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. + * + */ + public Optional entityUrlTemplate() { + return Optional.ofNullable(this.entityUrlTemplate); + } + /** + * @return The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. + * + */ + public Optional executionUrlTemplate() { + return Optional.ofNullable(this.executionUrlTemplate); + } + /** + * @return The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. + * + */ + public Optional revisionUrlTemplate() { + return Optional.ofNullable(this.revisionUrlTemplate); + } + /** + * @return The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. + * + */ + public Optional thirdPartyConfigurationUrl() { + return Optional.ofNullable(this.thirdPartyConfigurationUrl); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CustomActionTypeSettings defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String entityUrlTemplate; + private @Nullable String executionUrlTemplate; + private @Nullable String revisionUrlTemplate; + private @Nullable String thirdPartyConfigurationUrl; + public Builder() {} + public Builder(CustomActionTypeSettings defaults) { + Objects.requireNonNull(defaults); + this.entityUrlTemplate = defaults.entityUrlTemplate; + this.executionUrlTemplate = defaults.executionUrlTemplate; + this.revisionUrlTemplate = defaults.revisionUrlTemplate; + this.thirdPartyConfigurationUrl = defaults.thirdPartyConfigurationUrl; + } + + @CustomType.Setter + public Builder entityUrlTemplate(@Nullable String entityUrlTemplate) { + this.entityUrlTemplate = entityUrlTemplate; + return this; + } + @CustomType.Setter + public Builder executionUrlTemplate(@Nullable String executionUrlTemplate) { + this.executionUrlTemplate = executionUrlTemplate; + return this; + } + @CustomType.Setter + public Builder revisionUrlTemplate(@Nullable String revisionUrlTemplate) { + this.revisionUrlTemplate = revisionUrlTemplate; + return this; + } + @CustomType.Setter + public Builder thirdPartyConfigurationUrl(@Nullable String thirdPartyConfigurationUrl) { + this.thirdPartyConfigurationUrl = thirdPartyConfigurationUrl; + return this; + } + public CustomActionTypeSettings build() { + final var o = new CustomActionTypeSettings(); + o.entityUrlTemplate = entityUrlTemplate; + o.executionUrlTemplate = executionUrlTemplate; + o.revisionUrlTemplate = revisionUrlTemplate; + o.thirdPartyConfigurationUrl = thirdPartyConfigurationUrl; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPool.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPool.java index b68fdda883e..91e5bf9c219 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPool.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPool.java @@ -15,6 +15,7 @@ import com.pulumi.aws.cognito.outputs.UserPoolSchema; import com.pulumi.aws.cognito.outputs.UserPoolSmsConfiguration; import com.pulumi.aws.cognito.outputs.UserPoolSoftwareTokenMfaConfiguration; +import com.pulumi.aws.cognito.outputs.UserPoolUserAttributeUpdateSettings; import com.pulumi.aws.cognito.outputs.UserPoolUserPoolAddOns; import com.pulumi.aws.cognito.outputs.UserPoolUsernameConfiguration; import com.pulumi.aws.cognito.outputs.UserPoolVerificationMessageTemplate; @@ -514,6 +515,20 @@ public Output>> tags() { public Output> tagsAll() { return this.tagsAll; } + /** + * Configuration block for user attribute update settings. Detailed below. + * + */ + @Export(name="userAttributeUpdateSettings", type=UserPoolUserAttributeUpdateSettings.class, parameters={}) + private Output userAttributeUpdateSettings; + + /** + * @return Configuration block for user attribute update settings. Detailed below. + * + */ + public Output> userAttributeUpdateSettings() { + return Codegen.optional(this.userAttributeUpdateSettings); + } /** * Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolArgs.java index 8ae323a17a2..2adfe60f97d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolArgs.java @@ -12,6 +12,7 @@ import com.pulumi.aws.cognito.inputs.UserPoolSchemaArgs; import com.pulumi.aws.cognito.inputs.UserPoolSmsConfigurationArgs; import com.pulumi.aws.cognito.inputs.UserPoolSoftwareTokenMfaConfigurationArgs; +import com.pulumi.aws.cognito.inputs.UserPoolUserAttributeUpdateSettingsArgs; import com.pulumi.aws.cognito.inputs.UserPoolUserPoolAddOnsArgs; import com.pulumi.aws.cognito.inputs.UserPoolUsernameConfigurationArgs; import com.pulumi.aws.cognito.inputs.UserPoolVerificationMessageTemplateArgs; @@ -299,6 +300,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * Configuration block for user attribute update settings. Detailed below. + * + */ + @Import(name="userAttributeUpdateSettings") + private @Nullable Output userAttributeUpdateSettings; + + /** + * @return Configuration block for user attribute update settings. Detailed below. + * + */ + public Optional> userAttributeUpdateSettings() { + return Optional.ofNullable(this.userAttributeUpdateSettings); + } + /** * Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. * @@ -380,6 +396,7 @@ private UserPoolArgs(UserPoolArgs $) { this.smsVerificationMessage = $.smsVerificationMessage; this.softwareTokenMfaConfiguration = $.softwareTokenMfaConfiguration; this.tags = $.tags; + this.userAttributeUpdateSettings = $.userAttributeUpdateSettings; this.userPoolAddOns = $.userPoolAddOns; this.usernameAttributes = $.usernameAttributes; this.usernameConfiguration = $.usernameConfiguration; @@ -812,6 +829,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param userAttributeUpdateSettings Configuration block for user attribute update settings. Detailed below. + * + * @return builder + * + */ + public Builder userAttributeUpdateSettings(@Nullable Output userAttributeUpdateSettings) { + $.userAttributeUpdateSettings = userAttributeUpdateSettings; + return this; + } + + /** + * @param userAttributeUpdateSettings Configuration block for user attribute update settings. Detailed below. + * + * @return builder + * + */ + public Builder userAttributeUpdateSettings(UserPoolUserAttributeUpdateSettingsArgs userAttributeUpdateSettings) { + return userAttributeUpdateSettings(Output.of(userAttributeUpdateSettings)); + } + /** * @param userPoolAddOns Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/inputs/UserPoolState.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/inputs/UserPoolState.java index d8872f31899..4d0af79db60 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/inputs/UserPoolState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/inputs/UserPoolState.java @@ -12,6 +12,7 @@ import com.pulumi.aws.cognito.inputs.UserPoolSchemaArgs; import com.pulumi.aws.cognito.inputs.UserPoolSmsConfigurationArgs; import com.pulumi.aws.cognito.inputs.UserPoolSoftwareTokenMfaConfigurationArgs; +import com.pulumi.aws.cognito.inputs.UserPoolUserAttributeUpdateSettingsArgs; import com.pulumi.aws.cognito.inputs.UserPoolUserPoolAddOnsArgs; import com.pulumi.aws.cognito.inputs.UserPoolUsernameConfigurationArgs; import com.pulumi.aws.cognito.inputs.UserPoolVerificationMessageTemplateArgs; @@ -420,6 +421,21 @@ public Optional>> tagsAll() { return Optional.ofNullable(this.tagsAll); } + /** + * Configuration block for user attribute update settings. Detailed below. + * + */ + @Import(name="userAttributeUpdateSettings") + private @Nullable Output userAttributeUpdateSettings; + + /** + * @return Configuration block for user attribute update settings. Detailed below. + * + */ + public Optional> userAttributeUpdateSettings() { + return Optional.ofNullable(this.userAttributeUpdateSettings); + } + /** * Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. * @@ -509,6 +525,7 @@ private UserPoolState(UserPoolState $) { this.softwareTokenMfaConfiguration = $.softwareTokenMfaConfiguration; this.tags = $.tags; this.tagsAll = $.tagsAll; + this.userAttributeUpdateSettings = $.userAttributeUpdateSettings; this.userPoolAddOns = $.userPoolAddOns; this.usernameAttributes = $.usernameAttributes; this.usernameConfiguration = $.usernameConfiguration; @@ -1109,6 +1126,27 @@ public Builder tagsAll(Map tagsAll) { return tagsAll(Output.of(tagsAll)); } + /** + * @param userAttributeUpdateSettings Configuration block for user attribute update settings. Detailed below. + * + * @return builder + * + */ + public Builder userAttributeUpdateSettings(@Nullable Output userAttributeUpdateSettings) { + $.userAttributeUpdateSettings = userAttributeUpdateSettings; + return this; + } + + /** + * @param userAttributeUpdateSettings Configuration block for user attribute update settings. Detailed below. + * + * @return builder + * + */ + public Builder userAttributeUpdateSettings(UserPoolUserAttributeUpdateSettingsArgs userAttributeUpdateSettings) { + return userAttributeUpdateSettings(Output.of(userAttributeUpdateSettings)); + } + /** * @param userPoolAddOns Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/inputs/UserPoolUserAttributeUpdateSettingsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/inputs/UserPoolUserAttributeUpdateSettingsArgs.java new file mode 100644 index 00000000000..6959a9b8230 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/inputs/UserPoolUserAttributeUpdateSettingsArgs.java @@ -0,0 +1,93 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.cognito.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class UserPoolUserAttributeUpdateSettingsArgs extends com.pulumi.resources.ResourceArgs { + + public static final UserPoolUserAttributeUpdateSettingsArgs Empty = new UserPoolUserAttributeUpdateSettingsArgs(); + + /** + * A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `auto_verified_attributes`. Valid values: `email`, `phone_number`. + * + */ + @Import(name="attributesRequireVerificationBeforeUpdates", required=true) + private Output> attributesRequireVerificationBeforeUpdates; + + /** + * @return A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `auto_verified_attributes`. Valid values: `email`, `phone_number`. + * + */ + public Output> attributesRequireVerificationBeforeUpdates() { + return this.attributesRequireVerificationBeforeUpdates; + } + + private UserPoolUserAttributeUpdateSettingsArgs() {} + + private UserPoolUserAttributeUpdateSettingsArgs(UserPoolUserAttributeUpdateSettingsArgs $) { + this.attributesRequireVerificationBeforeUpdates = $.attributesRequireVerificationBeforeUpdates; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(UserPoolUserAttributeUpdateSettingsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private UserPoolUserAttributeUpdateSettingsArgs $; + + public Builder() { + $ = new UserPoolUserAttributeUpdateSettingsArgs(); + } + + public Builder(UserPoolUserAttributeUpdateSettingsArgs defaults) { + $ = new UserPoolUserAttributeUpdateSettingsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param attributesRequireVerificationBeforeUpdates A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `auto_verified_attributes`. Valid values: `email`, `phone_number`. + * + * @return builder + * + */ + public Builder attributesRequireVerificationBeforeUpdates(Output> attributesRequireVerificationBeforeUpdates) { + $.attributesRequireVerificationBeforeUpdates = attributesRequireVerificationBeforeUpdates; + return this; + } + + /** + * @param attributesRequireVerificationBeforeUpdates A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `auto_verified_attributes`. Valid values: `email`, `phone_number`. + * + * @return builder + * + */ + public Builder attributesRequireVerificationBeforeUpdates(List attributesRequireVerificationBeforeUpdates) { + return attributesRequireVerificationBeforeUpdates(Output.of(attributesRequireVerificationBeforeUpdates)); + } + + /** + * @param attributesRequireVerificationBeforeUpdates A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `auto_verified_attributes`. Valid values: `email`, `phone_number`. + * + * @return builder + * + */ + public Builder attributesRequireVerificationBeforeUpdates(String... attributesRequireVerificationBeforeUpdates) { + return attributesRequireVerificationBeforeUpdates(List.of(attributesRequireVerificationBeforeUpdates)); + } + + public UserPoolUserAttributeUpdateSettingsArgs build() { + $.attributesRequireVerificationBeforeUpdates = Objects.requireNonNull($.attributesRequireVerificationBeforeUpdates, "expected parameter 'attributesRequireVerificationBeforeUpdates' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/outputs/UserPoolUserAttributeUpdateSettings.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/outputs/UserPoolUserAttributeUpdateSettings.java new file mode 100644 index 00000000000..c98dcaa4ab6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/outputs/UserPoolUserAttributeUpdateSettings.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.cognito.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class UserPoolUserAttributeUpdateSettings { + /** + * @return A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `auto_verified_attributes`. Valid values: `email`, `phone_number`. + * + */ + private List attributesRequireVerificationBeforeUpdates; + + private UserPoolUserAttributeUpdateSettings() {} + /** + * @return A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `auto_verified_attributes`. Valid values: `email`, `phone_number`. + * + */ + public List attributesRequireVerificationBeforeUpdates() { + return this.attributesRequireVerificationBeforeUpdates; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(UserPoolUserAttributeUpdateSettings defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List attributesRequireVerificationBeforeUpdates; + public Builder() {} + public Builder(UserPoolUserAttributeUpdateSettings defaults) { + Objects.requireNonNull(defaults); + this.attributesRequireVerificationBeforeUpdates = defaults.attributesRequireVerificationBeforeUpdates; + } + + @CustomType.Setter + public Builder attributesRequireVerificationBeforeUpdates(List attributesRequireVerificationBeforeUpdates) { + this.attributesRequireVerificationBeforeUpdates = Objects.requireNonNull(attributesRequireVerificationBeforeUpdates); + return this; + } + public Builder attributesRequireVerificationBeforeUpdates(String... attributesRequireVerificationBeforeUpdates) { + return attributesRequireVerificationBeforeUpdates(List.of(attributesRequireVerificationBeforeUpdates)); + } + public UserPoolUserAttributeUpdateSettings build() { + final var o = new UserPoolUserAttributeUpdateSettings(); + o.attributesRequireVerificationBeforeUpdates = attributesRequireVerificationBeforeUpdates; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/comprehend/DocumentClassifier.java b/sdk/java/src/main/java/com/pulumi/aws/comprehend/DocumentClassifier.java new file mode 100644 index 00000000000..4d0a402629e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/comprehend/DocumentClassifier.java @@ -0,0 +1,340 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.comprehend; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.comprehend.DocumentClassifierArgs; +import com.pulumi.aws.comprehend.inputs.DocumentClassifierState; +import com.pulumi.aws.comprehend.outputs.DocumentClassifierInputDataConfig; +import com.pulumi.aws.comprehend.outputs.DocumentClassifierOutputDataConfig; +import com.pulumi.aws.comprehend.outputs.DocumentClassifierVpcConfig; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.s3.BucketObjectv2; + * import com.pulumi.aws.comprehend.DocumentClassifier; + * import com.pulumi.aws.comprehend.DocumentClassifierArgs; + * import com.pulumi.aws.comprehend.inputs.DocumentClassifierInputDataConfigArgs; + * import com.pulumi.resources.CustomResourceOptions; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var documents = new BucketObjectv2("documents"); + * + * var example = new DocumentClassifier("example", DocumentClassifierArgs.builder() + * .dataAccessRoleArn(aws_iam_role.example().arn()) + * .languageCode("en") + * .inputDataConfig(DocumentClassifierInputDataConfigArgs.builder() + * .s3Uri(documents.id().applyValue(id -> String.format("s3://%s/%s", aws_s3_bucket.test().bucket(),id))) + * .build()) + * .build(), CustomResourceOptions.builder() + * .dependsOn(aws_iam_role_policy.example()) + * .build()); + * + * var entities = new BucketObjectv2("entities"); + * + * } + * } + * ``` + * + * ## Import + * + * Comprehend Document Classifier can be imported using the ARN, e.g., + * + * ```sh + * $ pulumi import aws:comprehend/documentClassifier:DocumentClassifier example arn:aws:comprehend:us-west-2:123456789012:document_classifier/example + * ``` + * + */ +@ResourceType(type="aws:comprehend/documentClassifier:DocumentClassifier") +public class DocumentClassifier extends com.pulumi.resources.CustomResource { + /** + * ARN of the Document Classifier version. + * + */ + @Export(name="arn", type=String.class, parameters={}) + private Output arn; + + /** + * @return ARN of the Document Classifier version. + * + */ + public Output arn() { + return this.arn; + } + /** + * The ARN for an IAM Role which allows Comprehend to read the training and testing data. + * + */ + @Export(name="dataAccessRoleArn", type=String.class, parameters={}) + private Output dataAccessRoleArn; + + /** + * @return The ARN for an IAM Role which allows Comprehend to read the training and testing data. + * + */ + public Output dataAccessRoleArn() { + return this.dataAccessRoleArn; + } + /** + * Configuration for the training and testing data. + * See the `input_data_config` Configuration Block section below. + * + */ + @Export(name="inputDataConfig", type=DocumentClassifierInputDataConfig.class, parameters={}) + private Output inputDataConfig; + + /** + * @return Configuration for the training and testing data. + * See the `input_data_config` Configuration Block section below. + * + */ + public Output inputDataConfig() { + return this.inputDataConfig; + } + /** + * Two-letter language code for the language. + * One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + * + */ + @Export(name="languageCode", type=String.class, parameters={}) + private Output languageCode; + + /** + * @return Two-letter language code for the language. + * One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + * + */ + public Output languageCode() { + return this.languageCode; + } + /** + * The document classification mode. + * One of `MULTI_CLASS` or `MULTI_LABEL`. + * `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + * + */ + @Export(name="mode", type=String.class, parameters={}) + private Output mode; + + /** + * @return The document classification mode. + * One of `MULTI_CLASS` or `MULTI_LABEL`. + * `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + * + */ + public Output> mode() { + return Codegen.optional(this.mode); + } + /** + * KMS Key used to encrypt trained Document Classifiers. + * Can be a KMS Key ID or a KMS Key ARN. + * + */ + @Export(name="modelKmsKeyId", type=String.class, parameters={}) + private Output modelKmsKeyId; + + /** + * @return KMS Key used to encrypt trained Document Classifiers. + * Can be a KMS Key ID or a KMS Key ARN. + * + */ + public Output> modelKmsKeyId() { + return Codegen.optional(this.modelKmsKeyId); + } + /** + * Name for the Document Classifier. + * Has a maximum length of 63 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * + */ + @Export(name="name", type=String.class, parameters={}) + private Output name; + + /** + * @return Name for the Document Classifier. + * Has a maximum length of 63 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * + */ + public Output name() { + return this.name; + } + /** + * Configuration for the output results of training. + * See the `output_data_config` Configuration Block section below. + * + */ + @Export(name="outputDataConfig", type=DocumentClassifierOutputDataConfig.class, parameters={}) + private Output outputDataConfig; + + /** + * @return Configuration for the output results of training. + * See the `output_data_config` Configuration Block section below. + * + */ + public Output outputDataConfig() { + return this.outputDataConfig; + } + /** + * A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Export(name="tags", type=Map.class, parameters={String.class, String.class}) + private Output> tags; + + /** + * @return A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + * + */ + @Export(name="tagsAll", type=Map.class, parameters={String.class, String.class}) + private Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + * + */ + public Output> tagsAll() { + return this.tagsAll; + } + @Export(name="versionName", type=String.class, parameters={}) + private Output versionName; + + public Output versionName() { + return this.versionName; + } + /** + * Creates a unique version name beginning with the specified prefix. + * Has a maximum length of 37 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * Conflicts with `version_name`. + * + */ + @Export(name="versionNamePrefix", type=String.class, parameters={}) + private Output versionNamePrefix; + + /** + * @return Creates a unique version name beginning with the specified prefix. + * Has a maximum length of 37 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * Conflicts with `version_name`. + * + */ + public Output versionNamePrefix() { + return this.versionNamePrefix; + } + /** + * KMS Key used to encrypt storage volumes during job processing. + * Can be a KMS Key ID or a KMS Key ARN. + * + */ + @Export(name="volumeKmsKeyId", type=String.class, parameters={}) + private Output volumeKmsKeyId; + + /** + * @return KMS Key used to encrypt storage volumes during job processing. + * Can be a KMS Key ID or a KMS Key ARN. + * + */ + public Output> volumeKmsKeyId() { + return Codegen.optional(this.volumeKmsKeyId); + } + /** + * Configuration parameters for VPC to contain Document Classifier resources. + * See the `vpc_config` Configuration Block section below. + * + */ + @Export(name="vpcConfig", type=DocumentClassifierVpcConfig.class, parameters={}) + private Output vpcConfig; + + /** + * @return Configuration parameters for VPC to contain Document Classifier resources. + * See the `vpc_config` Configuration Block section below. + * + */ + public Output> vpcConfig() { + return Codegen.optional(this.vpcConfig); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public DocumentClassifier(String name) { + this(name, DocumentClassifierArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public DocumentClassifier(String name, DocumentClassifierArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public DocumentClassifier(String name, DocumentClassifierArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:comprehend/documentClassifier:DocumentClassifier", name, args == null ? DocumentClassifierArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private DocumentClassifier(String name, Output id, @Nullable DocumentClassifierState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:comprehend/documentClassifier:DocumentClassifier", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static DocumentClassifier get(String name, Output id, @Nullable DocumentClassifierState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new DocumentClassifier(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/comprehend/DocumentClassifierArgs.java b/sdk/java/src/main/java/com/pulumi/aws/comprehend/DocumentClassifierArgs.java new file mode 100644 index 00000000000..ca8387d06ef --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/comprehend/DocumentClassifierArgs.java @@ -0,0 +1,566 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.comprehend; + +import com.pulumi.aws.comprehend.inputs.DocumentClassifierInputDataConfigArgs; +import com.pulumi.aws.comprehend.inputs.DocumentClassifierOutputDataConfigArgs; +import com.pulumi.aws.comprehend.inputs.DocumentClassifierVpcConfigArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DocumentClassifierArgs extends com.pulumi.resources.ResourceArgs { + + public static final DocumentClassifierArgs Empty = new DocumentClassifierArgs(); + + /** + * The ARN for an IAM Role which allows Comprehend to read the training and testing data. + * + */ + @Import(name="dataAccessRoleArn", required=true) + private Output dataAccessRoleArn; + + /** + * @return The ARN for an IAM Role which allows Comprehend to read the training and testing data. + * + */ + public Output dataAccessRoleArn() { + return this.dataAccessRoleArn; + } + + /** + * Configuration for the training and testing data. + * See the `input_data_config` Configuration Block section below. + * + */ + @Import(name="inputDataConfig", required=true) + private Output inputDataConfig; + + /** + * @return Configuration for the training and testing data. + * See the `input_data_config` Configuration Block section below. + * + */ + public Output inputDataConfig() { + return this.inputDataConfig; + } + + /** + * Two-letter language code for the language. + * One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + * + */ + @Import(name="languageCode", required=true) + private Output languageCode; + + /** + * @return Two-letter language code for the language. + * One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + * + */ + public Output languageCode() { + return this.languageCode; + } + + /** + * The document classification mode. + * One of `MULTI_CLASS` or `MULTI_LABEL`. + * `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + * + */ + @Import(name="mode") + private @Nullable Output mode; + + /** + * @return The document classification mode. + * One of `MULTI_CLASS` or `MULTI_LABEL`. + * `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + * + */ + public Optional> mode() { + return Optional.ofNullable(this.mode); + } + + /** + * KMS Key used to encrypt trained Document Classifiers. + * Can be a KMS Key ID or a KMS Key ARN. + * + */ + @Import(name="modelKmsKeyId") + private @Nullable Output modelKmsKeyId; + + /** + * @return KMS Key used to encrypt trained Document Classifiers. + * Can be a KMS Key ID or a KMS Key ARN. + * + */ + public Optional> modelKmsKeyId() { + return Optional.ofNullable(this.modelKmsKeyId); + } + + /** + * Name for the Document Classifier. + * Has a maximum length of 63 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name for the Document Classifier. + * Has a maximum length of 63 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Configuration for the output results of training. + * See the `output_data_config` Configuration Block section below. + * + */ + @Import(name="outputDataConfig") + private @Nullable Output outputDataConfig; + + /** + * @return Configuration for the output results of training. + * See the `output_data_config` Configuration Block section below. + * + */ + public Optional> outputDataConfig() { + return Optional.ofNullable(this.outputDataConfig); + } + + /** + * A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + @Import(name="versionName") + private @Nullable Output versionName; + + public Optional> versionName() { + return Optional.ofNullable(this.versionName); + } + + /** + * Creates a unique version name beginning with the specified prefix. + * Has a maximum length of 37 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * Conflicts with `version_name`. + * + */ + @Import(name="versionNamePrefix") + private @Nullable Output versionNamePrefix; + + /** + * @return Creates a unique version name beginning with the specified prefix. + * Has a maximum length of 37 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * Conflicts with `version_name`. + * + */ + public Optional> versionNamePrefix() { + return Optional.ofNullable(this.versionNamePrefix); + } + + /** + * KMS Key used to encrypt storage volumes during job processing. + * Can be a KMS Key ID or a KMS Key ARN. + * + */ + @Import(name="volumeKmsKeyId") + private @Nullable Output volumeKmsKeyId; + + /** + * @return KMS Key used to encrypt storage volumes during job processing. + * Can be a KMS Key ID or a KMS Key ARN. + * + */ + public Optional> volumeKmsKeyId() { + return Optional.ofNullable(this.volumeKmsKeyId); + } + + /** + * Configuration parameters for VPC to contain Document Classifier resources. + * See the `vpc_config` Configuration Block section below. + * + */ + @Import(name="vpcConfig") + private @Nullable Output vpcConfig; + + /** + * @return Configuration parameters for VPC to contain Document Classifier resources. + * See the `vpc_config` Configuration Block section below. + * + */ + public Optional> vpcConfig() { + return Optional.ofNullable(this.vpcConfig); + } + + private DocumentClassifierArgs() {} + + private DocumentClassifierArgs(DocumentClassifierArgs $) { + this.dataAccessRoleArn = $.dataAccessRoleArn; + this.inputDataConfig = $.inputDataConfig; + this.languageCode = $.languageCode; + this.mode = $.mode; + this.modelKmsKeyId = $.modelKmsKeyId; + this.name = $.name; + this.outputDataConfig = $.outputDataConfig; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.versionName = $.versionName; + this.versionNamePrefix = $.versionNamePrefix; + this.volumeKmsKeyId = $.volumeKmsKeyId; + this.vpcConfig = $.vpcConfig; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DocumentClassifierArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DocumentClassifierArgs $; + + public Builder() { + $ = new DocumentClassifierArgs(); + } + + public Builder(DocumentClassifierArgs defaults) { + $ = new DocumentClassifierArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param dataAccessRoleArn The ARN for an IAM Role which allows Comprehend to read the training and testing data. + * + * @return builder + * + */ + public Builder dataAccessRoleArn(Output dataAccessRoleArn) { + $.dataAccessRoleArn = dataAccessRoleArn; + return this; + } + + /** + * @param dataAccessRoleArn The ARN for an IAM Role which allows Comprehend to read the training and testing data. + * + * @return builder + * + */ + public Builder dataAccessRoleArn(String dataAccessRoleArn) { + return dataAccessRoleArn(Output.of(dataAccessRoleArn)); + } + + /** + * @param inputDataConfig Configuration for the training and testing data. + * See the `input_data_config` Configuration Block section below. + * + * @return builder + * + */ + public Builder inputDataConfig(Output inputDataConfig) { + $.inputDataConfig = inputDataConfig; + return this; + } + + /** + * @param inputDataConfig Configuration for the training and testing data. + * See the `input_data_config` Configuration Block section below. + * + * @return builder + * + */ + public Builder inputDataConfig(DocumentClassifierInputDataConfigArgs inputDataConfig) { + return inputDataConfig(Output.of(inputDataConfig)); + } + + /** + * @param languageCode Two-letter language code for the language. + * One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + * + * @return builder + * + */ + public Builder languageCode(Output languageCode) { + $.languageCode = languageCode; + return this; + } + + /** + * @param languageCode Two-letter language code for the language. + * One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + * + * @return builder + * + */ + public Builder languageCode(String languageCode) { + return languageCode(Output.of(languageCode)); + } + + /** + * @param mode The document classification mode. + * One of `MULTI_CLASS` or `MULTI_LABEL`. + * `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + * + * @return builder + * + */ + public Builder mode(@Nullable Output mode) { + $.mode = mode; + return this; + } + + /** + * @param mode The document classification mode. + * One of `MULTI_CLASS` or `MULTI_LABEL`. + * `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + * + * @return builder + * + */ + public Builder mode(String mode) { + return mode(Output.of(mode)); + } + + /** + * @param modelKmsKeyId KMS Key used to encrypt trained Document Classifiers. + * Can be a KMS Key ID or a KMS Key ARN. + * + * @return builder + * + */ + public Builder modelKmsKeyId(@Nullable Output modelKmsKeyId) { + $.modelKmsKeyId = modelKmsKeyId; + return this; + } + + /** + * @param modelKmsKeyId KMS Key used to encrypt trained Document Classifiers. + * Can be a KMS Key ID or a KMS Key ARN. + * + * @return builder + * + */ + public Builder modelKmsKeyId(String modelKmsKeyId) { + return modelKmsKeyId(Output.of(modelKmsKeyId)); + } + + /** + * @param name Name for the Document Classifier. + * Has a maximum length of 63 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name for the Document Classifier. + * Has a maximum length of 63 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param outputDataConfig Configuration for the output results of training. + * See the `output_data_config` Configuration Block section below. + * + * @return builder + * + */ + public Builder outputDataConfig(@Nullable Output outputDataConfig) { + $.outputDataConfig = outputDataConfig; + return this; + } + + /** + * @param outputDataConfig Configuration for the output results of training. + * See the `output_data_config` Configuration Block section below. + * + * @return builder + * + */ + public Builder outputDataConfig(DocumentClassifierOutputDataConfigArgs outputDataConfig) { + return outputDataConfig(Output.of(outputDataConfig)); + } + + /** + * @param tags A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public Builder versionName(@Nullable Output versionName) { + $.versionName = versionName; + return this; + } + + public Builder versionName(String versionName) { + return versionName(Output.of(versionName)); + } + + /** + * @param versionNamePrefix Creates a unique version name beginning with the specified prefix. + * Has a maximum length of 37 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * Conflicts with `version_name`. + * + * @return builder + * + */ + public Builder versionNamePrefix(@Nullable Output versionNamePrefix) { + $.versionNamePrefix = versionNamePrefix; + return this; + } + + /** + * @param versionNamePrefix Creates a unique version name beginning with the specified prefix. + * Has a maximum length of 37 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * Conflicts with `version_name`. + * + * @return builder + * + */ + public Builder versionNamePrefix(String versionNamePrefix) { + return versionNamePrefix(Output.of(versionNamePrefix)); + } + + /** + * @param volumeKmsKeyId KMS Key used to encrypt storage volumes during job processing. + * Can be a KMS Key ID or a KMS Key ARN. + * + * @return builder + * + */ + public Builder volumeKmsKeyId(@Nullable Output volumeKmsKeyId) { + $.volumeKmsKeyId = volumeKmsKeyId; + return this; + } + + /** + * @param volumeKmsKeyId KMS Key used to encrypt storage volumes during job processing. + * Can be a KMS Key ID or a KMS Key ARN. + * + * @return builder + * + */ + public Builder volumeKmsKeyId(String volumeKmsKeyId) { + return volumeKmsKeyId(Output.of(volumeKmsKeyId)); + } + + /** + * @param vpcConfig Configuration parameters for VPC to contain Document Classifier resources. + * See the `vpc_config` Configuration Block section below. + * + * @return builder + * + */ + public Builder vpcConfig(@Nullable Output vpcConfig) { + $.vpcConfig = vpcConfig; + return this; + } + + /** + * @param vpcConfig Configuration parameters for VPC to contain Document Classifier resources. + * See the `vpc_config` Configuration Block section below. + * + * @return builder + * + */ + public Builder vpcConfig(DocumentClassifierVpcConfigArgs vpcConfig) { + return vpcConfig(Output.of(vpcConfig)); + } + + public DocumentClassifierArgs build() { + $.dataAccessRoleArn = Objects.requireNonNull($.dataAccessRoleArn, "expected parameter 'dataAccessRoleArn' to be non-null"); + $.inputDataConfig = Objects.requireNonNull($.inputDataConfig, "expected parameter 'inputDataConfig' to be non-null"); + $.languageCode = Objects.requireNonNull($.languageCode, "expected parameter 'languageCode' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/comprehend/inputs/DocumentClassifierInputDataConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/comprehend/inputs/DocumentClassifierInputDataConfigArgs.java new file mode 100644 index 00000000000..eedeb6ec601 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/comprehend/inputs/DocumentClassifierInputDataConfigArgs.java @@ -0,0 +1,249 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.comprehend.inputs; + +import com.pulumi.aws.comprehend.inputs.DocumentClassifierInputDataConfigAugmentedManifestArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DocumentClassifierInputDataConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final DocumentClassifierInputDataConfigArgs Empty = new DocumentClassifierInputDataConfigArgs(); + + /** + * List of training datasets produced by Amazon SageMaker Ground Truth. + * Used if `data_format` is `AUGMENTED_MANIFEST`. + * See the `augmented_manifests` Configuration Block section below. + * + */ + @Import(name="augmentedManifests") + private @Nullable Output> augmentedManifests; + + /** + * @return List of training datasets produced by Amazon SageMaker Ground Truth. + * Used if `data_format` is `AUGMENTED_MANIFEST`. + * See the `augmented_manifests` Configuration Block section below. + * + */ + public Optional>> augmentedManifests() { + return Optional.ofNullable(this.augmentedManifests); + } + + /** + * The format for the training data. + * One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. + * + */ + @Import(name="dataFormat") + private @Nullable Output dataFormat; + + /** + * @return The format for the training data. + * One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. + * + */ + public Optional> dataFormat() { + return Optional.ofNullable(this.dataFormat); + } + + /** + * Delimiter between labels when training a multi-label classifier. + * Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\`, `:`, `;`, `>`, `?`, `/`, `<space>`, and `<tab>`. + * Default is `|`. + * + */ + @Import(name="labelDelimiter") + private @Nullable Output labelDelimiter; + + /** + * @return Delimiter between labels when training a multi-label classifier. + * Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\`, `:`, `;`, `>`, `?`, `/`, `<space>`, and `<tab>`. + * Default is `|`. + * + */ + public Optional> labelDelimiter() { + return Optional.ofNullable(this.labelDelimiter); + } + + /** + * Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + */ + @Import(name="s3Uri") + private @Nullable Output s3Uri; + + /** + * @return Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + */ + public Optional> s3Uri() { + return Optional.ofNullable(this.s3Uri); + } + + @Import(name="testS3Uri") + private @Nullable Output testS3Uri; + + public Optional> testS3Uri() { + return Optional.ofNullable(this.testS3Uri); + } + + private DocumentClassifierInputDataConfigArgs() {} + + private DocumentClassifierInputDataConfigArgs(DocumentClassifierInputDataConfigArgs $) { + this.augmentedManifests = $.augmentedManifests; + this.dataFormat = $.dataFormat; + this.labelDelimiter = $.labelDelimiter; + this.s3Uri = $.s3Uri; + this.testS3Uri = $.testS3Uri; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DocumentClassifierInputDataConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DocumentClassifierInputDataConfigArgs $; + + public Builder() { + $ = new DocumentClassifierInputDataConfigArgs(); + } + + public Builder(DocumentClassifierInputDataConfigArgs defaults) { + $ = new DocumentClassifierInputDataConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param augmentedManifests List of training datasets produced by Amazon SageMaker Ground Truth. + * Used if `data_format` is `AUGMENTED_MANIFEST`. + * See the `augmented_manifests` Configuration Block section below. + * + * @return builder + * + */ + public Builder augmentedManifests(@Nullable Output> augmentedManifests) { + $.augmentedManifests = augmentedManifests; + return this; + } + + /** + * @param augmentedManifests List of training datasets produced by Amazon SageMaker Ground Truth. + * Used if `data_format` is `AUGMENTED_MANIFEST`. + * See the `augmented_manifests` Configuration Block section below. + * + * @return builder + * + */ + public Builder augmentedManifests(List augmentedManifests) { + return augmentedManifests(Output.of(augmentedManifests)); + } + + /** + * @param augmentedManifests List of training datasets produced by Amazon SageMaker Ground Truth. + * Used if `data_format` is `AUGMENTED_MANIFEST`. + * See the `augmented_manifests` Configuration Block section below. + * + * @return builder + * + */ + public Builder augmentedManifests(DocumentClassifierInputDataConfigAugmentedManifestArgs... augmentedManifests) { + return augmentedManifests(List.of(augmentedManifests)); + } + + /** + * @param dataFormat The format for the training data. + * One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. + * + * @return builder + * + */ + public Builder dataFormat(@Nullable Output dataFormat) { + $.dataFormat = dataFormat; + return this; + } + + /** + * @param dataFormat The format for the training data. + * One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. + * + * @return builder + * + */ + public Builder dataFormat(String dataFormat) { + return dataFormat(Output.of(dataFormat)); + } + + /** + * @param labelDelimiter Delimiter between labels when training a multi-label classifier. + * Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\`, `:`, `;`, `>`, `?`, `/`, `<space>`, and `<tab>`. + * Default is `|`. + * + * @return builder + * + */ + public Builder labelDelimiter(@Nullable Output labelDelimiter) { + $.labelDelimiter = labelDelimiter; + return this; + } + + /** + * @param labelDelimiter Delimiter between labels when training a multi-label classifier. + * Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\`, `:`, `;`, `>`, `?`, `/`, `<space>`, and `<tab>`. + * Default is `|`. + * + * @return builder + * + */ + public Builder labelDelimiter(String labelDelimiter) { + return labelDelimiter(Output.of(labelDelimiter)); + } + + /** + * @param s3Uri Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + * @return builder + * + */ + public Builder s3Uri(@Nullable Output s3Uri) { + $.s3Uri = s3Uri; + return this; + } + + /** + * @param s3Uri Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + * @return builder + * + */ + public Builder s3Uri(String s3Uri) { + return s3Uri(Output.of(s3Uri)); + } + + public Builder testS3Uri(@Nullable Output testS3Uri) { + $.testS3Uri = testS3Uri; + return this; + } + + public Builder testS3Uri(String testS3Uri) { + return testS3Uri(Output.of(testS3Uri)); + } + + public DocumentClassifierInputDataConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/comprehend/inputs/DocumentClassifierInputDataConfigAugmentedManifestArgs.java b/sdk/java/src/main/java/com/pulumi/aws/comprehend/inputs/DocumentClassifierInputDataConfigAugmentedManifestArgs.java new file mode 100644 index 00000000000..c7274eab73c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/comprehend/inputs/DocumentClassifierInputDataConfigAugmentedManifestArgs.java @@ -0,0 +1,293 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.comprehend.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DocumentClassifierInputDataConfigAugmentedManifestArgs extends com.pulumi.resources.ResourceArgs { + + public static final DocumentClassifierInputDataConfigAugmentedManifestArgs Empty = new DocumentClassifierInputDataConfigAugmentedManifestArgs(); + + /** + * Location of annotation files. + * + */ + @Import(name="annotationDataS3Uri") + private @Nullable Output annotationDataS3Uri; + + /** + * @return Location of annotation files. + * + */ + public Optional> annotationDataS3Uri() { + return Optional.ofNullable(this.annotationDataS3Uri); + } + + /** + * The JSON attribute that contains the annotations for the training documents. + * + */ + @Import(name="attributeNames", required=true) + private Output> attributeNames; + + /** + * @return The JSON attribute that contains the annotations for the training documents. + * + */ + public Output> attributeNames() { + return this.attributeNames; + } + + /** + * Type of augmented manifest. + * One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. + * + */ + @Import(name="documentType") + private @Nullable Output documentType; + + /** + * @return Type of augmented manifest. + * One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. + * + */ + public Optional> documentType() { + return Optional.ofNullable(this.documentType); + } + + /** + * Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + */ + @Import(name="s3Uri", required=true) + private Output s3Uri; + + /** + * @return Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + */ + public Output s3Uri() { + return this.s3Uri; + } + + /** + * Location of source PDF files. + * + */ + @Import(name="sourceDocumentsS3Uri") + private @Nullable Output sourceDocumentsS3Uri; + + /** + * @return Location of source PDF files. + * + */ + public Optional> sourceDocumentsS3Uri() { + return Optional.ofNullable(this.sourceDocumentsS3Uri); + } + + /** + * Purpose of data in augmented manifest. + * One of `TRAIN` or `TEST`. + * + */ + @Import(name="split") + private @Nullable Output split; + + /** + * @return Purpose of data in augmented manifest. + * One of `TRAIN` or `TEST`. + * + */ + public Optional> split() { + return Optional.ofNullable(this.split); + } + + private DocumentClassifierInputDataConfigAugmentedManifestArgs() {} + + private DocumentClassifierInputDataConfigAugmentedManifestArgs(DocumentClassifierInputDataConfigAugmentedManifestArgs $) { + this.annotationDataS3Uri = $.annotationDataS3Uri; + this.attributeNames = $.attributeNames; + this.documentType = $.documentType; + this.s3Uri = $.s3Uri; + this.sourceDocumentsS3Uri = $.sourceDocumentsS3Uri; + this.split = $.split; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DocumentClassifierInputDataConfigAugmentedManifestArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DocumentClassifierInputDataConfigAugmentedManifestArgs $; + + public Builder() { + $ = new DocumentClassifierInputDataConfigAugmentedManifestArgs(); + } + + public Builder(DocumentClassifierInputDataConfigAugmentedManifestArgs defaults) { + $ = new DocumentClassifierInputDataConfigAugmentedManifestArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param annotationDataS3Uri Location of annotation files. + * + * @return builder + * + */ + public Builder annotationDataS3Uri(@Nullable Output annotationDataS3Uri) { + $.annotationDataS3Uri = annotationDataS3Uri; + return this; + } + + /** + * @param annotationDataS3Uri Location of annotation files. + * + * @return builder + * + */ + public Builder annotationDataS3Uri(String annotationDataS3Uri) { + return annotationDataS3Uri(Output.of(annotationDataS3Uri)); + } + + /** + * @param attributeNames The JSON attribute that contains the annotations for the training documents. + * + * @return builder + * + */ + public Builder attributeNames(Output> attributeNames) { + $.attributeNames = attributeNames; + return this; + } + + /** + * @param attributeNames The JSON attribute that contains the annotations for the training documents. + * + * @return builder + * + */ + public Builder attributeNames(List attributeNames) { + return attributeNames(Output.of(attributeNames)); + } + + /** + * @param attributeNames The JSON attribute that contains the annotations for the training documents. + * + * @return builder + * + */ + public Builder attributeNames(String... attributeNames) { + return attributeNames(List.of(attributeNames)); + } + + /** + * @param documentType Type of augmented manifest. + * One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. + * + * @return builder + * + */ + public Builder documentType(@Nullable Output documentType) { + $.documentType = documentType; + return this; + } + + /** + * @param documentType Type of augmented manifest. + * One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. + * + * @return builder + * + */ + public Builder documentType(String documentType) { + return documentType(Output.of(documentType)); + } + + /** + * @param s3Uri Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + * @return builder + * + */ + public Builder s3Uri(Output s3Uri) { + $.s3Uri = s3Uri; + return this; + } + + /** + * @param s3Uri Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + * @return builder + * + */ + public Builder s3Uri(String s3Uri) { + return s3Uri(Output.of(s3Uri)); + } + + /** + * @param sourceDocumentsS3Uri Location of source PDF files. + * + * @return builder + * + */ + public Builder sourceDocumentsS3Uri(@Nullable Output sourceDocumentsS3Uri) { + $.sourceDocumentsS3Uri = sourceDocumentsS3Uri; + return this; + } + + /** + * @param sourceDocumentsS3Uri Location of source PDF files. + * + * @return builder + * + */ + public Builder sourceDocumentsS3Uri(String sourceDocumentsS3Uri) { + return sourceDocumentsS3Uri(Output.of(sourceDocumentsS3Uri)); + } + + /** + * @param split Purpose of data in augmented manifest. + * One of `TRAIN` or `TEST`. + * + * @return builder + * + */ + public Builder split(@Nullable Output split) { + $.split = split; + return this; + } + + /** + * @param split Purpose of data in augmented manifest. + * One of `TRAIN` or `TEST`. + * + * @return builder + * + */ + public Builder split(String split) { + return split(Output.of(split)); + } + + public DocumentClassifierInputDataConfigAugmentedManifestArgs build() { + $.attributeNames = Objects.requireNonNull($.attributeNames, "expected parameter 'attributeNames' to be non-null"); + $.s3Uri = Objects.requireNonNull($.s3Uri, "expected parameter 's3Uri' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/comprehend/inputs/DocumentClassifierOutputDataConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/comprehend/inputs/DocumentClassifierOutputDataConfigArgs.java new file mode 100644 index 00000000000..ca60051ff77 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/comprehend/inputs/DocumentClassifierOutputDataConfigArgs.java @@ -0,0 +1,166 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.comprehend.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DocumentClassifierOutputDataConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final DocumentClassifierOutputDataConfigArgs Empty = new DocumentClassifierOutputDataConfigArgs(); + + /** + * KMS Key used to encrypt the output documents. + * Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. + * + */ + @Import(name="kmsKeyId") + private @Nullable Output kmsKeyId; + + /** + * @return KMS Key used to encrypt the output documents. + * Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. + * + */ + public Optional> kmsKeyId() { + return Optional.ofNullable(this.kmsKeyId); + } + + /** + * Full path for the output documents. + * + */ + @Import(name="outputS3Uri") + private @Nullable Output outputS3Uri; + + /** + * @return Full path for the output documents. + * + */ + public Optional> outputS3Uri() { + return Optional.ofNullable(this.outputS3Uri); + } + + /** + * Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + */ + @Import(name="s3Uri", required=true) + private Output s3Uri; + + /** + * @return Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + */ + public Output s3Uri() { + return this.s3Uri; + } + + private DocumentClassifierOutputDataConfigArgs() {} + + private DocumentClassifierOutputDataConfigArgs(DocumentClassifierOutputDataConfigArgs $) { + this.kmsKeyId = $.kmsKeyId; + this.outputS3Uri = $.outputS3Uri; + this.s3Uri = $.s3Uri; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DocumentClassifierOutputDataConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DocumentClassifierOutputDataConfigArgs $; + + public Builder() { + $ = new DocumentClassifierOutputDataConfigArgs(); + } + + public Builder(DocumentClassifierOutputDataConfigArgs defaults) { + $ = new DocumentClassifierOutputDataConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param kmsKeyId KMS Key used to encrypt the output documents. + * Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. + * + * @return builder + * + */ + public Builder kmsKeyId(@Nullable Output kmsKeyId) { + $.kmsKeyId = kmsKeyId; + return this; + } + + /** + * @param kmsKeyId KMS Key used to encrypt the output documents. + * Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. + * + * @return builder + * + */ + public Builder kmsKeyId(String kmsKeyId) { + return kmsKeyId(Output.of(kmsKeyId)); + } + + /** + * @param outputS3Uri Full path for the output documents. + * + * @return builder + * + */ + public Builder outputS3Uri(@Nullable Output outputS3Uri) { + $.outputS3Uri = outputS3Uri; + return this; + } + + /** + * @param outputS3Uri Full path for the output documents. + * + * @return builder + * + */ + public Builder outputS3Uri(String outputS3Uri) { + return outputS3Uri(Output.of(outputS3Uri)); + } + + /** + * @param s3Uri Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + * @return builder + * + */ + public Builder s3Uri(Output s3Uri) { + $.s3Uri = s3Uri; + return this; + } + + /** + * @param s3Uri Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + * @return builder + * + */ + public Builder s3Uri(String s3Uri) { + return s3Uri(Output.of(s3Uri)); + } + + public DocumentClassifierOutputDataConfigArgs build() { + $.s3Uri = Objects.requireNonNull($.s3Uri, "expected parameter 's3Uri' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/comprehend/inputs/DocumentClassifierState.java b/sdk/java/src/main/java/com/pulumi/aws/comprehend/inputs/DocumentClassifierState.java new file mode 100644 index 00000000000..ac34bae07ab --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/comprehend/inputs/DocumentClassifierState.java @@ -0,0 +1,600 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.comprehend.inputs; + +import com.pulumi.aws.comprehend.inputs.DocumentClassifierInputDataConfigArgs; +import com.pulumi.aws.comprehend.inputs.DocumentClassifierOutputDataConfigArgs; +import com.pulumi.aws.comprehend.inputs.DocumentClassifierVpcConfigArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DocumentClassifierState extends com.pulumi.resources.ResourceArgs { + + public static final DocumentClassifierState Empty = new DocumentClassifierState(); + + /** + * ARN of the Document Classifier version. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return ARN of the Document Classifier version. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * The ARN for an IAM Role which allows Comprehend to read the training and testing data. + * + */ + @Import(name="dataAccessRoleArn") + private @Nullable Output dataAccessRoleArn; + + /** + * @return The ARN for an IAM Role which allows Comprehend to read the training and testing data. + * + */ + public Optional> dataAccessRoleArn() { + return Optional.ofNullable(this.dataAccessRoleArn); + } + + /** + * Configuration for the training and testing data. + * See the `input_data_config` Configuration Block section below. + * + */ + @Import(name="inputDataConfig") + private @Nullable Output inputDataConfig; + + /** + * @return Configuration for the training and testing data. + * See the `input_data_config` Configuration Block section below. + * + */ + public Optional> inputDataConfig() { + return Optional.ofNullable(this.inputDataConfig); + } + + /** + * Two-letter language code for the language. + * One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + * + */ + @Import(name="languageCode") + private @Nullable Output languageCode; + + /** + * @return Two-letter language code for the language. + * One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + * + */ + public Optional> languageCode() { + return Optional.ofNullable(this.languageCode); + } + + /** + * The document classification mode. + * One of `MULTI_CLASS` or `MULTI_LABEL`. + * `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + * + */ + @Import(name="mode") + private @Nullable Output mode; + + /** + * @return The document classification mode. + * One of `MULTI_CLASS` or `MULTI_LABEL`. + * `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + * + */ + public Optional> mode() { + return Optional.ofNullable(this.mode); + } + + /** + * KMS Key used to encrypt trained Document Classifiers. + * Can be a KMS Key ID or a KMS Key ARN. + * + */ + @Import(name="modelKmsKeyId") + private @Nullable Output modelKmsKeyId; + + /** + * @return KMS Key used to encrypt trained Document Classifiers. + * Can be a KMS Key ID or a KMS Key ARN. + * + */ + public Optional> modelKmsKeyId() { + return Optional.ofNullable(this.modelKmsKeyId); + } + + /** + * Name for the Document Classifier. + * Has a maximum length of 63 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name for the Document Classifier. + * Has a maximum length of 63 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Configuration for the output results of training. + * See the `output_data_config` Configuration Block section below. + * + */ + @Import(name="outputDataConfig") + private @Nullable Output outputDataConfig; + + /** + * @return Configuration for the output results of training. + * See the `output_data_config` Configuration Block section below. + * + */ + public Optional> outputDataConfig() { + return Optional.ofNullable(this.outputDataConfig); + } + + /** + * A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + @Import(name="versionName") + private @Nullable Output versionName; + + public Optional> versionName() { + return Optional.ofNullable(this.versionName); + } + + /** + * Creates a unique version name beginning with the specified prefix. + * Has a maximum length of 37 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * Conflicts with `version_name`. + * + */ + @Import(name="versionNamePrefix") + private @Nullable Output versionNamePrefix; + + /** + * @return Creates a unique version name beginning with the specified prefix. + * Has a maximum length of 37 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * Conflicts with `version_name`. + * + */ + public Optional> versionNamePrefix() { + return Optional.ofNullable(this.versionNamePrefix); + } + + /** + * KMS Key used to encrypt storage volumes during job processing. + * Can be a KMS Key ID or a KMS Key ARN. + * + */ + @Import(name="volumeKmsKeyId") + private @Nullable Output volumeKmsKeyId; + + /** + * @return KMS Key used to encrypt storage volumes during job processing. + * Can be a KMS Key ID or a KMS Key ARN. + * + */ + public Optional> volumeKmsKeyId() { + return Optional.ofNullable(this.volumeKmsKeyId); + } + + /** + * Configuration parameters for VPC to contain Document Classifier resources. + * See the `vpc_config` Configuration Block section below. + * + */ + @Import(name="vpcConfig") + private @Nullable Output vpcConfig; + + /** + * @return Configuration parameters for VPC to contain Document Classifier resources. + * See the `vpc_config` Configuration Block section below. + * + */ + public Optional> vpcConfig() { + return Optional.ofNullable(this.vpcConfig); + } + + private DocumentClassifierState() {} + + private DocumentClassifierState(DocumentClassifierState $) { + this.arn = $.arn; + this.dataAccessRoleArn = $.dataAccessRoleArn; + this.inputDataConfig = $.inputDataConfig; + this.languageCode = $.languageCode; + this.mode = $.mode; + this.modelKmsKeyId = $.modelKmsKeyId; + this.name = $.name; + this.outputDataConfig = $.outputDataConfig; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.versionName = $.versionName; + this.versionNamePrefix = $.versionNamePrefix; + this.volumeKmsKeyId = $.volumeKmsKeyId; + this.vpcConfig = $.vpcConfig; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DocumentClassifierState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DocumentClassifierState $; + + public Builder() { + $ = new DocumentClassifierState(); + } + + public Builder(DocumentClassifierState defaults) { + $ = new DocumentClassifierState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn ARN of the Document Classifier version. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn ARN of the Document Classifier version. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param dataAccessRoleArn The ARN for an IAM Role which allows Comprehend to read the training and testing data. + * + * @return builder + * + */ + public Builder dataAccessRoleArn(@Nullable Output dataAccessRoleArn) { + $.dataAccessRoleArn = dataAccessRoleArn; + return this; + } + + /** + * @param dataAccessRoleArn The ARN for an IAM Role which allows Comprehend to read the training and testing data. + * + * @return builder + * + */ + public Builder dataAccessRoleArn(String dataAccessRoleArn) { + return dataAccessRoleArn(Output.of(dataAccessRoleArn)); + } + + /** + * @param inputDataConfig Configuration for the training and testing data. + * See the `input_data_config` Configuration Block section below. + * + * @return builder + * + */ + public Builder inputDataConfig(@Nullable Output inputDataConfig) { + $.inputDataConfig = inputDataConfig; + return this; + } + + /** + * @param inputDataConfig Configuration for the training and testing data. + * See the `input_data_config` Configuration Block section below. + * + * @return builder + * + */ + public Builder inputDataConfig(DocumentClassifierInputDataConfigArgs inputDataConfig) { + return inputDataConfig(Output.of(inputDataConfig)); + } + + /** + * @param languageCode Two-letter language code for the language. + * One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + * + * @return builder + * + */ + public Builder languageCode(@Nullable Output languageCode) { + $.languageCode = languageCode; + return this; + } + + /** + * @param languageCode Two-letter language code for the language. + * One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + * + * @return builder + * + */ + public Builder languageCode(String languageCode) { + return languageCode(Output.of(languageCode)); + } + + /** + * @param mode The document classification mode. + * One of `MULTI_CLASS` or `MULTI_LABEL`. + * `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + * + * @return builder + * + */ + public Builder mode(@Nullable Output mode) { + $.mode = mode; + return this; + } + + /** + * @param mode The document classification mode. + * One of `MULTI_CLASS` or `MULTI_LABEL`. + * `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + * + * @return builder + * + */ + public Builder mode(String mode) { + return mode(Output.of(mode)); + } + + /** + * @param modelKmsKeyId KMS Key used to encrypt trained Document Classifiers. + * Can be a KMS Key ID or a KMS Key ARN. + * + * @return builder + * + */ + public Builder modelKmsKeyId(@Nullable Output modelKmsKeyId) { + $.modelKmsKeyId = modelKmsKeyId; + return this; + } + + /** + * @param modelKmsKeyId KMS Key used to encrypt trained Document Classifiers. + * Can be a KMS Key ID or a KMS Key ARN. + * + * @return builder + * + */ + public Builder modelKmsKeyId(String modelKmsKeyId) { + return modelKmsKeyId(Output.of(modelKmsKeyId)); + } + + /** + * @param name Name for the Document Classifier. + * Has a maximum length of 63 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name for the Document Classifier. + * Has a maximum length of 63 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param outputDataConfig Configuration for the output results of training. + * See the `output_data_config` Configuration Block section below. + * + * @return builder + * + */ + public Builder outputDataConfig(@Nullable Output outputDataConfig) { + $.outputDataConfig = outputDataConfig; + return this; + } + + /** + * @param outputDataConfig Configuration for the output results of training. + * See the `output_data_config` Configuration Block section below. + * + * @return builder + * + */ + public Builder outputDataConfig(DocumentClassifierOutputDataConfigArgs outputDataConfig) { + return outputDataConfig(Output.of(outputDataConfig)); + } + + /** + * @param tags A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public Builder versionName(@Nullable Output versionName) { + $.versionName = versionName; + return this; + } + + public Builder versionName(String versionName) { + return versionName(Output.of(versionName)); + } + + /** + * @param versionNamePrefix Creates a unique version name beginning with the specified prefix. + * Has a maximum length of 37 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * Conflicts with `version_name`. + * + * @return builder + * + */ + public Builder versionNamePrefix(@Nullable Output versionNamePrefix) { + $.versionNamePrefix = versionNamePrefix; + return this; + } + + /** + * @param versionNamePrefix Creates a unique version name beginning with the specified prefix. + * Has a maximum length of 37 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * Conflicts with `version_name`. + * + * @return builder + * + */ + public Builder versionNamePrefix(String versionNamePrefix) { + return versionNamePrefix(Output.of(versionNamePrefix)); + } + + /** + * @param volumeKmsKeyId KMS Key used to encrypt storage volumes during job processing. + * Can be a KMS Key ID or a KMS Key ARN. + * + * @return builder + * + */ + public Builder volumeKmsKeyId(@Nullable Output volumeKmsKeyId) { + $.volumeKmsKeyId = volumeKmsKeyId; + return this; + } + + /** + * @param volumeKmsKeyId KMS Key used to encrypt storage volumes during job processing. + * Can be a KMS Key ID or a KMS Key ARN. + * + * @return builder + * + */ + public Builder volumeKmsKeyId(String volumeKmsKeyId) { + return volumeKmsKeyId(Output.of(volumeKmsKeyId)); + } + + /** + * @param vpcConfig Configuration parameters for VPC to contain Document Classifier resources. + * See the `vpc_config` Configuration Block section below. + * + * @return builder + * + */ + public Builder vpcConfig(@Nullable Output vpcConfig) { + $.vpcConfig = vpcConfig; + return this; + } + + /** + * @param vpcConfig Configuration parameters for VPC to contain Document Classifier resources. + * See the `vpc_config` Configuration Block section below. + * + * @return builder + * + */ + public Builder vpcConfig(DocumentClassifierVpcConfigArgs vpcConfig) { + return vpcConfig(Output.of(vpcConfig)); + } + + public DocumentClassifierState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/comprehend/inputs/DocumentClassifierVpcConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/comprehend/inputs/DocumentClassifierVpcConfigArgs.java new file mode 100644 index 00000000000..564273a3a52 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/comprehend/inputs/DocumentClassifierVpcConfigArgs.java @@ -0,0 +1,141 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.comprehend.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class DocumentClassifierVpcConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final DocumentClassifierVpcConfigArgs Empty = new DocumentClassifierVpcConfigArgs(); + + /** + * List of security group IDs. + * + */ + @Import(name="securityGroupIds", required=true) + private Output> securityGroupIds; + + /** + * @return List of security group IDs. + * + */ + public Output> securityGroupIds() { + return this.securityGroupIds; + } + + /** + * List of VPC subnets. + * + */ + @Import(name="subnets", required=true) + private Output> subnets; + + /** + * @return List of VPC subnets. + * + */ + public Output> subnets() { + return this.subnets; + } + + private DocumentClassifierVpcConfigArgs() {} + + private DocumentClassifierVpcConfigArgs(DocumentClassifierVpcConfigArgs $) { + this.securityGroupIds = $.securityGroupIds; + this.subnets = $.subnets; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DocumentClassifierVpcConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DocumentClassifierVpcConfigArgs $; + + public Builder() { + $ = new DocumentClassifierVpcConfigArgs(); + } + + public Builder(DocumentClassifierVpcConfigArgs defaults) { + $ = new DocumentClassifierVpcConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param securityGroupIds List of security group IDs. + * + * @return builder + * + */ + public Builder securityGroupIds(Output> securityGroupIds) { + $.securityGroupIds = securityGroupIds; + return this; + } + + /** + * @param securityGroupIds List of security group IDs. + * + * @return builder + * + */ + public Builder securityGroupIds(List securityGroupIds) { + return securityGroupIds(Output.of(securityGroupIds)); + } + + /** + * @param securityGroupIds List of security group IDs. + * + * @return builder + * + */ + public Builder securityGroupIds(String... securityGroupIds) { + return securityGroupIds(List.of(securityGroupIds)); + } + + /** + * @param subnets List of VPC subnets. + * + * @return builder + * + */ + public Builder subnets(Output> subnets) { + $.subnets = subnets; + return this; + } + + /** + * @param subnets List of VPC subnets. + * + * @return builder + * + */ + public Builder subnets(List subnets) { + return subnets(Output.of(subnets)); + } + + /** + * @param subnets List of VPC subnets. + * + * @return builder + * + */ + public Builder subnets(String... subnets) { + return subnets(List.of(subnets)); + } + + public DocumentClassifierVpcConfigArgs build() { + $.securityGroupIds = Objects.requireNonNull($.securityGroupIds, "expected parameter 'securityGroupIds' to be non-null"); + $.subnets = Objects.requireNonNull($.subnets, "expected parameter 'subnets' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/comprehend/outputs/DocumentClassifierInputDataConfig.java b/sdk/java/src/main/java/com/pulumi/aws/comprehend/outputs/DocumentClassifierInputDataConfig.java new file mode 100644 index 00000000000..793271b6af1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/comprehend/outputs/DocumentClassifierInputDataConfig.java @@ -0,0 +1,145 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.comprehend.outputs; + +import com.pulumi.aws.comprehend.outputs.DocumentClassifierInputDataConfigAugmentedManifest; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DocumentClassifierInputDataConfig { + /** + * @return List of training datasets produced by Amazon SageMaker Ground Truth. + * Used if `data_format` is `AUGMENTED_MANIFEST`. + * See the `augmented_manifests` Configuration Block section below. + * + */ + private @Nullable List augmentedManifests; + /** + * @return The format for the training data. + * One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. + * + */ + private @Nullable String dataFormat; + /** + * @return Delimiter between labels when training a multi-label classifier. + * Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\`, `:`, `;`, `>`, `?`, `/`, `<space>`, and `<tab>`. + * Default is `|`. + * + */ + private @Nullable String labelDelimiter; + /** + * @return Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + */ + private @Nullable String s3Uri; + private @Nullable String testS3Uri; + + private DocumentClassifierInputDataConfig() {} + /** + * @return List of training datasets produced by Amazon SageMaker Ground Truth. + * Used if `data_format` is `AUGMENTED_MANIFEST`. + * See the `augmented_manifests` Configuration Block section below. + * + */ + public List augmentedManifests() { + return this.augmentedManifests == null ? List.of() : this.augmentedManifests; + } + /** + * @return The format for the training data. + * One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. + * + */ + public Optional dataFormat() { + return Optional.ofNullable(this.dataFormat); + } + /** + * @return Delimiter between labels when training a multi-label classifier. + * Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\`, `:`, `;`, `>`, `?`, `/`, `<space>`, and `<tab>`. + * Default is `|`. + * + */ + public Optional labelDelimiter() { + return Optional.ofNullable(this.labelDelimiter); + } + /** + * @return Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + */ + public Optional s3Uri() { + return Optional.ofNullable(this.s3Uri); + } + public Optional testS3Uri() { + return Optional.ofNullable(this.testS3Uri); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DocumentClassifierInputDataConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List augmentedManifests; + private @Nullable String dataFormat; + private @Nullable String labelDelimiter; + private @Nullable String s3Uri; + private @Nullable String testS3Uri; + public Builder() {} + public Builder(DocumentClassifierInputDataConfig defaults) { + Objects.requireNonNull(defaults); + this.augmentedManifests = defaults.augmentedManifests; + this.dataFormat = defaults.dataFormat; + this.labelDelimiter = defaults.labelDelimiter; + this.s3Uri = defaults.s3Uri; + this.testS3Uri = defaults.testS3Uri; + } + + @CustomType.Setter + public Builder augmentedManifests(@Nullable List augmentedManifests) { + this.augmentedManifests = augmentedManifests; + return this; + } + public Builder augmentedManifests(DocumentClassifierInputDataConfigAugmentedManifest... augmentedManifests) { + return augmentedManifests(List.of(augmentedManifests)); + } + @CustomType.Setter + public Builder dataFormat(@Nullable String dataFormat) { + this.dataFormat = dataFormat; + return this; + } + @CustomType.Setter + public Builder labelDelimiter(@Nullable String labelDelimiter) { + this.labelDelimiter = labelDelimiter; + return this; + } + @CustomType.Setter + public Builder s3Uri(@Nullable String s3Uri) { + this.s3Uri = s3Uri; + return this; + } + @CustomType.Setter + public Builder testS3Uri(@Nullable String testS3Uri) { + this.testS3Uri = testS3Uri; + return this; + } + public DocumentClassifierInputDataConfig build() { + final var o = new DocumentClassifierInputDataConfig(); + o.augmentedManifests = augmentedManifests; + o.dataFormat = dataFormat; + o.labelDelimiter = labelDelimiter; + o.s3Uri = s3Uri; + o.testS3Uri = testS3Uri; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/comprehend/outputs/DocumentClassifierInputDataConfigAugmentedManifest.java b/sdk/java/src/main/java/com/pulumi/aws/comprehend/outputs/DocumentClassifierInputDataConfigAugmentedManifest.java new file mode 100644 index 00000000000..91d81d3d592 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/comprehend/outputs/DocumentClassifierInputDataConfigAugmentedManifest.java @@ -0,0 +1,166 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.comprehend.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DocumentClassifierInputDataConfigAugmentedManifest { + /** + * @return Location of annotation files. + * + */ + private @Nullable String annotationDataS3Uri; + /** + * @return The JSON attribute that contains the annotations for the training documents. + * + */ + private List attributeNames; + /** + * @return Type of augmented manifest. + * One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. + * + */ + private @Nullable String documentType; + /** + * @return Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + */ + private String s3Uri; + /** + * @return Location of source PDF files. + * + */ + private @Nullable String sourceDocumentsS3Uri; + /** + * @return Purpose of data in augmented manifest. + * One of `TRAIN` or `TEST`. + * + */ + private @Nullable String split; + + private DocumentClassifierInputDataConfigAugmentedManifest() {} + /** + * @return Location of annotation files. + * + */ + public Optional annotationDataS3Uri() { + return Optional.ofNullable(this.annotationDataS3Uri); + } + /** + * @return The JSON attribute that contains the annotations for the training documents. + * + */ + public List attributeNames() { + return this.attributeNames; + } + /** + * @return Type of augmented manifest. + * One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. + * + */ + public Optional documentType() { + return Optional.ofNullable(this.documentType); + } + /** + * @return Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + */ + public String s3Uri() { + return this.s3Uri; + } + /** + * @return Location of source PDF files. + * + */ + public Optional sourceDocumentsS3Uri() { + return Optional.ofNullable(this.sourceDocumentsS3Uri); + } + /** + * @return Purpose of data in augmented manifest. + * One of `TRAIN` or `TEST`. + * + */ + public Optional split() { + return Optional.ofNullable(this.split); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DocumentClassifierInputDataConfigAugmentedManifest defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String annotationDataS3Uri; + private List attributeNames; + private @Nullable String documentType; + private String s3Uri; + private @Nullable String sourceDocumentsS3Uri; + private @Nullable String split; + public Builder() {} + public Builder(DocumentClassifierInputDataConfigAugmentedManifest defaults) { + Objects.requireNonNull(defaults); + this.annotationDataS3Uri = defaults.annotationDataS3Uri; + this.attributeNames = defaults.attributeNames; + this.documentType = defaults.documentType; + this.s3Uri = defaults.s3Uri; + this.sourceDocumentsS3Uri = defaults.sourceDocumentsS3Uri; + this.split = defaults.split; + } + + @CustomType.Setter + public Builder annotationDataS3Uri(@Nullable String annotationDataS3Uri) { + this.annotationDataS3Uri = annotationDataS3Uri; + return this; + } + @CustomType.Setter + public Builder attributeNames(List attributeNames) { + this.attributeNames = Objects.requireNonNull(attributeNames); + return this; + } + public Builder attributeNames(String... attributeNames) { + return attributeNames(List.of(attributeNames)); + } + @CustomType.Setter + public Builder documentType(@Nullable String documentType) { + this.documentType = documentType; + return this; + } + @CustomType.Setter + public Builder s3Uri(String s3Uri) { + this.s3Uri = Objects.requireNonNull(s3Uri); + return this; + } + @CustomType.Setter + public Builder sourceDocumentsS3Uri(@Nullable String sourceDocumentsS3Uri) { + this.sourceDocumentsS3Uri = sourceDocumentsS3Uri; + return this; + } + @CustomType.Setter + public Builder split(@Nullable String split) { + this.split = split; + return this; + } + public DocumentClassifierInputDataConfigAugmentedManifest build() { + final var o = new DocumentClassifierInputDataConfigAugmentedManifest(); + o.annotationDataS3Uri = annotationDataS3Uri; + o.attributeNames = attributeNames; + o.documentType = documentType; + o.s3Uri = s3Uri; + o.sourceDocumentsS3Uri = sourceDocumentsS3Uri; + o.split = split; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/comprehend/outputs/DocumentClassifierOutputDataConfig.java b/sdk/java/src/main/java/com/pulumi/aws/comprehend/outputs/DocumentClassifierOutputDataConfig.java new file mode 100644 index 00000000000..c91de160a99 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/comprehend/outputs/DocumentClassifierOutputDataConfig.java @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.comprehend.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DocumentClassifierOutputDataConfig { + /** + * @return KMS Key used to encrypt the output documents. + * Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. + * + */ + private @Nullable String kmsKeyId; + /** + * @return Full path for the output documents. + * + */ + private @Nullable String outputS3Uri; + /** + * @return Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + */ + private String s3Uri; + + private DocumentClassifierOutputDataConfig() {} + /** + * @return KMS Key used to encrypt the output documents. + * Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. + * + */ + public Optional kmsKeyId() { + return Optional.ofNullable(this.kmsKeyId); + } + /** + * @return Full path for the output documents. + * + */ + public Optional outputS3Uri() { + return Optional.ofNullable(this.outputS3Uri); + } + /** + * @return Destination path for the output documents. + * The full path to the output file will be returned in `output_s3_uri`. + * + */ + public String s3Uri() { + return this.s3Uri; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DocumentClassifierOutputDataConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String kmsKeyId; + private @Nullable String outputS3Uri; + private String s3Uri; + public Builder() {} + public Builder(DocumentClassifierOutputDataConfig defaults) { + Objects.requireNonNull(defaults); + this.kmsKeyId = defaults.kmsKeyId; + this.outputS3Uri = defaults.outputS3Uri; + this.s3Uri = defaults.s3Uri; + } + + @CustomType.Setter + public Builder kmsKeyId(@Nullable String kmsKeyId) { + this.kmsKeyId = kmsKeyId; + return this; + } + @CustomType.Setter + public Builder outputS3Uri(@Nullable String outputS3Uri) { + this.outputS3Uri = outputS3Uri; + return this; + } + @CustomType.Setter + public Builder s3Uri(String s3Uri) { + this.s3Uri = Objects.requireNonNull(s3Uri); + return this; + } + public DocumentClassifierOutputDataConfig build() { + final var o = new DocumentClassifierOutputDataConfig(); + o.kmsKeyId = kmsKeyId; + o.outputS3Uri = outputS3Uri; + o.s3Uri = s3Uri; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/comprehend/outputs/DocumentClassifierVpcConfig.java b/sdk/java/src/main/java/com/pulumi/aws/comprehend/outputs/DocumentClassifierVpcConfig.java new file mode 100644 index 00000000000..397221192d9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/comprehend/outputs/DocumentClassifierVpcConfig.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.comprehend.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class DocumentClassifierVpcConfig { + /** + * @return List of security group IDs. + * + */ + private List securityGroupIds; + /** + * @return List of VPC subnets. + * + */ + private List subnets; + + private DocumentClassifierVpcConfig() {} + /** + * @return List of security group IDs. + * + */ + public List securityGroupIds() { + return this.securityGroupIds; + } + /** + * @return List of VPC subnets. + * + */ + public List subnets() { + return this.subnets; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DocumentClassifierVpcConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List securityGroupIds; + private List subnets; + public Builder() {} + public Builder(DocumentClassifierVpcConfig defaults) { + Objects.requireNonNull(defaults); + this.securityGroupIds = defaults.securityGroupIds; + this.subnets = defaults.subnets; + } + + @CustomType.Setter + public Builder securityGroupIds(List securityGroupIds) { + this.securityGroupIds = Objects.requireNonNull(securityGroupIds); + return this; + } + public Builder securityGroupIds(String... securityGroupIds) { + return securityGroupIds(List.of(securityGroupIds)); + } + @CustomType.Setter + public Builder subnets(List subnets) { + this.subnets = Objects.requireNonNull(subnets); + return this; + } + public Builder subnets(String... subnets) { + return subnets(List.of(subnets)); + } + public DocumentClassifierVpcConfig build() { + final var o = new DocumentClassifierVpcConfig(); + o.securityGroupIds = securityGroupIds; + o.subnets = subnets; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/Connection.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/Connection.java index 6554cd34f04..53be6c79278 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/Connection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/Connection.java @@ -215,6 +215,20 @@ public Output>> tags() { public Output> tagsAll() { return this.tagsAll; } + /** + * The VLAN ID. + * + */ + @Export(name="vlanId", type=String.class, parameters={}) + private Output vlanId; + + /** + * @return The VLAN ID. + * + */ + public Output vlanId() { + return this.vlanId; + } /** * diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/inputs/ConnectionState.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/inputs/ConnectionState.java index 30c3fa676f4..d39d975c29c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/inputs/ConnectionState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/inputs/ConnectionState.java @@ -182,6 +182,21 @@ public Optional>> tagsAll() { return Optional.ofNullable(this.tagsAll); } + /** + * The VLAN ID. + * + */ + @Import(name="vlanId") + private @Nullable Output vlanId; + + /** + * @return The VLAN ID. + * + */ + public Optional> vlanId() { + return Optional.ofNullable(this.vlanId); + } + private ConnectionState() {} private ConnectionState(ConnectionState $) { @@ -196,6 +211,7 @@ private ConnectionState(ConnectionState $) { this.providerName = $.providerName; this.tags = $.tags; this.tagsAll = $.tagsAll; + this.vlanId = $.vlanId; } public static Builder builder() { @@ -447,6 +463,27 @@ public Builder tagsAll(Map tagsAll) { return tagsAll(Output.of(tagsAll)); } + /** + * @param vlanId The VLAN ID. + * + * @return builder + * + */ + public Builder vlanId(@Nullable Output vlanId) { + $.vlanId = vlanId; + return this; + } + + /** + * @param vlanId The VLAN ID. + * + * @return builder + * + */ + public Builder vlanId(String vlanId) { + return vlanId(Output.of(vlanId)); + } + public ConnectionState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/outputs/GetConnectionResult.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/outputs/GetConnectionResult.java index 9870e11cf65..f922492de93 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/outputs/GetConnectionResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/outputs/GetConnectionResult.java @@ -51,6 +51,11 @@ public final class GetConnectionResult { * */ private Map tags; + /** + * @return The VLAN ID. + * + */ + private String vlanId; private GetConnectionResult() {} /** @@ -112,6 +117,13 @@ public String providerName() { public Map tags() { return this.tags; } + /** + * @return The VLAN ID. + * + */ + public String vlanId() { + return this.vlanId; + } public static Builder builder() { return new Builder(); @@ -131,6 +143,7 @@ public static final class Builder { private String ownerAccountId; private String providerName; private Map tags; + private String vlanId; public Builder() {} public Builder(GetConnectionResult defaults) { Objects.requireNonNull(defaults); @@ -143,6 +156,7 @@ public Builder(GetConnectionResult defaults) { this.ownerAccountId = defaults.ownerAccountId; this.providerName = defaults.providerName; this.tags = defaults.tags; + this.vlanId = defaults.vlanId; } @CustomType.Setter @@ -190,6 +204,11 @@ public Builder tags(Map tags) { this.tags = Objects.requireNonNull(tags); return this; } + @CustomType.Setter + public Builder vlanId(String vlanId) { + this.vlanId = Objects.requireNonNull(vlanId); + return this; + } public GetConnectionResult build() { final var o = new GetConnectionResult(); o.arn = arn; @@ -201,6 +220,7 @@ public GetConnectionResult build() { o.ownerAccountId = ownerAccountId; o.providerName = providerName; o.tags = tags; + o.vlanId = vlanId; return o; } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ebs/Volume.java b/sdk/java/src/main/java/com/pulumi/aws/ebs/Volume.java index 11ad44b1e0b..1b07eb7c0b5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ebs/Volume.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ebs/Volume.java @@ -52,7 +52,7 @@ * } * ``` * - * > **NOTE**: At least one of `size` or `snapshot_id` is required when specifying an EBS volume + * > **NOTE:** At least one of `size` or `snapshot_id` is required when specifying an EBS volume * * ## Import * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultVpc.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultVpc.java index 8002e3c8195..5e596f965f0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultVpc.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultVpc.java @@ -147,6 +147,12 @@ public Output> enableDnsHostnames() { public Output> enableDnsSupport() { return Codegen.optional(this.enableDnsSupport); } + @Export(name="enableNetworkAddressUsageMetrics", type=Boolean.class, parameters={}) + private Output enableNetworkAddressUsageMetrics; + + public Output> enableNetworkAddressUsageMetrics() { + return Codegen.optional(this.enableNetworkAddressUsageMetrics); + } @Export(name="existingDefaultVpc", type=Boolean.class, parameters={}) private Output existingDefaultVpc; diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultVpcArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultVpcArgs.java index c3621133621..94094ba84cb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultVpcArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/DefaultVpcArgs.java @@ -77,6 +77,13 @@ public Optional> enableDnsSupport() { return Optional.ofNullable(this.enableDnsSupport); } + @Import(name="enableNetworkAddressUsageMetrics") + private @Nullable Output enableNetworkAddressUsageMetrics; + + public Optional> enableNetworkAddressUsageMetrics() { + return Optional.ofNullable(this.enableNetworkAddressUsageMetrics); + } + /** * Whether destroying the resource deletes the default VPC. Default: `false` * @@ -135,6 +142,7 @@ private DefaultVpcArgs(DefaultVpcArgs $) { this.enableClassiclinkDnsSupport = $.enableClassiclinkDnsSupport; this.enableDnsHostnames = $.enableDnsHostnames; this.enableDnsSupport = $.enableDnsSupport; + this.enableNetworkAddressUsageMetrics = $.enableNetworkAddressUsageMetrics; this.forceDestroy = $.forceDestroy; this.ipv6CidrBlock = $.ipv6CidrBlock; this.ipv6CidrBlockNetworkBorderGroup = $.ipv6CidrBlockNetworkBorderGroup; @@ -238,6 +246,15 @@ public Builder enableDnsSupport(Boolean enableDnsSupport) { return enableDnsSupport(Output.of(enableDnsSupport)); } + public Builder enableNetworkAddressUsageMetrics(@Nullable Output enableNetworkAddressUsageMetrics) { + $.enableNetworkAddressUsageMetrics = enableNetworkAddressUsageMetrics; + return this; + } + + public Builder enableNetworkAddressUsageMetrics(Boolean enableNetworkAddressUsageMetrics) { + return enableNetworkAddressUsageMetrics(Output.of(enableNetworkAddressUsageMetrics)); + } + /** * @param forceDestroy Whether destroying the resource deletes the default VPC. Default: `false` * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/Ec2Functions.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/Ec2Functions.java index 9efe25f4482..60bf38b8810 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/Ec2Functions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/Ec2Functions.java @@ -107,6 +107,8 @@ import com.pulumi.aws.ec2.inputs.GetVpcIamPoolCidrsArgs; import com.pulumi.aws.ec2.inputs.GetVpcIamPoolCidrsPlainArgs; import com.pulumi.aws.ec2.inputs.GetVpcIamPoolPlainArgs; +import com.pulumi.aws.ec2.inputs.GetVpcIamPoolsArgs; +import com.pulumi.aws.ec2.inputs.GetVpcIamPoolsPlainArgs; import com.pulumi.aws.ec2.inputs.GetVpcPeeringConnectionArgs; import com.pulumi.aws.ec2.inputs.GetVpcPeeringConnectionPlainArgs; import com.pulumi.aws.ec2.inputs.GetVpcPeeringConnectionsArgs; @@ -168,6 +170,7 @@ import com.pulumi.aws.ec2.outputs.GetVpcEndpointServiceResult; import com.pulumi.aws.ec2.outputs.GetVpcIamPoolCidrsResult; import com.pulumi.aws.ec2.outputs.GetVpcIamPoolResult; +import com.pulumi.aws.ec2.outputs.GetVpcIamPoolsResult; import com.pulumi.aws.ec2.outputs.GetVpcPeeringConnectionResult; import com.pulumi.aws.ec2.outputs.GetVpcPeeringConnectionsResult; import com.pulumi.aws.ec2.outputs.GetVpcResult; @@ -7008,8 +7011,6 @@ public static CompletableFuture getManagedPrefixLis * } * * public static void stack(Context ctx) { - * final var config = ctx.config(); - * final var subnetId = config.get("subnetId"); * final var default = Ec2Functions.getNatGateway(GetNatGatewayArgs.builder() * .subnetId(aws_subnet.public().id()) * .build()); @@ -7078,8 +7079,6 @@ public static Output getNatGateway() { * } * * public static void stack(Context ctx) { - * final var config = ctx.config(); - * final var subnetId = config.get("subnetId"); * final var default = Ec2Functions.getNatGateway(GetNatGatewayArgs.builder() * .subnetId(aws_subnet.public().id()) * .build()); @@ -7148,8 +7147,6 @@ public static CompletableFuture getNatGatewayPlain() { * } * * public static void stack(Context ctx) { - * final var config = ctx.config(); - * final var subnetId = config.get("subnetId"); * final var default = Ec2Functions.getNatGateway(GetNatGatewayArgs.builder() * .subnetId(aws_subnet.public().id()) * .build()); @@ -7218,8 +7215,6 @@ public static Output getNatGateway(GetNatGatewayArgs args) * } * * public static void stack(Context ctx) { - * final var config = ctx.config(); - * final var subnetId = config.get("subnetId"); * final var default = Ec2Functions.getNatGateway(GetNatGatewayArgs.builder() * .subnetId(aws_subnet.public().id()) * .build()); @@ -7288,8 +7283,6 @@ public static CompletableFuture getNatGatewayPlain(GetNatGa * } * * public static void stack(Context ctx) { - * final var config = ctx.config(); - * final var subnetId = config.get("subnetId"); * final var default = Ec2Functions.getNatGateway(GetNatGatewayArgs.builder() * .subnetId(aws_subnet.public().id()) * .build()); @@ -7358,8 +7351,6 @@ public static Output getNatGateway(GetNatGatewayArgs args, * } * * public static void stack(Context ctx) { - * final var config = ctx.config(); - * final var subnetId = config.get("subnetId"); * final var default = Ec2Functions.getNatGateway(GetNatGatewayArgs.builder() * .subnetId(aws_subnet.public().id()) * .build()); @@ -14437,6 +14428,300 @@ public static Output getVpcIamPoolCidrs(GetVpcIamPoolC public static CompletableFuture getVpcIamPoolCidrsPlain(GetVpcIamPoolCidrsPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs", TypeShape.of(GetVpcIamPoolCidrsResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.ec2.getVpcIamPools` provides details about IPAM pools. + * + * This resource can prove useful when IPAM pools are created in another root + * module and you need the pool ids as input variables. For example, pools + * can be shared via RAM and used to create vpcs with CIDRs from that pool. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ec2.Ec2Functions; + * import com.pulumi.aws.ec2.inputs.GetVpcIamPoolsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = Ec2Functions.getVpcIamPools(GetVpcIamPoolsArgs.builder() + * .filters( + * GetVpcIamPoolsFilterArgs.builder() + * .name("description") + * .values("*test*") + * .build(), + * GetVpcIamPoolsFilterArgs.builder() + * .name("address-family") + * .values("ipv4") + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getVpcIamPools() { + return getVpcIamPools(GetVpcIamPoolsArgs.Empty, InvokeOptions.Empty); + } + /** + * `aws.ec2.getVpcIamPools` provides details about IPAM pools. + * + * This resource can prove useful when IPAM pools are created in another root + * module and you need the pool ids as input variables. For example, pools + * can be shared via RAM and used to create vpcs with CIDRs from that pool. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ec2.Ec2Functions; + * import com.pulumi.aws.ec2.inputs.GetVpcIamPoolsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = Ec2Functions.getVpcIamPools(GetVpcIamPoolsArgs.builder() + * .filters( + * GetVpcIamPoolsFilterArgs.builder() + * .name("description") + * .values("*test*") + * .build(), + * GetVpcIamPoolsFilterArgs.builder() + * .name("address-family") + * .values("ipv4") + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getVpcIamPoolsPlain() { + return getVpcIamPoolsPlain(GetVpcIamPoolsPlainArgs.Empty, InvokeOptions.Empty); + } + /** + * `aws.ec2.getVpcIamPools` provides details about IPAM pools. + * + * This resource can prove useful when IPAM pools are created in another root + * module and you need the pool ids as input variables. For example, pools + * can be shared via RAM and used to create vpcs with CIDRs from that pool. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ec2.Ec2Functions; + * import com.pulumi.aws.ec2.inputs.GetVpcIamPoolsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = Ec2Functions.getVpcIamPools(GetVpcIamPoolsArgs.builder() + * .filters( + * GetVpcIamPoolsFilterArgs.builder() + * .name("description") + * .values("*test*") + * .build(), + * GetVpcIamPoolsFilterArgs.builder() + * .name("address-family") + * .values("ipv4") + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getVpcIamPools(GetVpcIamPoolsArgs args) { + return getVpcIamPools(args, InvokeOptions.Empty); + } + /** + * `aws.ec2.getVpcIamPools` provides details about IPAM pools. + * + * This resource can prove useful when IPAM pools are created in another root + * module and you need the pool ids as input variables. For example, pools + * can be shared via RAM and used to create vpcs with CIDRs from that pool. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ec2.Ec2Functions; + * import com.pulumi.aws.ec2.inputs.GetVpcIamPoolsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = Ec2Functions.getVpcIamPools(GetVpcIamPoolsArgs.builder() + * .filters( + * GetVpcIamPoolsFilterArgs.builder() + * .name("description") + * .values("*test*") + * .build(), + * GetVpcIamPoolsFilterArgs.builder() + * .name("address-family") + * .values("ipv4") + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getVpcIamPoolsPlain(GetVpcIamPoolsPlainArgs args) { + return getVpcIamPoolsPlain(args, InvokeOptions.Empty); + } + /** + * `aws.ec2.getVpcIamPools` provides details about IPAM pools. + * + * This resource can prove useful when IPAM pools are created in another root + * module and you need the pool ids as input variables. For example, pools + * can be shared via RAM and used to create vpcs with CIDRs from that pool. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ec2.Ec2Functions; + * import com.pulumi.aws.ec2.inputs.GetVpcIamPoolsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = Ec2Functions.getVpcIamPools(GetVpcIamPoolsArgs.builder() + * .filters( + * GetVpcIamPoolsFilterArgs.builder() + * .name("description") + * .values("*test*") + * .build(), + * GetVpcIamPoolsFilterArgs.builder() + * .name("address-family") + * .values("ipv4") + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getVpcIamPools(GetVpcIamPoolsArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getVpcIamPools:getVpcIamPools", TypeShape.of(GetVpcIamPoolsResult.class), args, Utilities.withVersion(options)); + } + /** + * `aws.ec2.getVpcIamPools` provides details about IPAM pools. + * + * This resource can prove useful when IPAM pools are created in another root + * module and you need the pool ids as input variables. For example, pools + * can be shared via RAM and used to create vpcs with CIDRs from that pool. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ec2.Ec2Functions; + * import com.pulumi.aws.ec2.inputs.GetVpcIamPoolsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = Ec2Functions.getVpcIamPools(GetVpcIamPoolsArgs.builder() + * .filters( + * GetVpcIamPoolsFilterArgs.builder() + * .name("description") + * .values("*test*") + * .build(), + * GetVpcIamPoolsFilterArgs.builder() + * .name("address-family") + * .values("ipv4") + * .build()) + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getVpcIamPoolsPlain(GetVpcIamPoolsPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getVpcIamPools:getVpcIamPools", TypeShape.of(GetVpcIamPoolsResult.class), args, Utilities.withVersion(options)); + } /** * The VPC Peering Connection data source provides details about * a specific VPC peering connection. diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterface.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterface.java index 761d2bf0b2c..bb6fc139561 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterface.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterface.java @@ -184,9 +184,17 @@ public Output> ipv4Prefixes() { public Output ipv6AddressCount() { return this.ipv6AddressCount; } + /** + * Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * + */ @Export(name="ipv6AddressListEnabled", type=Boolean.class, parameters={}) private Output ipv6AddressListEnabled; + /** + * @return Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * + */ public Output> ipv6AddressListEnabled() { return Codegen.optional(this.ipv6AddressListEnabled); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterfaceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterfaceArgs.java index ce913417e4c..ce5398470a8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterfaceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterfaceArgs.java @@ -110,9 +110,17 @@ public Optional> ipv6AddressCount() { return Optional.ofNullable(this.ipv6AddressCount); } + /** + * Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * + */ @Import(name="ipv6AddressListEnabled") private @Nullable Output ipv6AddressListEnabled; + /** + * @return Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * + */ public Optional> ipv6AddressListEnabled() { return Optional.ofNullable(this.ipv6AddressListEnabled); } @@ -493,11 +501,23 @@ public Builder ipv6AddressCount(Integer ipv6AddressCount) { return ipv6AddressCount(Output.of(ipv6AddressCount)); } + /** + * @param ipv6AddressListEnabled Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * + * @return builder + * + */ public Builder ipv6AddressListEnabled(@Nullable Output ipv6AddressListEnabled) { $.ipv6AddressListEnabled = ipv6AddressListEnabled; return this; } + /** + * @param ipv6AddressListEnabled Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * + * @return builder + * + */ public Builder ipv6AddressListEnabled(Boolean ipv6AddressListEnabled) { return ipv6AddressListEnabled(Output.of(ipv6AddressListEnabled)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/SecurityGroupRule.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/SecurityGroupRule.java index 077fb4ce6d4..bc7da9512fc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/SecurityGroupRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/SecurityGroupRule.java @@ -22,8 +22,8 @@ * `egress` group rule, which can be added to external Security Groups. * * > **NOTE on Security Groups and Security Group Rules:** This provider currently - * provides both a standalone Security Group Rule resource (a single `ingress` or - * `egress` rule), and a Security Group resource with `ingress` and `egress` rules + * provides both a standalone Security Group Rule resource (one or many `ingress` or + * `egress` rules), and a Security Group resource with `ingress` and `egress` rules * defined in-line. At this time you cannot use a Security Group with in-line rules * in conjunction with any Security Group Rule resources. Doing so will cause * a conflict of rule settings and will overwrite rules. diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/Vpc.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/Vpc.java index 67b452ce54d..545a05a3933 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/Vpc.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/Vpc.java @@ -304,19 +304,33 @@ public Output enableDnsHostnames() { return this.enableDnsHostnames; } /** - * A boolean flag to enable/disable DNS support in the VPC. Defaults true. + * A boolean flag to enable/disable DNS support in the VPC. Defaults to true. * */ @Export(name="enableDnsSupport", type=Boolean.class, parameters={}) private Output enableDnsSupport; /** - * @return A boolean flag to enable/disable DNS support in the VPC. Defaults true. + * @return A boolean flag to enable/disable DNS support in the VPC. Defaults to true. * */ public Output> enableDnsSupport() { return Codegen.optional(this.enableDnsSupport); } + /** + * Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + * + */ + @Export(name="enableNetworkAddressUsageMetrics", type=Boolean.class, parameters={}) + private Output enableNetworkAddressUsageMetrics; + + /** + * @return Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + * + */ + public Output enableNetworkAddressUsageMetrics() { + return this.enableNetworkAddressUsageMetrics; + } /** * A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcArgs.java index d60bd1e4bb6..8c9117398d2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcArgs.java @@ -116,20 +116,35 @@ public Optional> enableDnsHostnames() { } /** - * A boolean flag to enable/disable DNS support in the VPC. Defaults true. + * A boolean flag to enable/disable DNS support in the VPC. Defaults to true. * */ @Import(name="enableDnsSupport") private @Nullable Output enableDnsSupport; /** - * @return A boolean flag to enable/disable DNS support in the VPC. Defaults true. + * @return A boolean flag to enable/disable DNS support in the VPC. Defaults to true. * */ public Optional> enableDnsSupport() { return Optional.ofNullable(this.enableDnsSupport); } + /** + * Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + * + */ + @Import(name="enableNetworkAddressUsageMetrics") + private @Nullable Output enableNetworkAddressUsageMetrics; + + /** + * @return Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + * + */ + public Optional> enableNetworkAddressUsageMetrics() { + return Optional.ofNullable(this.enableNetworkAddressUsageMetrics); + } + /** * A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. * @@ -259,6 +274,7 @@ private VpcArgs(VpcArgs $) { this.enableClassiclinkDnsSupport = $.enableClassiclinkDnsSupport; this.enableDnsHostnames = $.enableDnsHostnames; this.enableDnsSupport = $.enableDnsSupport; + this.enableNetworkAddressUsageMetrics = $.enableNetworkAddressUsageMetrics; this.instanceTenancy = $.instanceTenancy; this.ipv4IpamPoolId = $.ipv4IpamPoolId; this.ipv4NetmaskLength = $.ipv4NetmaskLength; @@ -415,7 +431,7 @@ public Builder enableDnsHostnames(Boolean enableDnsHostnames) { } /** - * @param enableDnsSupport A boolean flag to enable/disable DNS support in the VPC. Defaults true. + * @param enableDnsSupport A boolean flag to enable/disable DNS support in the VPC. Defaults to true. * * @return builder * @@ -426,7 +442,7 @@ public Builder enableDnsSupport(@Nullable Output enableDnsSupport) { } /** - * @param enableDnsSupport A boolean flag to enable/disable DNS support in the VPC. Defaults true. + * @param enableDnsSupport A boolean flag to enable/disable DNS support in the VPC. Defaults to true. * * @return builder * @@ -435,6 +451,27 @@ public Builder enableDnsSupport(Boolean enableDnsSupport) { return enableDnsSupport(Output.of(enableDnsSupport)); } + /** + * @param enableNetworkAddressUsageMetrics Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + * + * @return builder + * + */ + public Builder enableNetworkAddressUsageMetrics(@Nullable Output enableNetworkAddressUsageMetrics) { + $.enableNetworkAddressUsageMetrics = enableNetworkAddressUsageMetrics; + return this; + } + + /** + * @param enableNetworkAddressUsageMetrics Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + * + * @return builder + * + */ + public Builder enableNetworkAddressUsageMetrics(Boolean enableNetworkAddressUsageMetrics) { + return enableNetworkAddressUsageMetrics(Output.of(enableNetworkAddressUsageMetrics)); + } + /** * @param instanceTenancy A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/DefaultVpcState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/DefaultVpcState.java index d106792f60e..142bfa26037 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/DefaultVpcState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/DefaultVpcState.java @@ -127,6 +127,13 @@ public Optional> enableDnsSupport() { return Optional.ofNullable(this.enableDnsSupport); } + @Import(name="enableNetworkAddressUsageMetrics") + private @Nullable Output enableNetworkAddressUsageMetrics; + + public Optional> enableNetworkAddressUsageMetrics() { + return Optional.ofNullable(this.enableNetworkAddressUsageMetrics); + } + @Import(name="existingDefaultVpc") private @Nullable Output existingDefaultVpc; @@ -241,6 +248,7 @@ private DefaultVpcState(DefaultVpcState $) { this.enableClassiclinkDnsSupport = $.enableClassiclinkDnsSupport; this.enableDnsHostnames = $.enableDnsHostnames; this.enableDnsSupport = $.enableDnsSupport; + this.enableNetworkAddressUsageMetrics = $.enableNetworkAddressUsageMetrics; this.existingDefaultVpc = $.existingDefaultVpc; this.forceDestroy = $.forceDestroy; this.instanceTenancy = $.instanceTenancy; @@ -416,6 +424,15 @@ public Builder enableDnsSupport(Boolean enableDnsSupport) { return enableDnsSupport(Output.of(enableDnsSupport)); } + public Builder enableNetworkAddressUsageMetrics(@Nullable Output enableNetworkAddressUsageMetrics) { + $.enableNetworkAddressUsageMetrics = enableNetworkAddressUsageMetrics; + return this; + } + + public Builder enableNetworkAddressUsageMetrics(Boolean enableNetworkAddressUsageMetrics) { + return enableNetworkAddressUsageMetrics(Output.of(enableNetworkAddressUsageMetrics)); + } + public Builder existingDefaultVpc(@Nullable Output existingDefaultVpc) { $.existingDefaultVpc = existingDefaultVpc; return this; diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetVpcIamPoolsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetVpcIamPoolsArgs.java new file mode 100644 index 00000000000..b2e98013ba0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetVpcIamPoolsArgs.java @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2.inputs; + +import com.pulumi.aws.ec2.inputs.GetVpcIamPoolsFilterArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetVpcIamPoolsArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetVpcIamPoolsArgs Empty = new GetVpcIamPoolsArgs(); + + /** + * Custom filter block as described below. + * + */ + @Import(name="filters") + private @Nullable Output> filters; + + /** + * @return Custom filter block as described below. + * + */ + public Optional>> filters() { + return Optional.ofNullable(this.filters); + } + + private GetVpcIamPoolsArgs() {} + + private GetVpcIamPoolsArgs(GetVpcIamPoolsArgs $) { + this.filters = $.filters; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetVpcIamPoolsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetVpcIamPoolsArgs $; + + public Builder() { + $ = new GetVpcIamPoolsArgs(); + } + + public Builder(GetVpcIamPoolsArgs defaults) { + $ = new GetVpcIamPoolsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param filters Custom filter block as described below. + * + * @return builder + * + */ + public Builder filters(@Nullable Output> filters) { + $.filters = filters; + return this; + } + + /** + * @param filters Custom filter block as described below. + * + * @return builder + * + */ + public Builder filters(List filters) { + return filters(Output.of(filters)); + } + + /** + * @param filters Custom filter block as described below. + * + * @return builder + * + */ + public Builder filters(GetVpcIamPoolsFilterArgs... filters) { + return filters(List.of(filters)); + } + + public GetVpcIamPoolsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetVpcIamPoolsFilter.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetVpcIamPoolsFilter.java new file mode 100644 index 00000000000..bc2c2b77a4c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetVpcIamPoolsFilter.java @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class GetVpcIamPoolsFilter extends com.pulumi.resources.InvokeArgs { + + public static final GetVpcIamPoolsFilter Empty = new GetVpcIamPoolsFilter(); + + @Import(name="name", required=true) + private String name; + + public String name() { + return this.name; + } + + @Import(name="values", required=true) + private List values; + + public List values() { + return this.values; + } + + private GetVpcIamPoolsFilter() {} + + private GetVpcIamPoolsFilter(GetVpcIamPoolsFilter $) { + this.name = $.name; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetVpcIamPoolsFilter defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetVpcIamPoolsFilter $; + + public Builder() { + $ = new GetVpcIamPoolsFilter(); + } + + public Builder(GetVpcIamPoolsFilter defaults) { + $ = new GetVpcIamPoolsFilter(Objects.requireNonNull(defaults)); + } + + public Builder name(String name) { + $.name = name; + return this; + } + + public Builder values(List values) { + $.values = values; + return this; + } + + public Builder values(String... values) { + return values(List.of(values)); + } + + public GetVpcIamPoolsFilter build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + $.values = Objects.requireNonNull($.values, "expected parameter 'values' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetVpcIamPoolsFilterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetVpcIamPoolsFilterArgs.java new file mode 100644 index 00000000000..dceff594dd8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetVpcIamPoolsFilterArgs.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class GetVpcIamPoolsFilterArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetVpcIamPoolsFilterArgs Empty = new GetVpcIamPoolsFilterArgs(); + + @Import(name="name", required=true) + private Output name; + + public Output name() { + return this.name; + } + + @Import(name="values", required=true) + private Output> values; + + public Output> values() { + return this.values; + } + + private GetVpcIamPoolsFilterArgs() {} + + private GetVpcIamPoolsFilterArgs(GetVpcIamPoolsFilterArgs $) { + this.name = $.name; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetVpcIamPoolsFilterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetVpcIamPoolsFilterArgs $; + + public Builder() { + $ = new GetVpcIamPoolsFilterArgs(); + } + + public Builder(GetVpcIamPoolsFilterArgs defaults) { + $ = new GetVpcIamPoolsFilterArgs(Objects.requireNonNull(defaults)); + } + + public Builder name(Output name) { + $.name = name; + return this; + } + + public Builder name(String name) { + return name(Output.of(name)); + } + + public Builder values(Output> values) { + $.values = values; + return this; + } + + public Builder values(List values) { + return values(Output.of(values)); + } + + public Builder values(String... values) { + return values(List.of(values)); + } + + public GetVpcIamPoolsFilterArgs build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + $.values = Objects.requireNonNull($.values, "expected parameter 'values' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetVpcIamPoolsPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetVpcIamPoolsPlainArgs.java new file mode 100644 index 00000000000..04a17be14e0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetVpcIamPoolsPlainArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2.inputs; + +import com.pulumi.aws.ec2.inputs.GetVpcIamPoolsFilter; +import com.pulumi.core.annotations.Import; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetVpcIamPoolsPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetVpcIamPoolsPlainArgs Empty = new GetVpcIamPoolsPlainArgs(); + + /** + * Custom filter block as described below. + * + */ + @Import(name="filters") + private @Nullable List filters; + + /** + * @return Custom filter block as described below. + * + */ + public Optional> filters() { + return Optional.ofNullable(this.filters); + } + + private GetVpcIamPoolsPlainArgs() {} + + private GetVpcIamPoolsPlainArgs(GetVpcIamPoolsPlainArgs $) { + this.filters = $.filters; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetVpcIamPoolsPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetVpcIamPoolsPlainArgs $; + + public Builder() { + $ = new GetVpcIamPoolsPlainArgs(); + } + + public Builder(GetVpcIamPoolsPlainArgs defaults) { + $ = new GetVpcIamPoolsPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param filters Custom filter block as described below. + * + * @return builder + * + */ + public Builder filters(@Nullable List filters) { + $.filters = filters; + return this; + } + + /** + * @param filters Custom filter block as described below. + * + * @return builder + * + */ + public Builder filters(GetVpcIamPoolsFilter... filters) { + return filters(List.of(filters)); + } + + public GetVpcIamPoolsPlainArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/NetworkInterfaceState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/NetworkInterfaceState.java index 396c5835f52..eaeb0b86417 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/NetworkInterfaceState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/NetworkInterfaceState.java @@ -125,9 +125,17 @@ public Optional> ipv6AddressCount() { return Optional.ofNullable(this.ipv6AddressCount); } + /** + * Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * + */ @Import(name="ipv6AddressListEnabled") private @Nullable Output ipv6AddressListEnabled; + /** + * @return Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * + */ public Optional> ipv6AddressListEnabled() { return Optional.ofNullable(this.ipv6AddressListEnabled); } @@ -594,11 +602,23 @@ public Builder ipv6AddressCount(Integer ipv6AddressCount) { return ipv6AddressCount(Output.of(ipv6AddressCount)); } + /** + * @param ipv6AddressListEnabled Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * + * @return builder + * + */ public Builder ipv6AddressListEnabled(@Nullable Output ipv6AddressListEnabled) { $.ipv6AddressListEnabled = ipv6AddressListEnabled; return this; } + /** + * @param ipv6AddressListEnabled Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * + * @return builder + * + */ public Builder ipv6AddressListEnabled(Boolean ipv6AddressListEnabled) { return ipv6AddressListEnabled(Output.of(ipv6AddressListEnabled)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcState.java index 7e2148cb9eb..a4312335f5d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcState.java @@ -183,20 +183,35 @@ public Optional> enableDnsHostnames() { } /** - * A boolean flag to enable/disable DNS support in the VPC. Defaults true. + * A boolean flag to enable/disable DNS support in the VPC. Defaults to true. * */ @Import(name="enableDnsSupport") private @Nullable Output enableDnsSupport; /** - * @return A boolean flag to enable/disable DNS support in the VPC. Defaults true. + * @return A boolean flag to enable/disable DNS support in the VPC. Defaults to true. * */ public Optional> enableDnsSupport() { return Optional.ofNullable(this.enableDnsSupport); } + /** + * Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + * + */ + @Import(name="enableNetworkAddressUsageMetrics") + private @Nullable Output enableNetworkAddressUsageMetrics; + + /** + * @return Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + * + */ + public Optional> enableNetworkAddressUsageMetrics() { + return Optional.ofNullable(this.enableNetworkAddressUsageMetrics); + } + /** * A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. * @@ -395,6 +410,7 @@ private VpcState(VpcState $) { this.enableClassiclinkDnsSupport = $.enableClassiclinkDnsSupport; this.enableDnsHostnames = $.enableDnsHostnames; this.enableDnsSupport = $.enableDnsSupport; + this.enableNetworkAddressUsageMetrics = $.enableNetworkAddressUsageMetrics; this.instanceTenancy = $.instanceTenancy; this.ipv4IpamPoolId = $.ipv4IpamPoolId; this.ipv4NetmaskLength = $.ipv4NetmaskLength; @@ -648,7 +664,7 @@ public Builder enableDnsHostnames(Boolean enableDnsHostnames) { } /** - * @param enableDnsSupport A boolean flag to enable/disable DNS support in the VPC. Defaults true. + * @param enableDnsSupport A boolean flag to enable/disable DNS support in the VPC. Defaults to true. * * @return builder * @@ -659,7 +675,7 @@ public Builder enableDnsSupport(@Nullable Output enableDnsSupport) { } /** - * @param enableDnsSupport A boolean flag to enable/disable DNS support in the VPC. Defaults true. + * @param enableDnsSupport A boolean flag to enable/disable DNS support in the VPC. Defaults to true. * * @return builder * @@ -668,6 +684,27 @@ public Builder enableDnsSupport(Boolean enableDnsSupport) { return enableDnsSupport(Output.of(enableDnsSupport)); } + /** + * @param enableNetworkAddressUsageMetrics Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + * + * @return builder + * + */ + public Builder enableNetworkAddressUsageMetrics(@Nullable Output enableNetworkAddressUsageMetrics) { + $.enableNetworkAddressUsageMetrics = enableNetworkAddressUsageMetrics; + return this; + } + + /** + * @param enableNetworkAddressUsageMetrics Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + * + * @return builder + * + */ + public Builder enableNetworkAddressUsageMetrics(Boolean enableNetworkAddressUsageMetrics) { + return enableNetworkAddressUsageMetrics(Output.of(enableNetworkAddressUsageMetrics)); + } + /** * @param instanceTenancy A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetVpcIamPoolsFilter.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetVpcIamPoolsFilter.java new file mode 100644 index 00000000000..0554d856cdd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetVpcIamPoolsFilter.java @@ -0,0 +1,62 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVpcIamPoolsFilter { + private String name; + private List values; + + private GetVpcIamPoolsFilter() {} + public String name() { + return this.name; + } + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVpcIamPoolsFilter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private List values; + public Builder() {} + public Builder(GetVpcIamPoolsFilter defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder values(List values) { + this.values = Objects.requireNonNull(values); + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetVpcIamPoolsFilter build() { + final var o = new GetVpcIamPoolsFilter(); + o.name = name; + o.values = values; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetVpcIamPoolsIpamPool.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetVpcIamPoolsIpamPool.java new file mode 100644 index 00000000000..24eee298ce5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetVpcIamPoolsIpamPool.java @@ -0,0 +1,387 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GetVpcIamPoolsIpamPool { + /** + * @return IP protocol assigned to this pool. + * + */ + private String addressFamily; + /** + * @return A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. + * + */ + private Integer allocationDefaultNetmaskLength; + /** + * @return The maximum netmask length that will be required for CIDR allocations in this pool. + * + */ + private Integer allocationMaxNetmaskLength; + /** + * @return The minimum netmask length that will be required for CIDR allocations in this pool. + * + */ + private Integer allocationMinNetmaskLength; + /** + * @return Tags that are required to create resources in using this pool. + * + */ + private Map allocationResourceTags; + /** + * @return ARN of the pool + * + */ + private String arn; + /** + * @return If enabled, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. + * + */ + private Boolean autoImport; + /** + * @return Limits which service in AWS that the pool can be used in. "ec2", for example, allows users to use space for Elastic IP addresses and VPCs. + * + */ + private String awsService; + /** + * @return Description for the IPAM pool. + * + */ + private String description; + /** + * @return ID of the IPAM pool. + * + */ + private @Nullable String id; + private String ipamPoolId; + /** + * @return ID of the scope the pool belongs to. + * + */ + private String ipamScopeId; + private String ipamScopeType; + /** + * @return Locale is the Region where your pool is available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region. + * + */ + private String locale; + private Integer poolDepth; + /** + * @return Defines whether or not IPv6 pool space is publicly ∂advertisable over the internet. + * + */ + private Boolean publiclyAdvertisable; + /** + * @return ID of the source IPAM pool. + * + */ + private String sourceIpamPoolId; + private String state; + /** + * @return Map of tags to assigned to the resource. + * + */ + private Map tags; + + private GetVpcIamPoolsIpamPool() {} + /** + * @return IP protocol assigned to this pool. + * + */ + public String addressFamily() { + return this.addressFamily; + } + /** + * @return A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. + * + */ + public Integer allocationDefaultNetmaskLength() { + return this.allocationDefaultNetmaskLength; + } + /** + * @return The maximum netmask length that will be required for CIDR allocations in this pool. + * + */ + public Integer allocationMaxNetmaskLength() { + return this.allocationMaxNetmaskLength; + } + /** + * @return The minimum netmask length that will be required for CIDR allocations in this pool. + * + */ + public Integer allocationMinNetmaskLength() { + return this.allocationMinNetmaskLength; + } + /** + * @return Tags that are required to create resources in using this pool. + * + */ + public Map allocationResourceTags() { + return this.allocationResourceTags; + } + /** + * @return ARN of the pool + * + */ + public String arn() { + return this.arn; + } + /** + * @return If enabled, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. + * + */ + public Boolean autoImport() { + return this.autoImport; + } + /** + * @return Limits which service in AWS that the pool can be used in. "ec2", for example, allows users to use space for Elastic IP addresses and VPCs. + * + */ + public String awsService() { + return this.awsService; + } + /** + * @return Description for the IPAM pool. + * + */ + public String description() { + return this.description; + } + /** + * @return ID of the IPAM pool. + * + */ + public Optional id() { + return Optional.ofNullable(this.id); + } + public String ipamPoolId() { + return this.ipamPoolId; + } + /** + * @return ID of the scope the pool belongs to. + * + */ + public String ipamScopeId() { + return this.ipamScopeId; + } + public String ipamScopeType() { + return this.ipamScopeType; + } + /** + * @return Locale is the Region where your pool is available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region. + * + */ + public String locale() { + return this.locale; + } + public Integer poolDepth() { + return this.poolDepth; + } + /** + * @return Defines whether or not IPv6 pool space is publicly ∂advertisable over the internet. + * + */ + public Boolean publiclyAdvertisable() { + return this.publiclyAdvertisable; + } + /** + * @return ID of the source IPAM pool. + * + */ + public String sourceIpamPoolId() { + return this.sourceIpamPoolId; + } + public String state() { + return this.state; + } + /** + * @return Map of tags to assigned to the resource. + * + */ + public Map tags() { + return this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVpcIamPoolsIpamPool defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String addressFamily; + private Integer allocationDefaultNetmaskLength; + private Integer allocationMaxNetmaskLength; + private Integer allocationMinNetmaskLength; + private Map allocationResourceTags; + private String arn; + private Boolean autoImport; + private String awsService; + private String description; + private @Nullable String id; + private String ipamPoolId; + private String ipamScopeId; + private String ipamScopeType; + private String locale; + private Integer poolDepth; + private Boolean publiclyAdvertisable; + private String sourceIpamPoolId; + private String state; + private Map tags; + public Builder() {} + public Builder(GetVpcIamPoolsIpamPool defaults) { + Objects.requireNonNull(defaults); + this.addressFamily = defaults.addressFamily; + this.allocationDefaultNetmaskLength = defaults.allocationDefaultNetmaskLength; + this.allocationMaxNetmaskLength = defaults.allocationMaxNetmaskLength; + this.allocationMinNetmaskLength = defaults.allocationMinNetmaskLength; + this.allocationResourceTags = defaults.allocationResourceTags; + this.arn = defaults.arn; + this.autoImport = defaults.autoImport; + this.awsService = defaults.awsService; + this.description = defaults.description; + this.id = defaults.id; + this.ipamPoolId = defaults.ipamPoolId; + this.ipamScopeId = defaults.ipamScopeId; + this.ipamScopeType = defaults.ipamScopeType; + this.locale = defaults.locale; + this.poolDepth = defaults.poolDepth; + this.publiclyAdvertisable = defaults.publiclyAdvertisable; + this.sourceIpamPoolId = defaults.sourceIpamPoolId; + this.state = defaults.state; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder addressFamily(String addressFamily) { + this.addressFamily = Objects.requireNonNull(addressFamily); + return this; + } + @CustomType.Setter + public Builder allocationDefaultNetmaskLength(Integer allocationDefaultNetmaskLength) { + this.allocationDefaultNetmaskLength = Objects.requireNonNull(allocationDefaultNetmaskLength); + return this; + } + @CustomType.Setter + public Builder allocationMaxNetmaskLength(Integer allocationMaxNetmaskLength) { + this.allocationMaxNetmaskLength = Objects.requireNonNull(allocationMaxNetmaskLength); + return this; + } + @CustomType.Setter + public Builder allocationMinNetmaskLength(Integer allocationMinNetmaskLength) { + this.allocationMinNetmaskLength = Objects.requireNonNull(allocationMinNetmaskLength); + return this; + } + @CustomType.Setter + public Builder allocationResourceTags(Map allocationResourceTags) { + this.allocationResourceTags = Objects.requireNonNull(allocationResourceTags); + return this; + } + @CustomType.Setter + public Builder arn(String arn) { + this.arn = Objects.requireNonNull(arn); + return this; + } + @CustomType.Setter + public Builder autoImport(Boolean autoImport) { + this.autoImport = Objects.requireNonNull(autoImport); + return this; + } + @CustomType.Setter + public Builder awsService(String awsService) { + this.awsService = Objects.requireNonNull(awsService); + return this; + } + @CustomType.Setter + public Builder description(String description) { + this.description = Objects.requireNonNull(description); + return this; + } + @CustomType.Setter + public Builder id(@Nullable String id) { + this.id = id; + return this; + } + @CustomType.Setter + public Builder ipamPoolId(String ipamPoolId) { + this.ipamPoolId = Objects.requireNonNull(ipamPoolId); + return this; + } + @CustomType.Setter + public Builder ipamScopeId(String ipamScopeId) { + this.ipamScopeId = Objects.requireNonNull(ipamScopeId); + return this; + } + @CustomType.Setter + public Builder ipamScopeType(String ipamScopeType) { + this.ipamScopeType = Objects.requireNonNull(ipamScopeType); + return this; + } + @CustomType.Setter + public Builder locale(String locale) { + this.locale = Objects.requireNonNull(locale); + return this; + } + @CustomType.Setter + public Builder poolDepth(Integer poolDepth) { + this.poolDepth = Objects.requireNonNull(poolDepth); + return this; + } + @CustomType.Setter + public Builder publiclyAdvertisable(Boolean publiclyAdvertisable) { + this.publiclyAdvertisable = Objects.requireNonNull(publiclyAdvertisable); + return this; + } + @CustomType.Setter + public Builder sourceIpamPoolId(String sourceIpamPoolId) { + this.sourceIpamPoolId = Objects.requireNonNull(sourceIpamPoolId); + return this; + } + @CustomType.Setter + public Builder state(String state) { + this.state = Objects.requireNonNull(state); + return this; + } + @CustomType.Setter + public Builder tags(Map tags) { + this.tags = Objects.requireNonNull(tags); + return this; + } + public GetVpcIamPoolsIpamPool build() { + final var o = new GetVpcIamPoolsIpamPool(); + o.addressFamily = addressFamily; + o.allocationDefaultNetmaskLength = allocationDefaultNetmaskLength; + o.allocationMaxNetmaskLength = allocationMaxNetmaskLength; + o.allocationMinNetmaskLength = allocationMinNetmaskLength; + o.allocationResourceTags = allocationResourceTags; + o.arn = arn; + o.autoImport = autoImport; + o.awsService = awsService; + o.description = description; + o.id = id; + o.ipamPoolId = ipamPoolId; + o.ipamScopeId = ipamScopeId; + o.ipamScopeType = ipamScopeType; + o.locale = locale; + o.poolDepth = poolDepth; + o.publiclyAdvertisable = publiclyAdvertisable; + o.sourceIpamPoolId = sourceIpamPoolId; + o.state = state; + o.tags = tags; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetVpcIamPoolsResult.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetVpcIamPoolsResult.java new file mode 100644 index 00000000000..888a553c9c4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetVpcIamPoolsResult.java @@ -0,0 +1,96 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2.outputs; + +import com.pulumi.aws.ec2.outputs.GetVpcIamPoolsFilter; +import com.pulumi.aws.ec2.outputs.GetVpcIamPoolsIpamPool; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class GetVpcIamPoolsResult { + private @Nullable List filters; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return List of IPAM pools and their attributes. See below for details + * + */ + private List ipamPools; + + private GetVpcIamPoolsResult() {} + public List filters() { + return this.filters == null ? List.of() : this.filters; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return List of IPAM pools and their attributes. See below for details + * + */ + public List ipamPools() { + return this.ipamPools; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVpcIamPoolsResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List filters; + private String id; + private List ipamPools; + public Builder() {} + public Builder(GetVpcIamPoolsResult defaults) { + Objects.requireNonNull(defaults); + this.filters = defaults.filters; + this.id = defaults.id; + this.ipamPools = defaults.ipamPools; + } + + @CustomType.Setter + public Builder filters(@Nullable List filters) { + this.filters = filters; + return this; + } + public Builder filters(GetVpcIamPoolsFilter... filters) { + return filters(List.of(filters)); + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder ipamPools(List ipamPools) { + this.ipamPools = Objects.requireNonNull(ipamPools); + return this; + } + public Builder ipamPools(GetVpcIamPoolsIpamPool... ipamPools) { + return ipamPools(List.of(ipamPools)); + } + public GetVpcIamPoolsResult build() { + final var o = new GetVpcIamPoolsResult(); + o.filters = filters; + o.id = id; + o.ipamPools = ipamPools; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetVpcResult.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetVpcResult.java index 83d31e4809d..8434e59d86d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetVpcResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetVpcResult.java @@ -38,6 +38,11 @@ public final class GetVpcResult { * */ private Boolean enableDnsSupport; + /** + * @return Whether Network Address Usage metrics are enabled for your VPC + * + */ + private Boolean enableNetworkAddressUsageMetrics; private @Nullable List filters; private String id; /** @@ -111,6 +116,13 @@ public Boolean enableDnsHostnames() { public Boolean enableDnsSupport() { return this.enableDnsSupport; } + /** + * @return Whether Network Address Usage metrics are enabled for your VPC + * + */ + public Boolean enableNetworkAddressUsageMetrics() { + return this.enableNetworkAddressUsageMetrics; + } public List filters() { return this.filters == null ? List.of() : this.filters; } @@ -180,6 +192,7 @@ public static final class Builder { private String dhcpOptionsId; private Boolean enableDnsHostnames; private Boolean enableDnsSupport; + private Boolean enableNetworkAddressUsageMetrics; private @Nullable List filters; private String id; private String instanceTenancy; @@ -199,6 +212,7 @@ public Builder(GetVpcResult defaults) { this.dhcpOptionsId = defaults.dhcpOptionsId; this.enableDnsHostnames = defaults.enableDnsHostnames; this.enableDnsSupport = defaults.enableDnsSupport; + this.enableNetworkAddressUsageMetrics = defaults.enableNetworkAddressUsageMetrics; this.filters = defaults.filters; this.id = defaults.id; this.instanceTenancy = defaults.instanceTenancy; @@ -249,6 +263,11 @@ public Builder enableDnsSupport(Boolean enableDnsSupport) { return this; } @CustomType.Setter + public Builder enableNetworkAddressUsageMetrics(Boolean enableNetworkAddressUsageMetrics) { + this.enableNetworkAddressUsageMetrics = Objects.requireNonNull(enableNetworkAddressUsageMetrics); + return this; + } + @CustomType.Setter public Builder filters(@Nullable List filters) { this.filters = filters; return this; @@ -305,6 +324,7 @@ public GetVpcResult build() { o.dhcpOptionsId = dhcpOptionsId; o.enableDnsHostnames = enableDnsHostnames; o.enableDnsSupport = enableDnsSupport; + o.enableNetworkAddressUsageMetrics = enableNetworkAddressUsageMetrics; o.filters = filters; o.id = id; o.instanceTenancy = instanceTenancy; diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Route.java b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Route.java index cae60a6ee44..bc8d7ff3f78 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Route.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Route.java @@ -100,14 +100,14 @@ public Output clientVpnEndpointId() { return this.clientVpnEndpointId; } /** - * A brief description of the authorization rule. + * A brief description of the route. * */ @Export(name="description", type=String.class, parameters={}) private Output description; /** - * @return A brief description of the authorization rule. + * @return A brief description of the route. * */ public Output> description() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/RouteArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/RouteArgs.java index c092e4c8b1f..650b52707ed 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/RouteArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/RouteArgs.java @@ -31,14 +31,14 @@ public Output clientVpnEndpointId() { } /** - * A brief description of the authorization rule. + * A brief description of the route. * */ @Import(name="description") private @Nullable Output description; /** - * @return A brief description of the authorization rule. + * @return A brief description of the route. * */ public Optional> description() { @@ -124,7 +124,7 @@ public Builder clientVpnEndpointId(String clientVpnEndpointId) { } /** - * @param description A brief description of the authorization rule. + * @param description A brief description of the route. * * @return builder * @@ -135,7 +135,7 @@ public Builder description(@Nullable Output description) { } /** - * @param description A brief description of the authorization rule. + * @param description A brief description of the route. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/inputs/RouteState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/inputs/RouteState.java index 22b2464ed66..516b0f8f0cd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/inputs/RouteState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/inputs/RouteState.java @@ -31,14 +31,14 @@ public Optional> clientVpnEndpointId() { } /** - * A brief description of the authorization rule. + * A brief description of the route. * */ @Import(name="description") private @Nullable Output description; /** - * @return A brief description of the authorization rule. + * @return A brief description of the route. * */ public Optional> description() { @@ -156,7 +156,7 @@ public Builder clientVpnEndpointId(String clientVpnEndpointId) { } /** - * @param description A brief description of the authorization rule. + * @param description A brief description of the route. * * @return builder * @@ -167,7 +167,7 @@ public Builder description(@Nullable Output description) { } /** - * @param description A brief description of the authorization rule. + * @param description A brief description of the route. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ElasticacheFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ElasticacheFunctions.java index 60ec71bda9a..b104601a2b4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ElasticacheFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ElasticacheFunctions.java @@ -21,7 +21,7 @@ public final class ElasticacheFunctions { /** - * Use this data source to get information about an Elasticache Cluster + * Use this data source to get information about an ElastiCache Cluster * * ## Example Usage * ```java @@ -58,7 +58,7 @@ public static Output getCluster(GetClusterArgs args) { return getCluster(args, InvokeOptions.Empty); } /** - * Use this data source to get information about an Elasticache Cluster + * Use this data source to get information about an ElastiCache Cluster * * ## Example Usage * ```java @@ -95,7 +95,7 @@ public static CompletableFuture getClusterPlain(GetClusterPlai return getClusterPlain(args, InvokeOptions.Empty); } /** - * Use this data source to get information about an Elasticache Cluster + * Use this data source to get information about an ElastiCache Cluster * * ## Example Usage * ```java @@ -132,7 +132,7 @@ public static Output getCluster(GetClusterArgs args, InvokeOpt return Deployment.getInstance().invoke("aws:elasticache/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); } /** - * Use this data source to get information about an Elasticache Cluster + * Use this data source to get information about an ElastiCache Cluster * * ## Example Usage * ```java @@ -169,7 +169,7 @@ public static CompletableFuture getClusterPlain(GetClusterPlai return Deployment.getInstance().invokeAsync("aws:elasticache/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); } /** - * Use this data source to get information about an Elasticache Replication Group. + * Use this data source to get information about an ElastiCache Replication Group. * * ## Example Usage * ```java @@ -206,7 +206,7 @@ public static Output getReplicationGroup(GetReplicati return getReplicationGroup(args, InvokeOptions.Empty); } /** - * Use this data source to get information about an Elasticache Replication Group. + * Use this data source to get information about an ElastiCache Replication Group. * * ## Example Usage * ```java @@ -243,7 +243,7 @@ public static CompletableFuture getReplicationGroupPl return getReplicationGroupPlain(args, InvokeOptions.Empty); } /** - * Use this data source to get information about an Elasticache Replication Group. + * Use this data source to get information about an ElastiCache Replication Group. * * ## Example Usage * ```java @@ -280,7 +280,7 @@ public static Output getReplicationGroup(GetReplicati return Deployment.getInstance().invoke("aws:elasticache/getReplicationGroup:getReplicationGroup", TypeShape.of(GetReplicationGroupResult.class), args, Utilities.withVersion(options)); } /** - * Use this data source to get information about an Elasticache Replication Group. + * Use this data source to get information about an ElastiCache Replication Group. * * ## Example Usage * ```java @@ -317,7 +317,7 @@ public static CompletableFuture getReplicationGroupPl return Deployment.getInstance().invokeAsync("aws:elasticache/getReplicationGroup:getReplicationGroup", TypeShape.of(GetReplicationGroupResult.class), args, Utilities.withVersion(options)); } /** - * Use this data source to get information about an Elasticache User. + * Use this data source to get information about an ElastiCache User. * * ## Example Usage * ```java @@ -354,7 +354,7 @@ public static Output getUser(GetUserArgs args) { return getUser(args, InvokeOptions.Empty); } /** - * Use this data source to get information about an Elasticache User. + * Use this data source to get information about an ElastiCache User. * * ## Example Usage * ```java @@ -391,7 +391,7 @@ public static CompletableFuture getUserPlain(GetUserPlainArgs arg return getUserPlain(args, InvokeOptions.Empty); } /** - * Use this data source to get information about an Elasticache User. + * Use this data source to get information about an ElastiCache User. * * ## Example Usage * ```java @@ -428,7 +428,7 @@ public static Output getUser(GetUserArgs args, InvokeOptions opti return Deployment.getInstance().invoke("aws:elasticache/getUser:getUser", TypeShape.of(GetUserResult.class), args, Utilities.withVersion(options)); } /** - * Use this data source to get information about an Elasticache User. + * Use this data source to get information about an ElastiCache User. * * ## Example Usage * ```java diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/GlobalReplicationGroup.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/GlobalReplicationGroup.java index f0353b3ff55..cdc9834a3c9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/GlobalReplicationGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/GlobalReplicationGroup.java @@ -70,14 +70,36 @@ public Output authTokenEnabled() { return this.authTokenEnabled; } /** - * The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + * When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + * + */ + @Export(name="automaticFailoverEnabled", type=Boolean.class, parameters={}) + private Output automaticFailoverEnabled; + + /** + * @return Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + * When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + * + */ + public Output automaticFailoverEnabled() { + return this.automaticFailoverEnabled; + } + /** + * The instance class used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + * and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * When creating, by default the Global Replication Group inherits the node type of the primary replication group. * */ @Export(name="cacheNodeType", type=String.class, parameters={}) private Output cacheNodeType; /** - * @return The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * @return The instance class used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + * and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * When creating, by default the Global Replication Group inherits the node type of the primary replication group. * */ public Output cacheNodeType() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/GlobalReplicationGroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/GlobalReplicationGroupArgs.java index 68d635f6b7d..e38ad88d814 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/GlobalReplicationGroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/GlobalReplicationGroupArgs.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Boolean; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -15,6 +16,44 @@ public final class GlobalReplicationGroupArgs extends com.pulumi.resources.Resou public static final GlobalReplicationGroupArgs Empty = new GlobalReplicationGroupArgs(); + /** + * Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + * When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + * + */ + @Import(name="automaticFailoverEnabled") + private @Nullable Output automaticFailoverEnabled; + + /** + * @return Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + * When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + * + */ + public Optional> automaticFailoverEnabled() { + return Optional.ofNullable(this.automaticFailoverEnabled); + } + + /** + * The instance class used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + * and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * When creating, by default the Global Replication Group inherits the node type of the primary replication group. + * + */ + @Import(name="cacheNodeType") + private @Nullable Output cacheNodeType; + + /** + * @return The instance class used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + * and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * When creating, by default the Global Replication Group inherits the node type of the primary replication group. + * + */ + public Optional> cacheNodeType() { + return Optional.ofNullable(this.cacheNodeType); + } + /** * Redis version to use for the Global Replication Group. * When creating, by default the Global Replication Group inherits the version of the primary replication group. @@ -111,6 +150,8 @@ public Output primaryReplicationGroupId() { private GlobalReplicationGroupArgs() {} private GlobalReplicationGroupArgs(GlobalReplicationGroupArgs $) { + this.automaticFailoverEnabled = $.automaticFailoverEnabled; + this.cacheNodeType = $.cacheNodeType; this.engineVersion = $.engineVersion; this.globalReplicationGroupDescription = $.globalReplicationGroupDescription; this.globalReplicationGroupIdSuffix = $.globalReplicationGroupIdSuffix; @@ -136,6 +177,56 @@ public Builder(GlobalReplicationGroupArgs defaults) { $ = new GlobalReplicationGroupArgs(Objects.requireNonNull(defaults)); } + /** + * @param automaticFailoverEnabled Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + * When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + * + * @return builder + * + */ + public Builder automaticFailoverEnabled(@Nullable Output automaticFailoverEnabled) { + $.automaticFailoverEnabled = automaticFailoverEnabled; + return this; + } + + /** + * @param automaticFailoverEnabled Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + * When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + * + * @return builder + * + */ + public Builder automaticFailoverEnabled(Boolean automaticFailoverEnabled) { + return automaticFailoverEnabled(Output.of(automaticFailoverEnabled)); + } + + /** + * @param cacheNodeType The instance class used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + * and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * When creating, by default the Global Replication Group inherits the node type of the primary replication group. + * + * @return builder + * + */ + public Builder cacheNodeType(@Nullable Output cacheNodeType) { + $.cacheNodeType = cacheNodeType; + return this; + } + + /** + * @param cacheNodeType The instance class used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + * and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * When creating, by default the Global Replication Group inherits the node type of the primary replication group. + * + * @return builder + * + */ + public Builder cacheNodeType(String cacheNodeType) { + return cacheNodeType(Output.of(cacheNodeType)); + } + /** * @param engineVersion Redis version to use for the Global Replication Group. * When creating, by default the Global Replication Group inherits the version of the primary replication group. diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ParameterGroup.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ParameterGroup.java index 9c65f75be4f..73d58c8e6b2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ParameterGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ParameterGroup.java @@ -20,7 +20,7 @@ /** * Provides an ElastiCache parameter group resource. * - * > **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an Elasticache API limitation. Leave that parameter configured with any value to workaround the issue. + * > **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an ElastiCache API limitation. Leave that parameter configured with any value to workaround the issue. * * ## Example Usage * ```java diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/SubnetGroup.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/SubnetGroup.java index 62cbdbb16f3..b014675606e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/SubnetGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/SubnetGroup.java @@ -101,14 +101,14 @@ public Output description() { return this.description; } /** - * Name for the cache subnet group. Elasticache converts this name to lowercase. + * Name for the cache subnet group. ElastiCache converts this name to lowercase. * */ @Export(name="name", type=String.class, parameters={}) private Output name; /** - * @return Name for the cache subnet group. Elasticache converts this name to lowercase. + * @return Name for the cache subnet group. ElastiCache converts this name to lowercase. * */ public Output name() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/SubnetGroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/SubnetGroupArgs.java index 33c27d6ac10..2817a689c8f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/SubnetGroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/SubnetGroupArgs.java @@ -34,14 +34,14 @@ public Optional> description() { } /** - * Name for the cache subnet group. Elasticache converts this name to lowercase. + * Name for the cache subnet group. ElastiCache converts this name to lowercase. * */ @Import(name="name") private @Nullable Output name; /** - * @return Name for the cache subnet group. Elasticache converts this name to lowercase. + * @return Name for the cache subnet group. ElastiCache converts this name to lowercase. * */ public Optional> name() { @@ -127,7 +127,7 @@ public Builder description(String description) { } /** - * @param name Name for the cache subnet group. Elasticache converts this name to lowercase. + * @param name Name for the cache subnet group. ElastiCache converts this name to lowercase. * * @return builder * @@ -138,7 +138,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name Name for the cache subnet group. Elasticache converts this name to lowercase. + * @param name Name for the cache subnet group. ElastiCache converts this name to lowercase. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/GlobalReplicationGroupState.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/GlobalReplicationGroupState.java index 762560f9924..c6f60c0e984 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/GlobalReplicationGroupState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/GlobalReplicationGroupState.java @@ -62,14 +62,37 @@ public Optional> authTokenEnabled() { } /** - * The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + * When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + * + */ + @Import(name="automaticFailoverEnabled") + private @Nullable Output automaticFailoverEnabled; + + /** + * @return Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + * When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + * + */ + public Optional> automaticFailoverEnabled() { + return Optional.ofNullable(this.automaticFailoverEnabled); + } + + /** + * The instance class used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + * and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * When creating, by default the Global Replication Group inherits the node type of the primary replication group. * */ @Import(name="cacheNodeType") private @Nullable Output cacheNodeType; /** - * @return The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * @return The instance class used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + * and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * When creating, by default the Global Replication Group inherits the node type of the primary replication group. * */ public Optional> cacheNodeType() { @@ -250,6 +273,7 @@ private GlobalReplicationGroupState(GlobalReplicationGroupState $) { this.arn = $.arn; this.atRestEncryptionEnabled = $.atRestEncryptionEnabled; this.authTokenEnabled = $.authTokenEnabled; + this.automaticFailoverEnabled = $.automaticFailoverEnabled; this.cacheNodeType = $.cacheNodeType; this.clusterEnabled = $.clusterEnabled; this.engine = $.engine; @@ -345,7 +369,33 @@ public Builder authTokenEnabled(Boolean authTokenEnabled) { } /** - * @param cacheNodeType The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * @param automaticFailoverEnabled Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + * When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + * + * @return builder + * + */ + public Builder automaticFailoverEnabled(@Nullable Output automaticFailoverEnabled) { + $.automaticFailoverEnabled = automaticFailoverEnabled; + return this; + } + + /** + * @param automaticFailoverEnabled Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + * When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + * + * @return builder + * + */ + public Builder automaticFailoverEnabled(Boolean automaticFailoverEnabled) { + return automaticFailoverEnabled(Output.of(automaticFailoverEnabled)); + } + + /** + * @param cacheNodeType The instance class used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + * and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * When creating, by default the Global Replication Group inherits the node type of the primary replication group. * * @return builder * @@ -356,7 +406,10 @@ public Builder cacheNodeType(@Nullable Output cacheNodeType) { } /** - * @param cacheNodeType The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * @param cacheNodeType The instance class used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + * and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * When creating, by default the Global Replication Group inherits the node type of the primary replication group. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/SubnetGroupState.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/SubnetGroupState.java index 2ffe15276ce..458018d8a6f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/SubnetGroupState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/SubnetGroupState.java @@ -41,14 +41,14 @@ public Optional> description() { } /** - * Name for the cache subnet group. Elasticache converts this name to lowercase. + * Name for the cache subnet group. ElastiCache converts this name to lowercase. * */ @Import(name="name") private @Nullable Output name; /** - * @return Name for the cache subnet group. Elasticache converts this name to lowercase. + * @return Name for the cache subnet group. ElastiCache converts this name to lowercase. * */ public Optional> name() { @@ -160,7 +160,7 @@ public Builder description(String description) { } /** - * @param name Name for the cache subnet group. Elasticache converts this name to lowercase. + * @param name Name for the cache subnet group. ElastiCache converts this name to lowercase. * * @return builder * @@ -171,7 +171,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name Name for the cache subnet group. Elasticache converts this name to lowercase. + * @param name Name for the cache subnet group. ElastiCache converts this name to lowercase. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/VirtualCluster.java b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/VirtualCluster.java index 8eb6e295b15..4cbea5b5f52 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/VirtualCluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/VirtualCluster.java @@ -63,10 +63,10 @@ * * ## Import * - * EKS Clusters can be imported using the `name`, e.g. + * EKS Clusters can be imported using the `id`, e.g. * * ```sh - * $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example + * $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example a1b2c3d4e5f6g7h8i9j10k11l * ``` * */ diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Accelerator.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Accelerator.java index 1737c1accfa..c9730b28c1d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Accelerator.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Accelerator.java @@ -53,6 +53,7 @@ * .build()) * .enabled(true) * .ipAddressType("IPV4") + * .ipAddresses("1.2.3.4") * .build()); * * } @@ -138,6 +139,20 @@ public Output hostedZoneId() { public Output> ipAddressType() { return Codegen.optional(this.ipAddressType); } + /** + * The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + * + */ + @Export(name="ipAddresses", type=List.class, parameters={String.class}) + private Output> ipAddresses; + + /** + * @return The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + * + */ + public Output>> ipAddresses() { + return Codegen.optional(this.ipAddresses); + } /** * IP address set associated with the accelerator. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/AcceleratorArgs.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/AcceleratorArgs.java index 67ae9210859..f086d18005c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/AcceleratorArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/AcceleratorArgs.java @@ -8,6 +8,7 @@ import com.pulumi.core.annotations.Import; import java.lang.Boolean; import java.lang.String; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; @@ -63,6 +64,21 @@ public Optional> ipAddressType() { return Optional.ofNullable(this.ipAddressType); } + /** + * The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + * + */ + @Import(name="ipAddresses") + private @Nullable Output> ipAddresses; + + /** + * @return The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + * + */ + public Optional>> ipAddresses() { + return Optional.ofNullable(this.ipAddresses); + } + /** * The name of the accelerator. * @@ -99,6 +115,7 @@ private AcceleratorArgs(AcceleratorArgs $) { this.attributes = $.attributes; this.enabled = $.enabled; this.ipAddressType = $.ipAddressType; + this.ipAddresses = $.ipAddresses; this.name = $.name; this.tags = $.tags; } @@ -184,6 +201,37 @@ public Builder ipAddressType(String ipAddressType) { return ipAddressType(Output.of(ipAddressType)); } + /** + * @param ipAddresses The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + * + * @return builder + * + */ + public Builder ipAddresses(@Nullable Output> ipAddresses) { + $.ipAddresses = ipAddresses; + return this; + } + + /** + * @param ipAddresses The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + * + * @return builder + * + */ + public Builder ipAddresses(List ipAddresses) { + return ipAddresses(Output.of(ipAddresses)); + } + + /** + * @param ipAddresses The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + * + * @return builder + * + */ + public Builder ipAddresses(String... ipAddresses) { + return ipAddresses(List.of(ipAddresses)); + } + /** * @param name The name of the accelerator. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/AcceleratorIpSetArgs.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/AcceleratorIpSetArgs.java index ac3a27af8c3..9904ece4082 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/AcceleratorIpSetArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/AcceleratorIpSetArgs.java @@ -17,14 +17,14 @@ public final class AcceleratorIpSetArgs extends com.pulumi.resources.ResourceArg public static final AcceleratorIpSetArgs Empty = new AcceleratorIpSetArgs(); /** - * A list of IP addresses in the IP address set. + * The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. * */ @Import(name="ipAddresses") private @Nullable Output> ipAddresses; /** - * @return A list of IP addresses in the IP address set. + * @return The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. * */ public Optional>> ipAddresses() { @@ -72,7 +72,7 @@ public Builder(AcceleratorIpSetArgs defaults) { } /** - * @param ipAddresses A list of IP addresses in the IP address set. + * @param ipAddresses The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. * * @return builder * @@ -83,7 +83,7 @@ public Builder ipAddresses(@Nullable Output> ipAddresses) { } /** - * @param ipAddresses A list of IP addresses in the IP address set. + * @param ipAddresses The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. * * @return builder * @@ -93,7 +93,7 @@ public Builder ipAddresses(List ipAddresses) { } /** - * @param ipAddresses A list of IP addresses in the IP address set. + * @param ipAddresses The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/AcceleratorState.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/AcceleratorState.java index 30e3bc25fe6..9ad6b146c02 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/AcceleratorState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/AcceleratorState.java @@ -93,6 +93,21 @@ public Optional> ipAddressType() { return Optional.ofNullable(this.ipAddressType); } + /** + * The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + * + */ + @Import(name="ipAddresses") + private @Nullable Output> ipAddresses; + + /** + * @return The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + * + */ + public Optional>> ipAddresses() { + return Optional.ofNullable(this.ipAddresses); + } + /** * IP address set associated with the accelerator. * @@ -161,6 +176,7 @@ private AcceleratorState(AcceleratorState $) { this.enabled = $.enabled; this.hostedZoneId = $.hostedZoneId; this.ipAddressType = $.ipAddressType; + this.ipAddresses = $.ipAddresses; this.ipSets = $.ipSets; this.name = $.name; this.tags = $.tags; @@ -284,6 +300,37 @@ public Builder ipAddressType(String ipAddressType) { return ipAddressType(Output.of(ipAddressType)); } + /** + * @param ipAddresses The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + * + * @return builder + * + */ + public Builder ipAddresses(@Nullable Output> ipAddresses) { + $.ipAddresses = ipAddresses; + return this; + } + + /** + * @param ipAddresses The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + * + * @return builder + * + */ + public Builder ipAddresses(List ipAddresses) { + return ipAddresses(Output.of(ipAddresses)); + } + + /** + * @param ipAddresses The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + * + * @return builder + * + */ + public Builder ipAddresses(String... ipAddresses) { + return ipAddresses(List.of(ipAddresses)); + } + /** * @param ipSets IP address set associated with the accelerator. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/outputs/AcceleratorIpSet.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/outputs/AcceleratorIpSet.java index 2a61dc1382e..0853b4d7e14 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/outputs/AcceleratorIpSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/outputs/AcceleratorIpSet.java @@ -13,7 +13,7 @@ @CustomType public final class AcceleratorIpSet { /** - * @return A list of IP addresses in the IP address set. + * @return The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. * */ private @Nullable List ipAddresses; @@ -25,7 +25,7 @@ public final class AcceleratorIpSet { private AcceleratorIpSet() {} /** - * @return A list of IP addresses in the IP address set. + * @return The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. * */ public List ipAddresses() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/Group.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/Group.java index 73d85bb847f..c915251c8dd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/identitystore/Group.java +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/Group.java @@ -87,14 +87,14 @@ public Output groupId() { return this.groupId; } /** - * The globally unique identifier for the identity store.. + * The globally unique identifier for the identity store. * */ @Export(name="identityStoreId", type=String.class, parameters={}) private Output identityStoreId; /** - * @return The globally unique identifier for the identity store.. + * @return The globally unique identifier for the identity store. * */ public Output identityStoreId() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/GroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/GroupArgs.java index ef302752608..db610b871ad 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/identitystore/GroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/GroupArgs.java @@ -46,14 +46,14 @@ public Output displayName() { } /** - * The globally unique identifier for the identity store.. + * The globally unique identifier for the identity store. * */ @Import(name="identityStoreId", required=true) private Output identityStoreId; /** - * @return The globally unique identifier for the identity store.. + * @return The globally unique identifier for the identity store. * */ public Output identityStoreId() { @@ -129,7 +129,7 @@ public Builder displayName(String displayName) { } /** - * @param identityStoreId The globally unique identifier for the identity store.. + * @param identityStoreId The globally unique identifier for the identity store. * * @return builder * @@ -140,7 +140,7 @@ public Builder identityStoreId(Output identityStoreId) { } /** - * @param identityStoreId The globally unique identifier for the identity store.. + * @param identityStoreId The globally unique identifier for the identity store. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GroupState.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GroupState.java index 6fb53dd52a1..ae7e590fe0e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GroupState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GroupState.java @@ -78,14 +78,14 @@ public Optional> groupId() { } /** - * The globally unique identifier for the identity store.. + * The globally unique identifier for the identity store. * */ @Import(name="identityStoreId") private @Nullable Output identityStoreId; /** - * @return The globally unique identifier for the identity store.. + * @return The globally unique identifier for the identity store. * */ public Optional> identityStoreId() { @@ -215,7 +215,7 @@ public Builder groupId(String groupId) { } /** - * @param identityStoreId The globally unique identifier for the identity store.. + * @param identityStoreId The globally unique identifier for the identity store. * * @return builder * @@ -226,7 +226,7 @@ public Builder identityStoreId(@Nullable Output identityStoreId) { } /** - * @param identityStoreId The globally unique identifier for the identity store.. + * @param identityStoreId The globally unique identifier for the identity store. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/UserExternalIdArgs.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/UserExternalIdArgs.java index 893f9e36ea8..19e25052c89 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/UserExternalIdArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/UserExternalIdArgs.java @@ -5,7 +5,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import java.lang.Boolean; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -21,13 +20,13 @@ public final class UserExternalIdArgs extends com.pulumi.resources.ResourceArgs * */ @Import(name="id") - private @Nullable Output id; + private @Nullable Output id; /** * @return The identifier issued to this resource by an external identity provider. * */ - public Optional> id() { + public Optional> id() { return Optional.ofNullable(this.id); } @@ -77,7 +76,7 @@ public Builder(UserExternalIdArgs defaults) { * @return builder * */ - public Builder id(@Nullable Output id) { + public Builder id(@Nullable Output id) { $.id = id; return this; } @@ -88,7 +87,7 @@ public Builder id(@Nullable Output id) { * @return builder * */ - public Builder id(Boolean id) { + public Builder id(String id) { return id(Output.of(id)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetUserExternalId.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetUserExternalId.java index 13c0cfdc914..b5545b51059 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetUserExternalId.java +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetUserExternalId.java @@ -4,7 +4,6 @@ package com.pulumi.aws.identitystore.outputs; import com.pulumi.core.annotations.CustomType; -import java.lang.Boolean; import java.lang.String; import java.util.Objects; @@ -14,7 +13,7 @@ public final class GetUserExternalId { * @return The identifier issued to this resource by an external identity provider. * */ - private Boolean id; + private String id; /** * @return The issuer for an external identifier. * @@ -26,7 +25,7 @@ private GetUserExternalId() {} * @return The identifier issued to this resource by an external identity provider. * */ - public Boolean id() { + public String id() { return this.id; } /** @@ -46,7 +45,7 @@ public static Builder builder(GetUserExternalId defaults) { } @CustomType.Builder public static final class Builder { - private Boolean id; + private String id; private String issuer; public Builder() {} public Builder(GetUserExternalId defaults) { @@ -56,7 +55,7 @@ public Builder(GetUserExternalId defaults) { } @CustomType.Setter - public Builder id(Boolean id) { + public Builder id(String id) { this.id = Objects.requireNonNull(id); return this; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/UserExternalId.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/UserExternalId.java index 6dca6c0c49f..d05c27786e4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/UserExternalId.java +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/UserExternalId.java @@ -4,7 +4,6 @@ package com.pulumi.aws.identitystore.outputs; import com.pulumi.core.annotations.CustomType; -import java.lang.Boolean; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -16,7 +15,7 @@ public final class UserExternalId { * @return The identifier issued to this resource by an external identity provider. * */ - private @Nullable Boolean id; + private @Nullable String id; /** * @return The issuer for an external identifier. * @@ -28,7 +27,7 @@ private UserExternalId() {} * @return The identifier issued to this resource by an external identity provider. * */ - public Optional id() { + public Optional id() { return Optional.ofNullable(this.id); } /** @@ -48,7 +47,7 @@ public static Builder builder(UserExternalId defaults) { } @CustomType.Builder public static final class Builder { - private @Nullable Boolean id; + private @Nullable String id; private @Nullable String issuer; public Builder() {} public Builder(UserExternalId defaults) { @@ -58,7 +57,7 @@ public Builder(UserExternalId defaults) { } @CustomType.Setter - public Builder id(@Nullable Boolean id) { + public Builder id(@Nullable String id) { this.id = id; return this; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/inspector2/DelegatedAdminAccount.java b/sdk/java/src/main/java/com/pulumi/aws/inspector2/DelegatedAdminAccount.java new file mode 100644 index 00000000000..3d5af2e5575 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/inspector2/DelegatedAdminAccount.java @@ -0,0 +1,139 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.inspector2; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.inspector2.DelegatedAdminAccountArgs; +import com.pulumi.aws.inspector2.inputs.DelegatedAdminAccountState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import javax.annotation.Nullable; + +/** + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.AwsFunctions; + * import com.pulumi.aws.inspector2.DelegatedAdminAccount; + * import com.pulumi.aws.inspector2.DelegatedAdminAccountArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var current = AwsFunctions.getCallerIdentity(); + * + * var example = new DelegatedAdminAccount("example", DelegatedAdminAccountArgs.builder() + * .accountId(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())) + * .build()); + * + * } + * } + * ``` + * + * ## Import + * + * Inspector V2 Delegated Admin Account can be imported using the `account_id`, e.g., + * + * ```sh + * $ pulumi import aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount example 012345678901 + * ``` + * + */ +@ResourceType(type="aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount") +public class DelegatedAdminAccount extends com.pulumi.resources.CustomResource { + /** + * Account to enable as delegated admin account. + * + */ + @Export(name="accountId", type=String.class, parameters={}) + private Output accountId; + + /** + * @return Account to enable as delegated admin account. + * + */ + public Output accountId() { + return this.accountId; + } + /** + * Status of this delegated admin account. + * + */ + @Export(name="relationshipStatus", type=String.class, parameters={}) + private Output relationshipStatus; + + /** + * @return Status of this delegated admin account. + * + */ + public Output relationshipStatus() { + return this.relationshipStatus; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public DelegatedAdminAccount(String name) { + this(name, DelegatedAdminAccountArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public DelegatedAdminAccount(String name, DelegatedAdminAccountArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public DelegatedAdminAccount(String name, DelegatedAdminAccountArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount", name, args == null ? DelegatedAdminAccountArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private DelegatedAdminAccount(String name, Output id, @Nullable DelegatedAdminAccountState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static DelegatedAdminAccount get(String name, Output id, @Nullable DelegatedAdminAccountState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new DelegatedAdminAccount(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/inspector2/DelegatedAdminAccountArgs.java b/sdk/java/src/main/java/com/pulumi/aws/inspector2/DelegatedAdminAccountArgs.java new file mode 100644 index 00000000000..7903ca7c884 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/inspector2/DelegatedAdminAccountArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.inspector2; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class DelegatedAdminAccountArgs extends com.pulumi.resources.ResourceArgs { + + public static final DelegatedAdminAccountArgs Empty = new DelegatedAdminAccountArgs(); + + /** + * Account to enable as delegated admin account. + * + */ + @Import(name="accountId", required=true) + private Output accountId; + + /** + * @return Account to enable as delegated admin account. + * + */ + public Output accountId() { + return this.accountId; + } + + private DelegatedAdminAccountArgs() {} + + private DelegatedAdminAccountArgs(DelegatedAdminAccountArgs $) { + this.accountId = $.accountId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DelegatedAdminAccountArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DelegatedAdminAccountArgs $; + + public Builder() { + $ = new DelegatedAdminAccountArgs(); + } + + public Builder(DelegatedAdminAccountArgs defaults) { + $ = new DelegatedAdminAccountArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param accountId Account to enable as delegated admin account. + * + * @return builder + * + */ + public Builder accountId(Output accountId) { + $.accountId = accountId; + return this; + } + + /** + * @param accountId Account to enable as delegated admin account. + * + * @return builder + * + */ + public Builder accountId(String accountId) { + return accountId(Output.of(accountId)); + } + + public DelegatedAdminAccountArgs build() { + $.accountId = Objects.requireNonNull($.accountId, "expected parameter 'accountId' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/inspector2/inputs/DelegatedAdminAccountState.java b/sdk/java/src/main/java/com/pulumi/aws/inspector2/inputs/DelegatedAdminAccountState.java new file mode 100644 index 00000000000..f71a235d1f3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/inspector2/inputs/DelegatedAdminAccountState.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.inspector2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DelegatedAdminAccountState extends com.pulumi.resources.ResourceArgs { + + public static final DelegatedAdminAccountState Empty = new DelegatedAdminAccountState(); + + /** + * Account to enable as delegated admin account. + * + */ + @Import(name="accountId") + private @Nullable Output accountId; + + /** + * @return Account to enable as delegated admin account. + * + */ + public Optional> accountId() { + return Optional.ofNullable(this.accountId); + } + + /** + * Status of this delegated admin account. + * + */ + @Import(name="relationshipStatus") + private @Nullable Output relationshipStatus; + + /** + * @return Status of this delegated admin account. + * + */ + public Optional> relationshipStatus() { + return Optional.ofNullable(this.relationshipStatus); + } + + private DelegatedAdminAccountState() {} + + private DelegatedAdminAccountState(DelegatedAdminAccountState $) { + this.accountId = $.accountId; + this.relationshipStatus = $.relationshipStatus; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DelegatedAdminAccountState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DelegatedAdminAccountState $; + + public Builder() { + $ = new DelegatedAdminAccountState(); + } + + public Builder(DelegatedAdminAccountState defaults) { + $ = new DelegatedAdminAccountState(Objects.requireNonNull(defaults)); + } + + /** + * @param accountId Account to enable as delegated admin account. + * + * @return builder + * + */ + public Builder accountId(@Nullable Output accountId) { + $.accountId = accountId; + return this; + } + + /** + * @param accountId Account to enable as delegated admin account. + * + * @return builder + * + */ + public Builder accountId(String accountId) { + return accountId(Output.of(accountId)); + } + + /** + * @param relationshipStatus Status of this delegated admin account. + * + * @return builder + * + */ + public Builder relationshipStatus(@Nullable Output relationshipStatus) { + $.relationshipStatus = relationshipStatus; + return this; + } + + /** + * @param relationshipStatus Status of this delegated admin account. + * + * @return builder + * + */ + public Builder relationshipStatus(String relationshipStatus) { + return relationshipStatus(Output.of(relationshipStatus)); + } + + public DelegatedAdminAccountState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Link.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Link.java index 3bbfce60bde..e84075d04bf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Link.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/Link.java @@ -44,7 +44,7 @@ * public static void stack(Context ctx) { * var example = new Link("example", LinkArgs.builder() * .globalNetworkId(aws_networkmanager_global_network.example().id()) - * .siteId(aws_networkmanager_global_site.example().id()) + * .siteId(aws_networkmanager_site.example().id()) * .bandwidth(LinkBandwidthArgs.builder() * .uploadSpeed(10) * .downloadSpeed(50) diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/CustomLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/CustomLayer.java index a8ac68358fe..87d348e4155 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/CustomLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/CustomLayer.java @@ -8,6 +8,7 @@ import com.pulumi.aws.opsworks.inputs.CustomLayerState; import com.pulumi.aws.opsworks.outputs.CustomLayerCloudwatchConfiguration; import com.pulumi.aws.opsworks.outputs.CustomLayerEbsVolume; +import com.pulumi.aws.opsworks.outputs.CustomLayerLoadBasedAutoScaling; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -277,6 +278,20 @@ public Output> installUpdatesOnBoot() { public Output> instanceShutdownTimeout() { return Codegen.optional(this.instanceShutdownTimeout); } + /** + * Load-based auto scaling configuration. See Load Based AutoScaling + * + */ + @Export(name="loadBasedAutoScaling", type=CustomLayerLoadBasedAutoScaling.class, parameters={}) + private Output loadBasedAutoScaling; + + /** + * @return Load-based auto scaling configuration. See Load Based AutoScaling + * + */ + public Output loadBasedAutoScaling() { + return this.loadBasedAutoScaling; + } /** * A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/CustomLayerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/CustomLayerArgs.java index 69c8074fe90..769d338e62d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/CustomLayerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/CustomLayerArgs.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.CustomLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.CustomLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.CustomLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -236,6 +237,21 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + /** + * Load-based auto scaling configuration. See Load Based AutoScaling + * + */ + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + /** + * @return Load-based auto scaling configuration. See Load Based AutoScaling + * + */ + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -346,6 +362,7 @@ private CustomLayerArgs(CustomLayerArgs $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.shortName = $.shortName; this.stackId = $.stackId; @@ -709,6 +726,27 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + /** + * @param loadBasedAutoScaling Load-based auto scaling configuration. See Load Based AutoScaling + * + * @return builder + * + */ + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + /** + * @param loadBasedAutoScaling Load-based auto scaling configuration. See Load Based AutoScaling + * + * @return builder + * + */ + public Builder loadBasedAutoScaling(CustomLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/EcsClusterLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/EcsClusterLayer.java index d1cbf2dfa91..ef8bf0c6251 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/EcsClusterLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/EcsClusterLayer.java @@ -8,6 +8,7 @@ import com.pulumi.aws.opsworks.inputs.EcsClusterLayerState; import com.pulumi.aws.opsworks.outputs.EcsClusterLayerCloudwatchConfiguration; import com.pulumi.aws.opsworks.outputs.EcsClusterLayerEbsVolume; +import com.pulumi.aws.opsworks.outputs.EcsClusterLayerLoadBasedAutoScaling; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -275,6 +276,12 @@ public Output> installUpdatesOnBoot() { public Output> instanceShutdownTimeout() { return Codegen.optional(this.instanceShutdownTimeout); } + @Export(name="loadBasedAutoScaling", type=EcsClusterLayerLoadBasedAutoScaling.class, parameters={}) + private Output loadBasedAutoScaling; + + public Output loadBasedAutoScaling() { + return this.loadBasedAutoScaling; + } /** * A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/EcsClusterLayerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/EcsClusterLayerArgs.java index 36a30e291ef..5f110fb4b05 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/EcsClusterLayerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/EcsClusterLayerArgs.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.EcsClusterLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.EcsClusterLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.EcsClusterLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -243,6 +244,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -339,6 +347,7 @@ private EcsClusterLayerArgs(EcsClusterLayerArgs $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.stackId = $.stackId; this.systemPackages = $.systemPackages; @@ -710,6 +719,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(EcsClusterLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/GangliaLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/GangliaLayer.java index a250afa7ecc..f0cce1ee9a5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/GangliaLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/GangliaLayer.java @@ -8,6 +8,7 @@ import com.pulumi.aws.opsworks.inputs.GangliaLayerState; import com.pulumi.aws.opsworks.outputs.GangliaLayerCloudwatchConfiguration; import com.pulumi.aws.opsworks.outputs.GangliaLayerEbsVolume; +import com.pulumi.aws.opsworks.outputs.GangliaLayerLoadBasedAutoScaling; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -261,6 +262,12 @@ public Output> installUpdatesOnBoot() { public Output> instanceShutdownTimeout() { return Codegen.optional(this.instanceShutdownTimeout); } + @Export(name="loadBasedAutoScaling", type=GangliaLayerLoadBasedAutoScaling.class, parameters={}) + private Output loadBasedAutoScaling; + + public Output loadBasedAutoScaling() { + return this.loadBasedAutoScaling; + } /** * A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/GangliaLayerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/GangliaLayerArgs.java index 206a4cfd41b..1a4fa11d246 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/GangliaLayerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/GangliaLayerArgs.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.GangliaLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.GangliaLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.GangliaLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -228,6 +229,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -368,6 +376,7 @@ private GangliaLayerArgs(GangliaLayerArgs $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.password = $.password; this.stackId = $.stackId; @@ -721,6 +730,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(GangliaLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/HaproxyLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/HaproxyLayer.java index 84ca30a88f5..b54ccb4a03b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/HaproxyLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/HaproxyLayer.java @@ -8,6 +8,7 @@ import com.pulumi.aws.opsworks.inputs.HaproxyLayerState; import com.pulumi.aws.opsworks.outputs.HaproxyLayerCloudwatchConfiguration; import com.pulumi.aws.opsworks.outputs.HaproxyLayerEbsVolume; +import com.pulumi.aws.opsworks.outputs.HaproxyLayerLoadBasedAutoScaling; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -289,6 +290,12 @@ public Output> installUpdatesOnBoot() { public Output> instanceShutdownTimeout() { return Codegen.optional(this.instanceShutdownTimeout); } + @Export(name="loadBasedAutoScaling", type=HaproxyLayerLoadBasedAutoScaling.class, parameters={}) + private Output loadBasedAutoScaling; + + public Output loadBasedAutoScaling() { + return this.loadBasedAutoScaling; + } /** * A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/HaproxyLayerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/HaproxyLayerArgs.java index ae251ed7613..a175db025c4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/HaproxyLayerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/HaproxyLayerArgs.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.HaproxyLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.HaproxyLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.HaproxyLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -258,6 +259,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -415,6 +423,7 @@ private HaproxyLayerArgs(HaproxyLayerArgs $) { this.healthcheckUrl = $.healthcheckUrl; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.stackId = $.stackId; this.statsEnabled = $.statsEnabled; @@ -811,6 +820,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(HaproxyLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/JavaAppLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/JavaAppLayer.java index 971be7a1e58..606591b8c2e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/JavaAppLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/JavaAppLayer.java @@ -8,6 +8,7 @@ import com.pulumi.aws.opsworks.inputs.JavaAppLayerState; import com.pulumi.aws.opsworks.outputs.JavaAppLayerCloudwatchConfiguration; import com.pulumi.aws.opsworks.outputs.JavaAppLayerEbsVolume; +import com.pulumi.aws.opsworks.outputs.JavaAppLayerLoadBasedAutoScaling; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -330,6 +331,12 @@ public Output> jvmType() { public Output> jvmVersion() { return Codegen.optional(this.jvmVersion); } + @Export(name="loadBasedAutoScaling", type=JavaAppLayerLoadBasedAutoScaling.class, parameters={}) + private Output loadBasedAutoScaling; + + public Output loadBasedAutoScaling() { + return this.loadBasedAutoScaling; + } /** * A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/JavaAppLayerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/JavaAppLayerArgs.java index 709d13753ad..287784fabc6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/JavaAppLayerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/JavaAppLayerArgs.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.JavaAppLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.JavaAppLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.JavaAppLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -303,6 +304,13 @@ public Optional> jvmVersion() { return Optional.ofNullable(this.jvmVersion); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -403,6 +411,7 @@ private JavaAppLayerArgs(JavaAppLayerArgs $) { this.jvmOptions = $.jvmOptions; this.jvmType = $.jvmType; this.jvmVersion = $.jvmVersion; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.stackId = $.stackId; this.systemPackages = $.systemPackages; @@ -858,6 +867,15 @@ public Builder jvmVersion(String jvmVersion) { return jvmVersion(Output.of(jvmVersion)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(JavaAppLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/MemcachedLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/MemcachedLayer.java index c5dcee283d3..e1b86db7160 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/MemcachedLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/MemcachedLayer.java @@ -8,6 +8,7 @@ import com.pulumi.aws.opsworks.inputs.MemcachedLayerState; import com.pulumi.aws.opsworks.outputs.MemcachedLayerCloudwatchConfiguration; import com.pulumi.aws.opsworks.outputs.MemcachedLayerEbsVolume; +import com.pulumi.aws.opsworks.outputs.MemcachedLayerLoadBasedAutoScaling; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -274,6 +275,12 @@ public Output> installUpdatesOnBoot() { public Output> instanceShutdownTimeout() { return Codegen.optional(this.instanceShutdownTimeout); } + @Export(name="loadBasedAutoScaling", type=MemcachedLayerLoadBasedAutoScaling.class, parameters={}) + private Output loadBasedAutoScaling; + + public Output loadBasedAutoScaling() { + return this.loadBasedAutoScaling; + } /** * A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/MemcachedLayerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/MemcachedLayerArgs.java index b9bfd9ca55f..a8ddeeaad63 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/MemcachedLayerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/MemcachedLayerArgs.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.MemcachedLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.MemcachedLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.MemcachedLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -243,6 +244,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -339,6 +347,7 @@ private MemcachedLayerArgs(MemcachedLayerArgs $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.stackId = $.stackId; this.systemPackages = $.systemPackages; @@ -710,6 +719,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(MemcachedLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/MysqlLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/MysqlLayer.java index a57b646483c..214c7445554 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/MysqlLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/MysqlLayer.java @@ -8,6 +8,7 @@ import com.pulumi.aws.opsworks.inputs.MysqlLayerState; import com.pulumi.aws.opsworks.outputs.MysqlLayerCloudwatchConfiguration; import com.pulumi.aws.opsworks.outputs.MysqlLayerEbsVolume; +import com.pulumi.aws.opsworks.outputs.MysqlLayerLoadBasedAutoScaling; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -260,6 +261,12 @@ public Output> installUpdatesOnBoot() { public Output> instanceShutdownTimeout() { return Codegen.optional(this.instanceShutdownTimeout); } + @Export(name="loadBasedAutoScaling", type=MysqlLayerLoadBasedAutoScaling.class, parameters={}) + private Output loadBasedAutoScaling; + + public Output loadBasedAutoScaling() { + return this.loadBasedAutoScaling; + } /** * A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/MysqlLayerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/MysqlLayerArgs.java index 0f467c017d9..8379fe8b5d9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/MysqlLayerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/MysqlLayerArgs.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.MysqlLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.MysqlLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.MysqlLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -228,6 +229,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -353,6 +361,7 @@ private MysqlLayerArgs(MysqlLayerArgs $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.rootPassword = $.rootPassword; this.rootPasswordOnAllInstances = $.rootPasswordOnAllInstances; @@ -705,6 +714,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(MysqlLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/NodejsAppLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/NodejsAppLayer.java index 5571f90a777..3f47ef8ea64 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/NodejsAppLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/NodejsAppLayer.java @@ -8,6 +8,7 @@ import com.pulumi.aws.opsworks.inputs.NodejsAppLayerState; import com.pulumi.aws.opsworks.outputs.NodejsAppLayerCloudwatchConfiguration; import com.pulumi.aws.opsworks.outputs.NodejsAppLayerEbsVolume; +import com.pulumi.aws.opsworks.outputs.NodejsAppLayerLoadBasedAutoScaling; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -260,6 +261,12 @@ public Output> installUpdatesOnBoot() { public Output> instanceShutdownTimeout() { return Codegen.optional(this.instanceShutdownTimeout); } + @Export(name="loadBasedAutoScaling", type=NodejsAppLayerLoadBasedAutoScaling.class, parameters={}) + private Output loadBasedAutoScaling; + + public Output loadBasedAutoScaling() { + return this.loadBasedAutoScaling; + } /** * A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/NodejsAppLayerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/NodejsAppLayerArgs.java index 5b7fd9d261b..b8f0e0645db 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/NodejsAppLayerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/NodejsAppLayerArgs.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.NodejsAppLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.NodejsAppLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.NodejsAppLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -228,6 +229,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -338,6 +346,7 @@ private NodejsAppLayerArgs(NodejsAppLayerArgs $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.nodejsVersion = $.nodejsVersion; this.stackId = $.stackId; @@ -689,6 +698,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(NodejsAppLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/PhpAppLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/PhpAppLayer.java index d7ff6a6703f..f47687762b9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/PhpAppLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/PhpAppLayer.java @@ -8,6 +8,7 @@ import com.pulumi.aws.opsworks.inputs.PhpAppLayerState; import com.pulumi.aws.opsworks.outputs.PhpAppLayerCloudwatchConfiguration; import com.pulumi.aws.opsworks.outputs.PhpAppLayerEbsVolume; +import com.pulumi.aws.opsworks.outputs.PhpAppLayerLoadBasedAutoScaling; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -268,6 +269,12 @@ public Output> installUpdatesOnBoot() { public Output> instanceShutdownTimeout() { return Codegen.optional(this.instanceShutdownTimeout); } + @Export(name="loadBasedAutoScaling", type=PhpAppLayerLoadBasedAutoScaling.class, parameters={}) + private Output loadBasedAutoScaling; + + public Output loadBasedAutoScaling() { + return this.loadBasedAutoScaling; + } /** * A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/PhpAppLayerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/PhpAppLayerArgs.java index 1b4c895f397..e02f62eb42e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/PhpAppLayerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/PhpAppLayerArgs.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.PhpAppLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.PhpAppLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.PhpAppLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -228,6 +229,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -323,6 +331,7 @@ private PhpAppLayerArgs(PhpAppLayerArgs $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.stackId = $.stackId; this.systemPackages = $.systemPackages; @@ -673,6 +682,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(PhpAppLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/RailsAppLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/RailsAppLayer.java index dcd4957a768..b5f9f0af269 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/RailsAppLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/RailsAppLayer.java @@ -8,6 +8,7 @@ import com.pulumi.aws.opsworks.inputs.RailsAppLayerState; import com.pulumi.aws.opsworks.outputs.RailsAppLayerCloudwatchConfiguration; import com.pulumi.aws.opsworks.outputs.RailsAppLayerEbsVolume; +import com.pulumi.aws.opsworks.outputs.RailsAppLayerLoadBasedAutoScaling; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -288,6 +289,12 @@ public Output> installUpdatesOnBoot() { public Output> instanceShutdownTimeout() { return Codegen.optional(this.instanceShutdownTimeout); } + @Export(name="loadBasedAutoScaling", type=RailsAppLayerLoadBasedAutoScaling.class, parameters={}) + private Output loadBasedAutoScaling; + + public Output loadBasedAutoScaling() { + return this.loadBasedAutoScaling; + } /** * Whether OpsWorks should manage bundler. On by default. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/RailsAppLayerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/RailsAppLayerArgs.java index 91cf8d2f343..ead9ba26130 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/RailsAppLayerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/RailsAppLayerArgs.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.RailsAppLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.RailsAppLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.RailsAppLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -258,6 +259,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * Whether OpsWorks should manage bundler. On by default. * @@ -415,6 +423,7 @@ private RailsAppLayerArgs(RailsAppLayerArgs $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.manageBundler = $.manageBundler; this.name = $.name; this.passengerVersion = $.passengerVersion; @@ -811,6 +820,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(RailsAppLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param manageBundler Whether OpsWorks should manage bundler. On by default. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/StaticWebLayer.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/StaticWebLayer.java index fd347ca8440..860d2735490 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/StaticWebLayer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/StaticWebLayer.java @@ -8,6 +8,7 @@ import com.pulumi.aws.opsworks.inputs.StaticWebLayerState; import com.pulumi.aws.opsworks.outputs.StaticWebLayerCloudwatchConfiguration; import com.pulumi.aws.opsworks.outputs.StaticWebLayerEbsVolume; +import com.pulumi.aws.opsworks.outputs.StaticWebLayerLoadBasedAutoScaling; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -260,6 +261,12 @@ public Output> installUpdatesOnBoot() { public Output> instanceShutdownTimeout() { return Codegen.optional(this.instanceShutdownTimeout); } + @Export(name="loadBasedAutoScaling", type=StaticWebLayerLoadBasedAutoScaling.class, parameters={}) + private Output loadBasedAutoScaling; + + public Output loadBasedAutoScaling() { + return this.loadBasedAutoScaling; + } /** * A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/StaticWebLayerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/StaticWebLayerArgs.java index e06e5a07e39..d6cdedaf9c4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/StaticWebLayerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/StaticWebLayerArgs.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.StaticWebLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.StaticWebLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.StaticWebLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -220,6 +221,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -315,6 +323,7 @@ private StaticWebLayerArgs(StaticWebLayerArgs $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.stackId = $.stackId; this.systemPackages = $.systemPackages; @@ -653,6 +662,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(StaticWebLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/CustomLayerLoadBasedAutoScalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/CustomLayerLoadBasedAutoScalingArgs.java new file mode 100644 index 00000000000..453e48dfe48 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/CustomLayerLoadBasedAutoScalingArgs.java @@ -0,0 +1,159 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.aws.opsworks.inputs.CustomLayerLoadBasedAutoScalingDownscalingArgs; +import com.pulumi.aws.opsworks.inputs.CustomLayerLoadBasedAutoScalingUpscalingArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CustomLayerLoadBasedAutoScalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final CustomLayerLoadBasedAutoScalingArgs Empty = new CustomLayerLoadBasedAutoScalingArgs(); + + /** + * The downscaling settings, as defined below, used for load-based autoscaling + * + */ + @Import(name="downscaling") + private @Nullable Output downscaling; + + /** + * @return The downscaling settings, as defined below, used for load-based autoscaling + * + */ + public Optional> downscaling() { + return Optional.ofNullable(this.downscaling); + } + + /** + * Whether load-based auto scaling is enabled for the layer. + * + */ + @Import(name="enable") + private @Nullable Output enable; + + /** + * @return Whether load-based auto scaling is enabled for the layer. + * + */ + public Optional> enable() { + return Optional.ofNullable(this.enable); + } + + /** + * The upscaling settings, as defined below, used for load-based autoscaling + * + */ + @Import(name="upscaling") + private @Nullable Output upscaling; + + /** + * @return The upscaling settings, as defined below, used for load-based autoscaling + * + */ + public Optional> upscaling() { + return Optional.ofNullable(this.upscaling); + } + + private CustomLayerLoadBasedAutoScalingArgs() {} + + private CustomLayerLoadBasedAutoScalingArgs(CustomLayerLoadBasedAutoScalingArgs $) { + this.downscaling = $.downscaling; + this.enable = $.enable; + this.upscaling = $.upscaling; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CustomLayerLoadBasedAutoScalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CustomLayerLoadBasedAutoScalingArgs $; + + public Builder() { + $ = new CustomLayerLoadBasedAutoScalingArgs(); + } + + public Builder(CustomLayerLoadBasedAutoScalingArgs defaults) { + $ = new CustomLayerLoadBasedAutoScalingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param downscaling The downscaling settings, as defined below, used for load-based autoscaling + * + * @return builder + * + */ + public Builder downscaling(@Nullable Output downscaling) { + $.downscaling = downscaling; + return this; + } + + /** + * @param downscaling The downscaling settings, as defined below, used for load-based autoscaling + * + * @return builder + * + */ + public Builder downscaling(CustomLayerLoadBasedAutoScalingDownscalingArgs downscaling) { + return downscaling(Output.of(downscaling)); + } + + /** + * @param enable Whether load-based auto scaling is enabled for the layer. + * + * @return builder + * + */ + public Builder enable(@Nullable Output enable) { + $.enable = enable; + return this; + } + + /** + * @param enable Whether load-based auto scaling is enabled for the layer. + * + * @return builder + * + */ + public Builder enable(Boolean enable) { + return enable(Output.of(enable)); + } + + /** + * @param upscaling The upscaling settings, as defined below, used for load-based autoscaling + * + * @return builder + * + */ + public Builder upscaling(@Nullable Output upscaling) { + $.upscaling = upscaling; + return this; + } + + /** + * @param upscaling The upscaling settings, as defined below, used for load-based autoscaling + * + * @return builder + * + */ + public Builder upscaling(CustomLayerLoadBasedAutoScalingUpscalingArgs upscaling) { + return upscaling(Output.of(upscaling)); + } + + public CustomLayerLoadBasedAutoScalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/CustomLayerLoadBasedAutoScalingDownscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/CustomLayerLoadBasedAutoScalingDownscalingArgs.java new file mode 100644 index 00000000000..7b13b4dafd9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/CustomLayerLoadBasedAutoScalingDownscalingArgs.java @@ -0,0 +1,318 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CustomLayerLoadBasedAutoScalingDownscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final CustomLayerLoadBasedAutoScalingDownscalingArgs Empty = new CustomLayerLoadBasedAutoScalingDownscalingArgs(); + + /** + * Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + * + */ + @Import(name="alarms") + private @Nullable Output> alarms; + + /** + * @return Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + * + */ + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + /** + * The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + * + */ + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + /** + * @return The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + * + */ + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + /** + * The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + * + */ + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + /** + * @return The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + * + */ + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + /** + * The number of instances to add or remove when the load exceeds a threshold. + * + */ + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + /** + * @return The number of instances to add or remove when the load exceeds a threshold. + * + */ + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + /** + * The load threshold. A value of -1 disables the threshold. + * + */ + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + /** + * @return The load threshold. A value of -1 disables the threshold. + * + */ + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + /** + * The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + * + */ + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + /** + * @return The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + * + */ + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + /** + * The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + * + */ + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + /** + * @return The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + * + */ + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private CustomLayerLoadBasedAutoScalingDownscalingArgs() {} + + private CustomLayerLoadBasedAutoScalingDownscalingArgs(CustomLayerLoadBasedAutoScalingDownscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CustomLayerLoadBasedAutoScalingDownscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CustomLayerLoadBasedAutoScalingDownscalingArgs $; + + public Builder() { + $ = new CustomLayerLoadBasedAutoScalingDownscalingArgs(); + } + + public Builder(CustomLayerLoadBasedAutoScalingDownscalingArgs defaults) { + $ = new CustomLayerLoadBasedAutoScalingDownscalingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param alarms Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + * + * @return builder + * + */ + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + /** + * @param alarms Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + * + * @return builder + * + */ + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + /** + * @param alarms Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + * + * @return builder + * + */ + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + /** + * @param cpuThreshold The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + * + * @return builder + * + */ + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + /** + * @param cpuThreshold The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + * + * @return builder + * + */ + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + /** + * @param ignoreMetricsTime The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + * + * @return builder + * + */ + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + /** + * @param ignoreMetricsTime The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + * + * @return builder + * + */ + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + /** + * @param instanceCount The number of instances to add or remove when the load exceeds a threshold. + * + * @return builder + * + */ + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + /** + * @param instanceCount The number of instances to add or remove when the load exceeds a threshold. + * + * @return builder + * + */ + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + /** + * @param loadThreshold The load threshold. A value of -1 disables the threshold. + * + * @return builder + * + */ + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + /** + * @param loadThreshold The load threshold. A value of -1 disables the threshold. + * + * @return builder + * + */ + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + /** + * @param memoryThreshold The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + * + * @return builder + * + */ + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + /** + * @param memoryThreshold The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + * + * @return builder + * + */ + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + /** + * @param thresholdsWaitTime The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + * + * @return builder + * + */ + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + /** + * @param thresholdsWaitTime The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + * + * @return builder + * + */ + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public CustomLayerLoadBasedAutoScalingDownscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/CustomLayerLoadBasedAutoScalingUpscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/CustomLayerLoadBasedAutoScalingUpscalingArgs.java new file mode 100644 index 00000000000..9ce3e6ab69d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/CustomLayerLoadBasedAutoScalingUpscalingArgs.java @@ -0,0 +1,318 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CustomLayerLoadBasedAutoScalingUpscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final CustomLayerLoadBasedAutoScalingUpscalingArgs Empty = new CustomLayerLoadBasedAutoScalingUpscalingArgs(); + + /** + * Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + * + */ + @Import(name="alarms") + private @Nullable Output> alarms; + + /** + * @return Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + * + */ + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + /** + * The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + * + */ + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + /** + * @return The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + * + */ + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + /** + * The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + * + */ + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + /** + * @return The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + * + */ + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + /** + * The number of instances to add or remove when the load exceeds a threshold. + * + */ + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + /** + * @return The number of instances to add or remove when the load exceeds a threshold. + * + */ + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + /** + * The load threshold. A value of -1 disables the threshold. + * + */ + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + /** + * @return The load threshold. A value of -1 disables the threshold. + * + */ + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + /** + * The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + * + */ + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + /** + * @return The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + * + */ + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + /** + * The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + * + */ + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + /** + * @return The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + * + */ + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private CustomLayerLoadBasedAutoScalingUpscalingArgs() {} + + private CustomLayerLoadBasedAutoScalingUpscalingArgs(CustomLayerLoadBasedAutoScalingUpscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CustomLayerLoadBasedAutoScalingUpscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CustomLayerLoadBasedAutoScalingUpscalingArgs $; + + public Builder() { + $ = new CustomLayerLoadBasedAutoScalingUpscalingArgs(); + } + + public Builder(CustomLayerLoadBasedAutoScalingUpscalingArgs defaults) { + $ = new CustomLayerLoadBasedAutoScalingUpscalingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param alarms Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + * + * @return builder + * + */ + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + /** + * @param alarms Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + * + * @return builder + * + */ + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + /** + * @param alarms Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + * + * @return builder + * + */ + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + /** + * @param cpuThreshold The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + * + * @return builder + * + */ + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + /** + * @param cpuThreshold The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + * + * @return builder + * + */ + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + /** + * @param ignoreMetricsTime The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + * + * @return builder + * + */ + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + /** + * @param ignoreMetricsTime The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + * + * @return builder + * + */ + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + /** + * @param instanceCount The number of instances to add or remove when the load exceeds a threshold. + * + * @return builder + * + */ + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + /** + * @param instanceCount The number of instances to add or remove when the load exceeds a threshold. + * + * @return builder + * + */ + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + /** + * @param loadThreshold The load threshold. A value of -1 disables the threshold. + * + * @return builder + * + */ + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + /** + * @param loadThreshold The load threshold. A value of -1 disables the threshold. + * + * @return builder + * + */ + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + /** + * @param memoryThreshold The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + * + * @return builder + * + */ + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + /** + * @param memoryThreshold The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + * + * @return builder + * + */ + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + /** + * @param thresholdsWaitTime The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + * + * @return builder + * + */ + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + /** + * @param thresholdsWaitTime The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + * + * @return builder + * + */ + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public CustomLayerLoadBasedAutoScalingUpscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/CustomLayerState.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/CustomLayerState.java index 73756ecb1dd..da9eba58350 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/CustomLayerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/CustomLayerState.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.CustomLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.CustomLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.CustomLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -251,6 +252,21 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + /** + * Load-based auto scaling configuration. See Load Based AutoScaling + * + */ + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + /** + * @return Load-based auto scaling configuration. See Load Based AutoScaling + * + */ + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -377,6 +393,7 @@ private CustomLayerState(CustomLayerState $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.shortName = $.shortName; this.stackId = $.stackId; @@ -762,6 +779,27 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + /** + * @param loadBasedAutoScaling Load-based auto scaling configuration. See Load Based AutoScaling + * + * @return builder + * + */ + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + /** + * @param loadBasedAutoScaling Load-based auto scaling configuration. See Load Based AutoScaling + * + * @return builder + * + */ + public Builder loadBasedAutoScaling(CustomLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/EcsClusterLayerLoadBasedAutoScalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/EcsClusterLayerLoadBasedAutoScalingArgs.java new file mode 100644 index 00000000000..443051b893d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/EcsClusterLayerLoadBasedAutoScalingArgs.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.aws.opsworks.inputs.EcsClusterLayerLoadBasedAutoScalingDownscalingArgs; +import com.pulumi.aws.opsworks.inputs.EcsClusterLayerLoadBasedAutoScalingUpscalingArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class EcsClusterLayerLoadBasedAutoScalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final EcsClusterLayerLoadBasedAutoScalingArgs Empty = new EcsClusterLayerLoadBasedAutoScalingArgs(); + + @Import(name="downscaling") + private @Nullable Output downscaling; + + public Optional> downscaling() { + return Optional.ofNullable(this.downscaling); + } + + @Import(name="enable") + private @Nullable Output enable; + + public Optional> enable() { + return Optional.ofNullable(this.enable); + } + + @Import(name="upscaling") + private @Nullable Output upscaling; + + public Optional> upscaling() { + return Optional.ofNullable(this.upscaling); + } + + private EcsClusterLayerLoadBasedAutoScalingArgs() {} + + private EcsClusterLayerLoadBasedAutoScalingArgs(EcsClusterLayerLoadBasedAutoScalingArgs $) { + this.downscaling = $.downscaling; + this.enable = $.enable; + this.upscaling = $.upscaling; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(EcsClusterLayerLoadBasedAutoScalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private EcsClusterLayerLoadBasedAutoScalingArgs $; + + public Builder() { + $ = new EcsClusterLayerLoadBasedAutoScalingArgs(); + } + + public Builder(EcsClusterLayerLoadBasedAutoScalingArgs defaults) { + $ = new EcsClusterLayerLoadBasedAutoScalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder downscaling(@Nullable Output downscaling) { + $.downscaling = downscaling; + return this; + } + + public Builder downscaling(EcsClusterLayerLoadBasedAutoScalingDownscalingArgs downscaling) { + return downscaling(Output.of(downscaling)); + } + + public Builder enable(@Nullable Output enable) { + $.enable = enable; + return this; + } + + public Builder enable(Boolean enable) { + return enable(Output.of(enable)); + } + + public Builder upscaling(@Nullable Output upscaling) { + $.upscaling = upscaling; + return this; + } + + public Builder upscaling(EcsClusterLayerLoadBasedAutoScalingUpscalingArgs upscaling) { + return upscaling(Output.of(upscaling)); + } + + public EcsClusterLayerLoadBasedAutoScalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/EcsClusterLayerLoadBasedAutoScalingDownscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/EcsClusterLayerLoadBasedAutoScalingDownscalingArgs.java new file mode 100644 index 00000000000..3352ed71d3b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/EcsClusterLayerLoadBasedAutoScalingDownscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class EcsClusterLayerLoadBasedAutoScalingDownscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final EcsClusterLayerLoadBasedAutoScalingDownscalingArgs Empty = new EcsClusterLayerLoadBasedAutoScalingDownscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private EcsClusterLayerLoadBasedAutoScalingDownscalingArgs() {} + + private EcsClusterLayerLoadBasedAutoScalingDownscalingArgs(EcsClusterLayerLoadBasedAutoScalingDownscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(EcsClusterLayerLoadBasedAutoScalingDownscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private EcsClusterLayerLoadBasedAutoScalingDownscalingArgs $; + + public Builder() { + $ = new EcsClusterLayerLoadBasedAutoScalingDownscalingArgs(); + } + + public Builder(EcsClusterLayerLoadBasedAutoScalingDownscalingArgs defaults) { + $ = new EcsClusterLayerLoadBasedAutoScalingDownscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public EcsClusterLayerLoadBasedAutoScalingDownscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/EcsClusterLayerLoadBasedAutoScalingUpscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/EcsClusterLayerLoadBasedAutoScalingUpscalingArgs.java new file mode 100644 index 00000000000..3928a76b951 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/EcsClusterLayerLoadBasedAutoScalingUpscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class EcsClusterLayerLoadBasedAutoScalingUpscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final EcsClusterLayerLoadBasedAutoScalingUpscalingArgs Empty = new EcsClusterLayerLoadBasedAutoScalingUpscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private EcsClusterLayerLoadBasedAutoScalingUpscalingArgs() {} + + private EcsClusterLayerLoadBasedAutoScalingUpscalingArgs(EcsClusterLayerLoadBasedAutoScalingUpscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(EcsClusterLayerLoadBasedAutoScalingUpscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private EcsClusterLayerLoadBasedAutoScalingUpscalingArgs $; + + public Builder() { + $ = new EcsClusterLayerLoadBasedAutoScalingUpscalingArgs(); + } + + public Builder(EcsClusterLayerLoadBasedAutoScalingUpscalingArgs defaults) { + $ = new EcsClusterLayerLoadBasedAutoScalingUpscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public EcsClusterLayerLoadBasedAutoScalingUpscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/EcsClusterLayerState.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/EcsClusterLayerState.java index 951c5196b9c..789f8629127 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/EcsClusterLayerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/EcsClusterLayerState.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.EcsClusterLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.EcsClusterLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.EcsClusterLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -258,6 +259,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -362,6 +370,7 @@ private EcsClusterLayerState(EcsClusterLayerState $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.stackId = $.stackId; this.systemPackages = $.systemPackages; @@ -755,6 +764,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(EcsClusterLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/GangliaLayerLoadBasedAutoScalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/GangliaLayerLoadBasedAutoScalingArgs.java new file mode 100644 index 00000000000..cbb0ea5aabd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/GangliaLayerLoadBasedAutoScalingArgs.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.aws.opsworks.inputs.GangliaLayerLoadBasedAutoScalingDownscalingArgs; +import com.pulumi.aws.opsworks.inputs.GangliaLayerLoadBasedAutoScalingUpscalingArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GangliaLayerLoadBasedAutoScalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final GangliaLayerLoadBasedAutoScalingArgs Empty = new GangliaLayerLoadBasedAutoScalingArgs(); + + @Import(name="downscaling") + private @Nullable Output downscaling; + + public Optional> downscaling() { + return Optional.ofNullable(this.downscaling); + } + + @Import(name="enable") + private @Nullable Output enable; + + public Optional> enable() { + return Optional.ofNullable(this.enable); + } + + @Import(name="upscaling") + private @Nullable Output upscaling; + + public Optional> upscaling() { + return Optional.ofNullable(this.upscaling); + } + + private GangliaLayerLoadBasedAutoScalingArgs() {} + + private GangliaLayerLoadBasedAutoScalingArgs(GangliaLayerLoadBasedAutoScalingArgs $) { + this.downscaling = $.downscaling; + this.enable = $.enable; + this.upscaling = $.upscaling; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GangliaLayerLoadBasedAutoScalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GangliaLayerLoadBasedAutoScalingArgs $; + + public Builder() { + $ = new GangliaLayerLoadBasedAutoScalingArgs(); + } + + public Builder(GangliaLayerLoadBasedAutoScalingArgs defaults) { + $ = new GangliaLayerLoadBasedAutoScalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder downscaling(@Nullable Output downscaling) { + $.downscaling = downscaling; + return this; + } + + public Builder downscaling(GangliaLayerLoadBasedAutoScalingDownscalingArgs downscaling) { + return downscaling(Output.of(downscaling)); + } + + public Builder enable(@Nullable Output enable) { + $.enable = enable; + return this; + } + + public Builder enable(Boolean enable) { + return enable(Output.of(enable)); + } + + public Builder upscaling(@Nullable Output upscaling) { + $.upscaling = upscaling; + return this; + } + + public Builder upscaling(GangliaLayerLoadBasedAutoScalingUpscalingArgs upscaling) { + return upscaling(Output.of(upscaling)); + } + + public GangliaLayerLoadBasedAutoScalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/GangliaLayerLoadBasedAutoScalingDownscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/GangliaLayerLoadBasedAutoScalingDownscalingArgs.java new file mode 100644 index 00000000000..779d976a63f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/GangliaLayerLoadBasedAutoScalingDownscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GangliaLayerLoadBasedAutoScalingDownscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final GangliaLayerLoadBasedAutoScalingDownscalingArgs Empty = new GangliaLayerLoadBasedAutoScalingDownscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private GangliaLayerLoadBasedAutoScalingDownscalingArgs() {} + + private GangliaLayerLoadBasedAutoScalingDownscalingArgs(GangliaLayerLoadBasedAutoScalingDownscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GangliaLayerLoadBasedAutoScalingDownscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GangliaLayerLoadBasedAutoScalingDownscalingArgs $; + + public Builder() { + $ = new GangliaLayerLoadBasedAutoScalingDownscalingArgs(); + } + + public Builder(GangliaLayerLoadBasedAutoScalingDownscalingArgs defaults) { + $ = new GangliaLayerLoadBasedAutoScalingDownscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public GangliaLayerLoadBasedAutoScalingDownscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/GangliaLayerLoadBasedAutoScalingUpscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/GangliaLayerLoadBasedAutoScalingUpscalingArgs.java new file mode 100644 index 00000000000..337651572e4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/GangliaLayerLoadBasedAutoScalingUpscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GangliaLayerLoadBasedAutoScalingUpscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final GangliaLayerLoadBasedAutoScalingUpscalingArgs Empty = new GangliaLayerLoadBasedAutoScalingUpscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private GangliaLayerLoadBasedAutoScalingUpscalingArgs() {} + + private GangliaLayerLoadBasedAutoScalingUpscalingArgs(GangliaLayerLoadBasedAutoScalingUpscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GangliaLayerLoadBasedAutoScalingUpscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GangliaLayerLoadBasedAutoScalingUpscalingArgs $; + + public Builder() { + $ = new GangliaLayerLoadBasedAutoScalingUpscalingArgs(); + } + + public Builder(GangliaLayerLoadBasedAutoScalingUpscalingArgs defaults) { + $ = new GangliaLayerLoadBasedAutoScalingUpscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public GangliaLayerLoadBasedAutoScalingUpscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/GangliaLayerState.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/GangliaLayerState.java index 127205de887..4a58deba7e0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/GangliaLayerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/GangliaLayerState.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.GangliaLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.GangliaLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.GangliaLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -243,6 +244,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -399,6 +407,7 @@ private GangliaLayerState(GangliaLayerState $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.password = $.password; this.stackId = $.stackId; @@ -774,6 +783,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(GangliaLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/HaproxyLayerLoadBasedAutoScalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/HaproxyLayerLoadBasedAutoScalingArgs.java new file mode 100644 index 00000000000..3d2966fe236 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/HaproxyLayerLoadBasedAutoScalingArgs.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.aws.opsworks.inputs.HaproxyLayerLoadBasedAutoScalingDownscalingArgs; +import com.pulumi.aws.opsworks.inputs.HaproxyLayerLoadBasedAutoScalingUpscalingArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HaproxyLayerLoadBasedAutoScalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final HaproxyLayerLoadBasedAutoScalingArgs Empty = new HaproxyLayerLoadBasedAutoScalingArgs(); + + @Import(name="downscaling") + private @Nullable Output downscaling; + + public Optional> downscaling() { + return Optional.ofNullable(this.downscaling); + } + + @Import(name="enable") + private @Nullable Output enable; + + public Optional> enable() { + return Optional.ofNullable(this.enable); + } + + @Import(name="upscaling") + private @Nullable Output upscaling; + + public Optional> upscaling() { + return Optional.ofNullable(this.upscaling); + } + + private HaproxyLayerLoadBasedAutoScalingArgs() {} + + private HaproxyLayerLoadBasedAutoScalingArgs(HaproxyLayerLoadBasedAutoScalingArgs $) { + this.downscaling = $.downscaling; + this.enable = $.enable; + this.upscaling = $.upscaling; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HaproxyLayerLoadBasedAutoScalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HaproxyLayerLoadBasedAutoScalingArgs $; + + public Builder() { + $ = new HaproxyLayerLoadBasedAutoScalingArgs(); + } + + public Builder(HaproxyLayerLoadBasedAutoScalingArgs defaults) { + $ = new HaproxyLayerLoadBasedAutoScalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder downscaling(@Nullable Output downscaling) { + $.downscaling = downscaling; + return this; + } + + public Builder downscaling(HaproxyLayerLoadBasedAutoScalingDownscalingArgs downscaling) { + return downscaling(Output.of(downscaling)); + } + + public Builder enable(@Nullable Output enable) { + $.enable = enable; + return this; + } + + public Builder enable(Boolean enable) { + return enable(Output.of(enable)); + } + + public Builder upscaling(@Nullable Output upscaling) { + $.upscaling = upscaling; + return this; + } + + public Builder upscaling(HaproxyLayerLoadBasedAutoScalingUpscalingArgs upscaling) { + return upscaling(Output.of(upscaling)); + } + + public HaproxyLayerLoadBasedAutoScalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/HaproxyLayerLoadBasedAutoScalingDownscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/HaproxyLayerLoadBasedAutoScalingDownscalingArgs.java new file mode 100644 index 00000000000..323d44e8e0a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/HaproxyLayerLoadBasedAutoScalingDownscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HaproxyLayerLoadBasedAutoScalingDownscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final HaproxyLayerLoadBasedAutoScalingDownscalingArgs Empty = new HaproxyLayerLoadBasedAutoScalingDownscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private HaproxyLayerLoadBasedAutoScalingDownscalingArgs() {} + + private HaproxyLayerLoadBasedAutoScalingDownscalingArgs(HaproxyLayerLoadBasedAutoScalingDownscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HaproxyLayerLoadBasedAutoScalingDownscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HaproxyLayerLoadBasedAutoScalingDownscalingArgs $; + + public Builder() { + $ = new HaproxyLayerLoadBasedAutoScalingDownscalingArgs(); + } + + public Builder(HaproxyLayerLoadBasedAutoScalingDownscalingArgs defaults) { + $ = new HaproxyLayerLoadBasedAutoScalingDownscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public HaproxyLayerLoadBasedAutoScalingDownscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/HaproxyLayerLoadBasedAutoScalingUpscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/HaproxyLayerLoadBasedAutoScalingUpscalingArgs.java new file mode 100644 index 00000000000..43d0fbb90cf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/HaproxyLayerLoadBasedAutoScalingUpscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HaproxyLayerLoadBasedAutoScalingUpscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final HaproxyLayerLoadBasedAutoScalingUpscalingArgs Empty = new HaproxyLayerLoadBasedAutoScalingUpscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private HaproxyLayerLoadBasedAutoScalingUpscalingArgs() {} + + private HaproxyLayerLoadBasedAutoScalingUpscalingArgs(HaproxyLayerLoadBasedAutoScalingUpscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HaproxyLayerLoadBasedAutoScalingUpscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HaproxyLayerLoadBasedAutoScalingUpscalingArgs $; + + public Builder() { + $ = new HaproxyLayerLoadBasedAutoScalingUpscalingArgs(); + } + + public Builder(HaproxyLayerLoadBasedAutoScalingUpscalingArgs defaults) { + $ = new HaproxyLayerLoadBasedAutoScalingUpscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public HaproxyLayerLoadBasedAutoScalingUpscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/HaproxyLayerState.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/HaproxyLayerState.java index 754b252eaa5..9d9c7648940 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/HaproxyLayerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/HaproxyLayerState.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.HaproxyLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.HaproxyLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.HaproxyLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -273,6 +274,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -446,6 +454,7 @@ private HaproxyLayerState(HaproxyLayerState $) { this.healthcheckUrl = $.healthcheckUrl; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.stackId = $.stackId; this.statsEnabled = $.statsEnabled; @@ -864,6 +873,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(HaproxyLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/JavaAppLayerLoadBasedAutoScalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/JavaAppLayerLoadBasedAutoScalingArgs.java new file mode 100644 index 00000000000..64ddaf46b1b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/JavaAppLayerLoadBasedAutoScalingArgs.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.aws.opsworks.inputs.JavaAppLayerLoadBasedAutoScalingDownscalingArgs; +import com.pulumi.aws.opsworks.inputs.JavaAppLayerLoadBasedAutoScalingUpscalingArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JavaAppLayerLoadBasedAutoScalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final JavaAppLayerLoadBasedAutoScalingArgs Empty = new JavaAppLayerLoadBasedAutoScalingArgs(); + + @Import(name="downscaling") + private @Nullable Output downscaling; + + public Optional> downscaling() { + return Optional.ofNullable(this.downscaling); + } + + @Import(name="enable") + private @Nullable Output enable; + + public Optional> enable() { + return Optional.ofNullable(this.enable); + } + + @Import(name="upscaling") + private @Nullable Output upscaling; + + public Optional> upscaling() { + return Optional.ofNullable(this.upscaling); + } + + private JavaAppLayerLoadBasedAutoScalingArgs() {} + + private JavaAppLayerLoadBasedAutoScalingArgs(JavaAppLayerLoadBasedAutoScalingArgs $) { + this.downscaling = $.downscaling; + this.enable = $.enable; + this.upscaling = $.upscaling; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JavaAppLayerLoadBasedAutoScalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JavaAppLayerLoadBasedAutoScalingArgs $; + + public Builder() { + $ = new JavaAppLayerLoadBasedAutoScalingArgs(); + } + + public Builder(JavaAppLayerLoadBasedAutoScalingArgs defaults) { + $ = new JavaAppLayerLoadBasedAutoScalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder downscaling(@Nullable Output downscaling) { + $.downscaling = downscaling; + return this; + } + + public Builder downscaling(JavaAppLayerLoadBasedAutoScalingDownscalingArgs downscaling) { + return downscaling(Output.of(downscaling)); + } + + public Builder enable(@Nullable Output enable) { + $.enable = enable; + return this; + } + + public Builder enable(Boolean enable) { + return enable(Output.of(enable)); + } + + public Builder upscaling(@Nullable Output upscaling) { + $.upscaling = upscaling; + return this; + } + + public Builder upscaling(JavaAppLayerLoadBasedAutoScalingUpscalingArgs upscaling) { + return upscaling(Output.of(upscaling)); + } + + public JavaAppLayerLoadBasedAutoScalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/JavaAppLayerLoadBasedAutoScalingDownscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/JavaAppLayerLoadBasedAutoScalingDownscalingArgs.java new file mode 100644 index 00000000000..04f0d7968fa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/JavaAppLayerLoadBasedAutoScalingDownscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JavaAppLayerLoadBasedAutoScalingDownscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final JavaAppLayerLoadBasedAutoScalingDownscalingArgs Empty = new JavaAppLayerLoadBasedAutoScalingDownscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private JavaAppLayerLoadBasedAutoScalingDownscalingArgs() {} + + private JavaAppLayerLoadBasedAutoScalingDownscalingArgs(JavaAppLayerLoadBasedAutoScalingDownscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JavaAppLayerLoadBasedAutoScalingDownscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JavaAppLayerLoadBasedAutoScalingDownscalingArgs $; + + public Builder() { + $ = new JavaAppLayerLoadBasedAutoScalingDownscalingArgs(); + } + + public Builder(JavaAppLayerLoadBasedAutoScalingDownscalingArgs defaults) { + $ = new JavaAppLayerLoadBasedAutoScalingDownscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public JavaAppLayerLoadBasedAutoScalingDownscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/JavaAppLayerLoadBasedAutoScalingUpscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/JavaAppLayerLoadBasedAutoScalingUpscalingArgs.java new file mode 100644 index 00000000000..39b35d92e73 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/JavaAppLayerLoadBasedAutoScalingUpscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JavaAppLayerLoadBasedAutoScalingUpscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final JavaAppLayerLoadBasedAutoScalingUpscalingArgs Empty = new JavaAppLayerLoadBasedAutoScalingUpscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private JavaAppLayerLoadBasedAutoScalingUpscalingArgs() {} + + private JavaAppLayerLoadBasedAutoScalingUpscalingArgs(JavaAppLayerLoadBasedAutoScalingUpscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JavaAppLayerLoadBasedAutoScalingUpscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JavaAppLayerLoadBasedAutoScalingUpscalingArgs $; + + public Builder() { + $ = new JavaAppLayerLoadBasedAutoScalingUpscalingArgs(); + } + + public Builder(JavaAppLayerLoadBasedAutoScalingUpscalingArgs defaults) { + $ = new JavaAppLayerLoadBasedAutoScalingUpscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public JavaAppLayerLoadBasedAutoScalingUpscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/JavaAppLayerState.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/JavaAppLayerState.java index 6533f065553..8fc965213de 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/JavaAppLayerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/JavaAppLayerState.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.JavaAppLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.JavaAppLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.JavaAppLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -318,6 +319,13 @@ public Optional> jvmVersion() { return Optional.ofNullable(this.jvmVersion); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -434,6 +442,7 @@ private JavaAppLayerState(JavaAppLayerState $) { this.jvmOptions = $.jvmOptions; this.jvmType = $.jvmType; this.jvmVersion = $.jvmVersion; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.stackId = $.stackId; this.systemPackages = $.systemPackages; @@ -911,6 +920,15 @@ public Builder jvmVersion(String jvmVersion) { return jvmVersion(Output.of(jvmVersion)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(JavaAppLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MemcachedLayerLoadBasedAutoScalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MemcachedLayerLoadBasedAutoScalingArgs.java new file mode 100644 index 00000000000..e8a2a235587 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MemcachedLayerLoadBasedAutoScalingArgs.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.aws.opsworks.inputs.MemcachedLayerLoadBasedAutoScalingDownscalingArgs; +import com.pulumi.aws.opsworks.inputs.MemcachedLayerLoadBasedAutoScalingUpscalingArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MemcachedLayerLoadBasedAutoScalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final MemcachedLayerLoadBasedAutoScalingArgs Empty = new MemcachedLayerLoadBasedAutoScalingArgs(); + + @Import(name="downscaling") + private @Nullable Output downscaling; + + public Optional> downscaling() { + return Optional.ofNullable(this.downscaling); + } + + @Import(name="enable") + private @Nullable Output enable; + + public Optional> enable() { + return Optional.ofNullable(this.enable); + } + + @Import(name="upscaling") + private @Nullable Output upscaling; + + public Optional> upscaling() { + return Optional.ofNullable(this.upscaling); + } + + private MemcachedLayerLoadBasedAutoScalingArgs() {} + + private MemcachedLayerLoadBasedAutoScalingArgs(MemcachedLayerLoadBasedAutoScalingArgs $) { + this.downscaling = $.downscaling; + this.enable = $.enable; + this.upscaling = $.upscaling; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MemcachedLayerLoadBasedAutoScalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MemcachedLayerLoadBasedAutoScalingArgs $; + + public Builder() { + $ = new MemcachedLayerLoadBasedAutoScalingArgs(); + } + + public Builder(MemcachedLayerLoadBasedAutoScalingArgs defaults) { + $ = new MemcachedLayerLoadBasedAutoScalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder downscaling(@Nullable Output downscaling) { + $.downscaling = downscaling; + return this; + } + + public Builder downscaling(MemcachedLayerLoadBasedAutoScalingDownscalingArgs downscaling) { + return downscaling(Output.of(downscaling)); + } + + public Builder enable(@Nullable Output enable) { + $.enable = enable; + return this; + } + + public Builder enable(Boolean enable) { + return enable(Output.of(enable)); + } + + public Builder upscaling(@Nullable Output upscaling) { + $.upscaling = upscaling; + return this; + } + + public Builder upscaling(MemcachedLayerLoadBasedAutoScalingUpscalingArgs upscaling) { + return upscaling(Output.of(upscaling)); + } + + public MemcachedLayerLoadBasedAutoScalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MemcachedLayerLoadBasedAutoScalingDownscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MemcachedLayerLoadBasedAutoScalingDownscalingArgs.java new file mode 100644 index 00000000000..135a57a76c3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MemcachedLayerLoadBasedAutoScalingDownscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MemcachedLayerLoadBasedAutoScalingDownscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final MemcachedLayerLoadBasedAutoScalingDownscalingArgs Empty = new MemcachedLayerLoadBasedAutoScalingDownscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private MemcachedLayerLoadBasedAutoScalingDownscalingArgs() {} + + private MemcachedLayerLoadBasedAutoScalingDownscalingArgs(MemcachedLayerLoadBasedAutoScalingDownscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MemcachedLayerLoadBasedAutoScalingDownscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MemcachedLayerLoadBasedAutoScalingDownscalingArgs $; + + public Builder() { + $ = new MemcachedLayerLoadBasedAutoScalingDownscalingArgs(); + } + + public Builder(MemcachedLayerLoadBasedAutoScalingDownscalingArgs defaults) { + $ = new MemcachedLayerLoadBasedAutoScalingDownscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public MemcachedLayerLoadBasedAutoScalingDownscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MemcachedLayerLoadBasedAutoScalingUpscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MemcachedLayerLoadBasedAutoScalingUpscalingArgs.java new file mode 100644 index 00000000000..890b3b5dc21 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MemcachedLayerLoadBasedAutoScalingUpscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MemcachedLayerLoadBasedAutoScalingUpscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final MemcachedLayerLoadBasedAutoScalingUpscalingArgs Empty = new MemcachedLayerLoadBasedAutoScalingUpscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private MemcachedLayerLoadBasedAutoScalingUpscalingArgs() {} + + private MemcachedLayerLoadBasedAutoScalingUpscalingArgs(MemcachedLayerLoadBasedAutoScalingUpscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MemcachedLayerLoadBasedAutoScalingUpscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MemcachedLayerLoadBasedAutoScalingUpscalingArgs $; + + public Builder() { + $ = new MemcachedLayerLoadBasedAutoScalingUpscalingArgs(); + } + + public Builder(MemcachedLayerLoadBasedAutoScalingUpscalingArgs defaults) { + $ = new MemcachedLayerLoadBasedAutoScalingUpscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public MemcachedLayerLoadBasedAutoScalingUpscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MemcachedLayerState.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MemcachedLayerState.java index 830578fc073..38af02a9c12 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MemcachedLayerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MemcachedLayerState.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.MemcachedLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.MemcachedLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.MemcachedLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -258,6 +259,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -370,6 +378,7 @@ private MemcachedLayerState(MemcachedLayerState $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.stackId = $.stackId; this.systemPackages = $.systemPackages; @@ -763,6 +772,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(MemcachedLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MysqlLayerLoadBasedAutoScalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MysqlLayerLoadBasedAutoScalingArgs.java new file mode 100644 index 00000000000..288b92cc51f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MysqlLayerLoadBasedAutoScalingArgs.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.aws.opsworks.inputs.MysqlLayerLoadBasedAutoScalingDownscalingArgs; +import com.pulumi.aws.opsworks.inputs.MysqlLayerLoadBasedAutoScalingUpscalingArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MysqlLayerLoadBasedAutoScalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final MysqlLayerLoadBasedAutoScalingArgs Empty = new MysqlLayerLoadBasedAutoScalingArgs(); + + @Import(name="downscaling") + private @Nullable Output downscaling; + + public Optional> downscaling() { + return Optional.ofNullable(this.downscaling); + } + + @Import(name="enable") + private @Nullable Output enable; + + public Optional> enable() { + return Optional.ofNullable(this.enable); + } + + @Import(name="upscaling") + private @Nullable Output upscaling; + + public Optional> upscaling() { + return Optional.ofNullable(this.upscaling); + } + + private MysqlLayerLoadBasedAutoScalingArgs() {} + + private MysqlLayerLoadBasedAutoScalingArgs(MysqlLayerLoadBasedAutoScalingArgs $) { + this.downscaling = $.downscaling; + this.enable = $.enable; + this.upscaling = $.upscaling; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MysqlLayerLoadBasedAutoScalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MysqlLayerLoadBasedAutoScalingArgs $; + + public Builder() { + $ = new MysqlLayerLoadBasedAutoScalingArgs(); + } + + public Builder(MysqlLayerLoadBasedAutoScalingArgs defaults) { + $ = new MysqlLayerLoadBasedAutoScalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder downscaling(@Nullable Output downscaling) { + $.downscaling = downscaling; + return this; + } + + public Builder downscaling(MysqlLayerLoadBasedAutoScalingDownscalingArgs downscaling) { + return downscaling(Output.of(downscaling)); + } + + public Builder enable(@Nullable Output enable) { + $.enable = enable; + return this; + } + + public Builder enable(Boolean enable) { + return enable(Output.of(enable)); + } + + public Builder upscaling(@Nullable Output upscaling) { + $.upscaling = upscaling; + return this; + } + + public Builder upscaling(MysqlLayerLoadBasedAutoScalingUpscalingArgs upscaling) { + return upscaling(Output.of(upscaling)); + } + + public MysqlLayerLoadBasedAutoScalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MysqlLayerLoadBasedAutoScalingDownscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MysqlLayerLoadBasedAutoScalingDownscalingArgs.java new file mode 100644 index 00000000000..646b6933f07 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MysqlLayerLoadBasedAutoScalingDownscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MysqlLayerLoadBasedAutoScalingDownscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final MysqlLayerLoadBasedAutoScalingDownscalingArgs Empty = new MysqlLayerLoadBasedAutoScalingDownscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private MysqlLayerLoadBasedAutoScalingDownscalingArgs() {} + + private MysqlLayerLoadBasedAutoScalingDownscalingArgs(MysqlLayerLoadBasedAutoScalingDownscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MysqlLayerLoadBasedAutoScalingDownscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MysqlLayerLoadBasedAutoScalingDownscalingArgs $; + + public Builder() { + $ = new MysqlLayerLoadBasedAutoScalingDownscalingArgs(); + } + + public Builder(MysqlLayerLoadBasedAutoScalingDownscalingArgs defaults) { + $ = new MysqlLayerLoadBasedAutoScalingDownscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public MysqlLayerLoadBasedAutoScalingDownscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MysqlLayerLoadBasedAutoScalingUpscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MysqlLayerLoadBasedAutoScalingUpscalingArgs.java new file mode 100644 index 00000000000..2b7f9a3f99c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MysqlLayerLoadBasedAutoScalingUpscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MysqlLayerLoadBasedAutoScalingUpscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final MysqlLayerLoadBasedAutoScalingUpscalingArgs Empty = new MysqlLayerLoadBasedAutoScalingUpscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private MysqlLayerLoadBasedAutoScalingUpscalingArgs() {} + + private MysqlLayerLoadBasedAutoScalingUpscalingArgs(MysqlLayerLoadBasedAutoScalingUpscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MysqlLayerLoadBasedAutoScalingUpscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MysqlLayerLoadBasedAutoScalingUpscalingArgs $; + + public Builder() { + $ = new MysqlLayerLoadBasedAutoScalingUpscalingArgs(); + } + + public Builder(MysqlLayerLoadBasedAutoScalingUpscalingArgs defaults) { + $ = new MysqlLayerLoadBasedAutoScalingUpscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public MysqlLayerLoadBasedAutoScalingUpscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MysqlLayerState.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MysqlLayerState.java index 8ef7afbf063..ad2e299e32c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MysqlLayerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/MysqlLayerState.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.MysqlLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.MysqlLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.MysqlLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -243,6 +244,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -384,6 +392,7 @@ private MysqlLayerState(MysqlLayerState $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.rootPassword = $.rootPassword; this.rootPasswordOnAllInstances = $.rootPasswordOnAllInstances; @@ -758,6 +767,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(MysqlLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/NodejsAppLayerLoadBasedAutoScalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/NodejsAppLayerLoadBasedAutoScalingArgs.java new file mode 100644 index 00000000000..d81efd5a7e1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/NodejsAppLayerLoadBasedAutoScalingArgs.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.aws.opsworks.inputs.NodejsAppLayerLoadBasedAutoScalingDownscalingArgs; +import com.pulumi.aws.opsworks.inputs.NodejsAppLayerLoadBasedAutoScalingUpscalingArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodejsAppLayerLoadBasedAutoScalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final NodejsAppLayerLoadBasedAutoScalingArgs Empty = new NodejsAppLayerLoadBasedAutoScalingArgs(); + + @Import(name="downscaling") + private @Nullable Output downscaling; + + public Optional> downscaling() { + return Optional.ofNullable(this.downscaling); + } + + @Import(name="enable") + private @Nullable Output enable; + + public Optional> enable() { + return Optional.ofNullable(this.enable); + } + + @Import(name="upscaling") + private @Nullable Output upscaling; + + public Optional> upscaling() { + return Optional.ofNullable(this.upscaling); + } + + private NodejsAppLayerLoadBasedAutoScalingArgs() {} + + private NodejsAppLayerLoadBasedAutoScalingArgs(NodejsAppLayerLoadBasedAutoScalingArgs $) { + this.downscaling = $.downscaling; + this.enable = $.enable; + this.upscaling = $.upscaling; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodejsAppLayerLoadBasedAutoScalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodejsAppLayerLoadBasedAutoScalingArgs $; + + public Builder() { + $ = new NodejsAppLayerLoadBasedAutoScalingArgs(); + } + + public Builder(NodejsAppLayerLoadBasedAutoScalingArgs defaults) { + $ = new NodejsAppLayerLoadBasedAutoScalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder downscaling(@Nullable Output downscaling) { + $.downscaling = downscaling; + return this; + } + + public Builder downscaling(NodejsAppLayerLoadBasedAutoScalingDownscalingArgs downscaling) { + return downscaling(Output.of(downscaling)); + } + + public Builder enable(@Nullable Output enable) { + $.enable = enable; + return this; + } + + public Builder enable(Boolean enable) { + return enable(Output.of(enable)); + } + + public Builder upscaling(@Nullable Output upscaling) { + $.upscaling = upscaling; + return this; + } + + public Builder upscaling(NodejsAppLayerLoadBasedAutoScalingUpscalingArgs upscaling) { + return upscaling(Output.of(upscaling)); + } + + public NodejsAppLayerLoadBasedAutoScalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/NodejsAppLayerLoadBasedAutoScalingDownscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/NodejsAppLayerLoadBasedAutoScalingDownscalingArgs.java new file mode 100644 index 00000000000..27e9144d3c6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/NodejsAppLayerLoadBasedAutoScalingDownscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodejsAppLayerLoadBasedAutoScalingDownscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final NodejsAppLayerLoadBasedAutoScalingDownscalingArgs Empty = new NodejsAppLayerLoadBasedAutoScalingDownscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private NodejsAppLayerLoadBasedAutoScalingDownscalingArgs() {} + + private NodejsAppLayerLoadBasedAutoScalingDownscalingArgs(NodejsAppLayerLoadBasedAutoScalingDownscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodejsAppLayerLoadBasedAutoScalingDownscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodejsAppLayerLoadBasedAutoScalingDownscalingArgs $; + + public Builder() { + $ = new NodejsAppLayerLoadBasedAutoScalingDownscalingArgs(); + } + + public Builder(NodejsAppLayerLoadBasedAutoScalingDownscalingArgs defaults) { + $ = new NodejsAppLayerLoadBasedAutoScalingDownscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public NodejsAppLayerLoadBasedAutoScalingDownscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/NodejsAppLayerLoadBasedAutoScalingUpscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/NodejsAppLayerLoadBasedAutoScalingUpscalingArgs.java new file mode 100644 index 00000000000..8665fb63d69 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/NodejsAppLayerLoadBasedAutoScalingUpscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodejsAppLayerLoadBasedAutoScalingUpscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final NodejsAppLayerLoadBasedAutoScalingUpscalingArgs Empty = new NodejsAppLayerLoadBasedAutoScalingUpscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private NodejsAppLayerLoadBasedAutoScalingUpscalingArgs() {} + + private NodejsAppLayerLoadBasedAutoScalingUpscalingArgs(NodejsAppLayerLoadBasedAutoScalingUpscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodejsAppLayerLoadBasedAutoScalingUpscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodejsAppLayerLoadBasedAutoScalingUpscalingArgs $; + + public Builder() { + $ = new NodejsAppLayerLoadBasedAutoScalingUpscalingArgs(); + } + + public Builder(NodejsAppLayerLoadBasedAutoScalingUpscalingArgs defaults) { + $ = new NodejsAppLayerLoadBasedAutoScalingUpscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public NodejsAppLayerLoadBasedAutoScalingUpscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/NodejsAppLayerState.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/NodejsAppLayerState.java index 56276e564a5..4c01d3d844a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/NodejsAppLayerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/NodejsAppLayerState.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.NodejsAppLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.NodejsAppLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.NodejsAppLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -243,6 +244,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -369,6 +377,7 @@ private NodejsAppLayerState(NodejsAppLayerState $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.nodejsVersion = $.nodejsVersion; this.stackId = $.stackId; @@ -742,6 +751,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(NodejsAppLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/PhpAppLayerLoadBasedAutoScalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/PhpAppLayerLoadBasedAutoScalingArgs.java new file mode 100644 index 00000000000..a9d05fb85f2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/PhpAppLayerLoadBasedAutoScalingArgs.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.aws.opsworks.inputs.PhpAppLayerLoadBasedAutoScalingDownscalingArgs; +import com.pulumi.aws.opsworks.inputs.PhpAppLayerLoadBasedAutoScalingUpscalingArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class PhpAppLayerLoadBasedAutoScalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final PhpAppLayerLoadBasedAutoScalingArgs Empty = new PhpAppLayerLoadBasedAutoScalingArgs(); + + @Import(name="downscaling") + private @Nullable Output downscaling; + + public Optional> downscaling() { + return Optional.ofNullable(this.downscaling); + } + + @Import(name="enable") + private @Nullable Output enable; + + public Optional> enable() { + return Optional.ofNullable(this.enable); + } + + @Import(name="upscaling") + private @Nullable Output upscaling; + + public Optional> upscaling() { + return Optional.ofNullable(this.upscaling); + } + + private PhpAppLayerLoadBasedAutoScalingArgs() {} + + private PhpAppLayerLoadBasedAutoScalingArgs(PhpAppLayerLoadBasedAutoScalingArgs $) { + this.downscaling = $.downscaling; + this.enable = $.enable; + this.upscaling = $.upscaling; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(PhpAppLayerLoadBasedAutoScalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private PhpAppLayerLoadBasedAutoScalingArgs $; + + public Builder() { + $ = new PhpAppLayerLoadBasedAutoScalingArgs(); + } + + public Builder(PhpAppLayerLoadBasedAutoScalingArgs defaults) { + $ = new PhpAppLayerLoadBasedAutoScalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder downscaling(@Nullable Output downscaling) { + $.downscaling = downscaling; + return this; + } + + public Builder downscaling(PhpAppLayerLoadBasedAutoScalingDownscalingArgs downscaling) { + return downscaling(Output.of(downscaling)); + } + + public Builder enable(@Nullable Output enable) { + $.enable = enable; + return this; + } + + public Builder enable(Boolean enable) { + return enable(Output.of(enable)); + } + + public Builder upscaling(@Nullable Output upscaling) { + $.upscaling = upscaling; + return this; + } + + public Builder upscaling(PhpAppLayerLoadBasedAutoScalingUpscalingArgs upscaling) { + return upscaling(Output.of(upscaling)); + } + + public PhpAppLayerLoadBasedAutoScalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/PhpAppLayerLoadBasedAutoScalingDownscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/PhpAppLayerLoadBasedAutoScalingDownscalingArgs.java new file mode 100644 index 00000000000..0f7fe3e3235 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/PhpAppLayerLoadBasedAutoScalingDownscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class PhpAppLayerLoadBasedAutoScalingDownscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final PhpAppLayerLoadBasedAutoScalingDownscalingArgs Empty = new PhpAppLayerLoadBasedAutoScalingDownscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private PhpAppLayerLoadBasedAutoScalingDownscalingArgs() {} + + private PhpAppLayerLoadBasedAutoScalingDownscalingArgs(PhpAppLayerLoadBasedAutoScalingDownscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(PhpAppLayerLoadBasedAutoScalingDownscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private PhpAppLayerLoadBasedAutoScalingDownscalingArgs $; + + public Builder() { + $ = new PhpAppLayerLoadBasedAutoScalingDownscalingArgs(); + } + + public Builder(PhpAppLayerLoadBasedAutoScalingDownscalingArgs defaults) { + $ = new PhpAppLayerLoadBasedAutoScalingDownscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public PhpAppLayerLoadBasedAutoScalingDownscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/PhpAppLayerLoadBasedAutoScalingUpscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/PhpAppLayerLoadBasedAutoScalingUpscalingArgs.java new file mode 100644 index 00000000000..626b0b41828 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/PhpAppLayerLoadBasedAutoScalingUpscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class PhpAppLayerLoadBasedAutoScalingUpscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final PhpAppLayerLoadBasedAutoScalingUpscalingArgs Empty = new PhpAppLayerLoadBasedAutoScalingUpscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private PhpAppLayerLoadBasedAutoScalingUpscalingArgs() {} + + private PhpAppLayerLoadBasedAutoScalingUpscalingArgs(PhpAppLayerLoadBasedAutoScalingUpscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(PhpAppLayerLoadBasedAutoScalingUpscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private PhpAppLayerLoadBasedAutoScalingUpscalingArgs $; + + public Builder() { + $ = new PhpAppLayerLoadBasedAutoScalingUpscalingArgs(); + } + + public Builder(PhpAppLayerLoadBasedAutoScalingUpscalingArgs defaults) { + $ = new PhpAppLayerLoadBasedAutoScalingUpscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public PhpAppLayerLoadBasedAutoScalingUpscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/PhpAppLayerState.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/PhpAppLayerState.java index 6f56ab909cf..4be1e83dfc6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/PhpAppLayerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/PhpAppLayerState.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.PhpAppLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.PhpAppLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.PhpAppLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -243,6 +244,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -354,6 +362,7 @@ private PhpAppLayerState(PhpAppLayerState $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.stackId = $.stackId; this.systemPackages = $.systemPackages; @@ -726,6 +735,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(PhpAppLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/RailsAppLayerLoadBasedAutoScalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/RailsAppLayerLoadBasedAutoScalingArgs.java new file mode 100644 index 00000000000..dcd0c2314a1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/RailsAppLayerLoadBasedAutoScalingArgs.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.aws.opsworks.inputs.RailsAppLayerLoadBasedAutoScalingDownscalingArgs; +import com.pulumi.aws.opsworks.inputs.RailsAppLayerLoadBasedAutoScalingUpscalingArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RailsAppLayerLoadBasedAutoScalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final RailsAppLayerLoadBasedAutoScalingArgs Empty = new RailsAppLayerLoadBasedAutoScalingArgs(); + + @Import(name="downscaling") + private @Nullable Output downscaling; + + public Optional> downscaling() { + return Optional.ofNullable(this.downscaling); + } + + @Import(name="enable") + private @Nullable Output enable; + + public Optional> enable() { + return Optional.ofNullable(this.enable); + } + + @Import(name="upscaling") + private @Nullable Output upscaling; + + public Optional> upscaling() { + return Optional.ofNullable(this.upscaling); + } + + private RailsAppLayerLoadBasedAutoScalingArgs() {} + + private RailsAppLayerLoadBasedAutoScalingArgs(RailsAppLayerLoadBasedAutoScalingArgs $) { + this.downscaling = $.downscaling; + this.enable = $.enable; + this.upscaling = $.upscaling; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RailsAppLayerLoadBasedAutoScalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RailsAppLayerLoadBasedAutoScalingArgs $; + + public Builder() { + $ = new RailsAppLayerLoadBasedAutoScalingArgs(); + } + + public Builder(RailsAppLayerLoadBasedAutoScalingArgs defaults) { + $ = new RailsAppLayerLoadBasedAutoScalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder downscaling(@Nullable Output downscaling) { + $.downscaling = downscaling; + return this; + } + + public Builder downscaling(RailsAppLayerLoadBasedAutoScalingDownscalingArgs downscaling) { + return downscaling(Output.of(downscaling)); + } + + public Builder enable(@Nullable Output enable) { + $.enable = enable; + return this; + } + + public Builder enable(Boolean enable) { + return enable(Output.of(enable)); + } + + public Builder upscaling(@Nullable Output upscaling) { + $.upscaling = upscaling; + return this; + } + + public Builder upscaling(RailsAppLayerLoadBasedAutoScalingUpscalingArgs upscaling) { + return upscaling(Output.of(upscaling)); + } + + public RailsAppLayerLoadBasedAutoScalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/RailsAppLayerLoadBasedAutoScalingDownscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/RailsAppLayerLoadBasedAutoScalingDownscalingArgs.java new file mode 100644 index 00000000000..b6a8c5997f4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/RailsAppLayerLoadBasedAutoScalingDownscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RailsAppLayerLoadBasedAutoScalingDownscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final RailsAppLayerLoadBasedAutoScalingDownscalingArgs Empty = new RailsAppLayerLoadBasedAutoScalingDownscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private RailsAppLayerLoadBasedAutoScalingDownscalingArgs() {} + + private RailsAppLayerLoadBasedAutoScalingDownscalingArgs(RailsAppLayerLoadBasedAutoScalingDownscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RailsAppLayerLoadBasedAutoScalingDownscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RailsAppLayerLoadBasedAutoScalingDownscalingArgs $; + + public Builder() { + $ = new RailsAppLayerLoadBasedAutoScalingDownscalingArgs(); + } + + public Builder(RailsAppLayerLoadBasedAutoScalingDownscalingArgs defaults) { + $ = new RailsAppLayerLoadBasedAutoScalingDownscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public RailsAppLayerLoadBasedAutoScalingDownscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/RailsAppLayerLoadBasedAutoScalingUpscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/RailsAppLayerLoadBasedAutoScalingUpscalingArgs.java new file mode 100644 index 00000000000..a698265de17 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/RailsAppLayerLoadBasedAutoScalingUpscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RailsAppLayerLoadBasedAutoScalingUpscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final RailsAppLayerLoadBasedAutoScalingUpscalingArgs Empty = new RailsAppLayerLoadBasedAutoScalingUpscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private RailsAppLayerLoadBasedAutoScalingUpscalingArgs() {} + + private RailsAppLayerLoadBasedAutoScalingUpscalingArgs(RailsAppLayerLoadBasedAutoScalingUpscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RailsAppLayerLoadBasedAutoScalingUpscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RailsAppLayerLoadBasedAutoScalingUpscalingArgs $; + + public Builder() { + $ = new RailsAppLayerLoadBasedAutoScalingUpscalingArgs(); + } + + public Builder(RailsAppLayerLoadBasedAutoScalingUpscalingArgs defaults) { + $ = new RailsAppLayerLoadBasedAutoScalingUpscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public RailsAppLayerLoadBasedAutoScalingUpscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/RailsAppLayerState.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/RailsAppLayerState.java index f2829322267..20600de9f07 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/RailsAppLayerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/RailsAppLayerState.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.RailsAppLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.RailsAppLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.RailsAppLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -273,6 +274,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * Whether OpsWorks should manage bundler. On by default. * @@ -446,6 +454,7 @@ private RailsAppLayerState(RailsAppLayerState $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.manageBundler = $.manageBundler; this.name = $.name; this.passengerVersion = $.passengerVersion; @@ -864,6 +873,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(RailsAppLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param manageBundler Whether OpsWorks should manage bundler. On by default. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/StaticWebLayerLoadBasedAutoScalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/StaticWebLayerLoadBasedAutoScalingArgs.java new file mode 100644 index 00000000000..c53da3f4c0b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/StaticWebLayerLoadBasedAutoScalingArgs.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.aws.opsworks.inputs.StaticWebLayerLoadBasedAutoScalingDownscalingArgs; +import com.pulumi.aws.opsworks.inputs.StaticWebLayerLoadBasedAutoScalingUpscalingArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StaticWebLayerLoadBasedAutoScalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final StaticWebLayerLoadBasedAutoScalingArgs Empty = new StaticWebLayerLoadBasedAutoScalingArgs(); + + @Import(name="downscaling") + private @Nullable Output downscaling; + + public Optional> downscaling() { + return Optional.ofNullable(this.downscaling); + } + + @Import(name="enable") + private @Nullable Output enable; + + public Optional> enable() { + return Optional.ofNullable(this.enable); + } + + @Import(name="upscaling") + private @Nullable Output upscaling; + + public Optional> upscaling() { + return Optional.ofNullable(this.upscaling); + } + + private StaticWebLayerLoadBasedAutoScalingArgs() {} + + private StaticWebLayerLoadBasedAutoScalingArgs(StaticWebLayerLoadBasedAutoScalingArgs $) { + this.downscaling = $.downscaling; + this.enable = $.enable; + this.upscaling = $.upscaling; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StaticWebLayerLoadBasedAutoScalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StaticWebLayerLoadBasedAutoScalingArgs $; + + public Builder() { + $ = new StaticWebLayerLoadBasedAutoScalingArgs(); + } + + public Builder(StaticWebLayerLoadBasedAutoScalingArgs defaults) { + $ = new StaticWebLayerLoadBasedAutoScalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder downscaling(@Nullable Output downscaling) { + $.downscaling = downscaling; + return this; + } + + public Builder downscaling(StaticWebLayerLoadBasedAutoScalingDownscalingArgs downscaling) { + return downscaling(Output.of(downscaling)); + } + + public Builder enable(@Nullable Output enable) { + $.enable = enable; + return this; + } + + public Builder enable(Boolean enable) { + return enable(Output.of(enable)); + } + + public Builder upscaling(@Nullable Output upscaling) { + $.upscaling = upscaling; + return this; + } + + public Builder upscaling(StaticWebLayerLoadBasedAutoScalingUpscalingArgs upscaling) { + return upscaling(Output.of(upscaling)); + } + + public StaticWebLayerLoadBasedAutoScalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/StaticWebLayerLoadBasedAutoScalingDownscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/StaticWebLayerLoadBasedAutoScalingDownscalingArgs.java new file mode 100644 index 00000000000..add8d04aa55 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/StaticWebLayerLoadBasedAutoScalingDownscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StaticWebLayerLoadBasedAutoScalingDownscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final StaticWebLayerLoadBasedAutoScalingDownscalingArgs Empty = new StaticWebLayerLoadBasedAutoScalingDownscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private StaticWebLayerLoadBasedAutoScalingDownscalingArgs() {} + + private StaticWebLayerLoadBasedAutoScalingDownscalingArgs(StaticWebLayerLoadBasedAutoScalingDownscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StaticWebLayerLoadBasedAutoScalingDownscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StaticWebLayerLoadBasedAutoScalingDownscalingArgs $; + + public Builder() { + $ = new StaticWebLayerLoadBasedAutoScalingDownscalingArgs(); + } + + public Builder(StaticWebLayerLoadBasedAutoScalingDownscalingArgs defaults) { + $ = new StaticWebLayerLoadBasedAutoScalingDownscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public StaticWebLayerLoadBasedAutoScalingDownscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/StaticWebLayerLoadBasedAutoScalingUpscalingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/StaticWebLayerLoadBasedAutoScalingUpscalingArgs.java new file mode 100644 index 00000000000..655a5117702 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/StaticWebLayerLoadBasedAutoScalingUpscalingArgs.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StaticWebLayerLoadBasedAutoScalingUpscalingArgs extends com.pulumi.resources.ResourceArgs { + + public static final StaticWebLayerLoadBasedAutoScalingUpscalingArgs Empty = new StaticWebLayerLoadBasedAutoScalingUpscalingArgs(); + + @Import(name="alarms") + private @Nullable Output> alarms; + + public Optional>> alarms() { + return Optional.ofNullable(this.alarms); + } + + @Import(name="cpuThreshold") + private @Nullable Output cpuThreshold; + + public Optional> cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + + @Import(name="ignoreMetricsTime") + private @Nullable Output ignoreMetricsTime; + + public Optional> ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + @Import(name="loadThreshold") + private @Nullable Output loadThreshold; + + public Optional> loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + + @Import(name="memoryThreshold") + private @Nullable Output memoryThreshold; + + public Optional> memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + + @Import(name="thresholdsWaitTime") + private @Nullable Output thresholdsWaitTime; + + public Optional> thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + private StaticWebLayerLoadBasedAutoScalingUpscalingArgs() {} + + private StaticWebLayerLoadBasedAutoScalingUpscalingArgs(StaticWebLayerLoadBasedAutoScalingUpscalingArgs $) { + this.alarms = $.alarms; + this.cpuThreshold = $.cpuThreshold; + this.ignoreMetricsTime = $.ignoreMetricsTime; + this.instanceCount = $.instanceCount; + this.loadThreshold = $.loadThreshold; + this.memoryThreshold = $.memoryThreshold; + this.thresholdsWaitTime = $.thresholdsWaitTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StaticWebLayerLoadBasedAutoScalingUpscalingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StaticWebLayerLoadBasedAutoScalingUpscalingArgs $; + + public Builder() { + $ = new StaticWebLayerLoadBasedAutoScalingUpscalingArgs(); + } + + public Builder(StaticWebLayerLoadBasedAutoScalingUpscalingArgs defaults) { + $ = new StaticWebLayerLoadBasedAutoScalingUpscalingArgs(Objects.requireNonNull(defaults)); + } + + public Builder alarms(@Nullable Output> alarms) { + $.alarms = alarms; + return this; + } + + public Builder alarms(List alarms) { + return alarms(Output.of(alarms)); + } + + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + + public Builder cpuThreshold(@Nullable Output cpuThreshold) { + $.cpuThreshold = cpuThreshold; + return this; + } + + public Builder cpuThreshold(Double cpuThreshold) { + return cpuThreshold(Output.of(cpuThreshold)); + } + + public Builder ignoreMetricsTime(@Nullable Output ignoreMetricsTime) { + $.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + + public Builder ignoreMetricsTime(Integer ignoreMetricsTime) { + return ignoreMetricsTime(Output.of(ignoreMetricsTime)); + } + + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + public Builder loadThreshold(@Nullable Output loadThreshold) { + $.loadThreshold = loadThreshold; + return this; + } + + public Builder loadThreshold(Double loadThreshold) { + return loadThreshold(Output.of(loadThreshold)); + } + + public Builder memoryThreshold(@Nullable Output memoryThreshold) { + $.memoryThreshold = memoryThreshold; + return this; + } + + public Builder memoryThreshold(Double memoryThreshold) { + return memoryThreshold(Output.of(memoryThreshold)); + } + + public Builder thresholdsWaitTime(@Nullable Output thresholdsWaitTime) { + $.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + + public Builder thresholdsWaitTime(Integer thresholdsWaitTime) { + return thresholdsWaitTime(Output.of(thresholdsWaitTime)); + } + + public StaticWebLayerLoadBasedAutoScalingUpscalingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/StaticWebLayerState.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/StaticWebLayerState.java index 55bb304a684..b0a5026341d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/StaticWebLayerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/inputs/StaticWebLayerState.java @@ -5,6 +5,7 @@ import com.pulumi.aws.opsworks.inputs.StaticWebLayerCloudwatchConfigurationArgs; import com.pulumi.aws.opsworks.inputs.StaticWebLayerEbsVolumeArgs; +import com.pulumi.aws.opsworks.inputs.StaticWebLayerLoadBasedAutoScalingArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -235,6 +236,13 @@ public Optional> instanceShutdownTimeout() { return Optional.ofNullable(this.instanceShutdownTimeout); } + @Import(name="loadBasedAutoScaling") + private @Nullable Output loadBasedAutoScaling; + + public Optional> loadBasedAutoScaling() { + return Optional.ofNullable(this.loadBasedAutoScaling); + } + /** * A human-readable name for the layer. * @@ -346,6 +354,7 @@ private StaticWebLayerState(StaticWebLayerState $) { this.elasticLoadBalancer = $.elasticLoadBalancer; this.installUpdatesOnBoot = $.installUpdatesOnBoot; this.instanceShutdownTimeout = $.instanceShutdownTimeout; + this.loadBasedAutoScaling = $.loadBasedAutoScaling; this.name = $.name; this.stackId = $.stackId; this.systemPackages = $.systemPackages; @@ -706,6 +715,15 @@ public Builder instanceShutdownTimeout(Integer instanceShutdownTimeout) { return instanceShutdownTimeout(Output.of(instanceShutdownTimeout)); } + public Builder loadBasedAutoScaling(@Nullable Output loadBasedAutoScaling) { + $.loadBasedAutoScaling = loadBasedAutoScaling; + return this; + } + + public Builder loadBasedAutoScaling(StaticWebLayerLoadBasedAutoScalingArgs loadBasedAutoScaling) { + return loadBasedAutoScaling(Output.of(loadBasedAutoScaling)); + } + /** * @param name A human-readable name for the layer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/CustomLayerLoadBasedAutoScaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/CustomLayerLoadBasedAutoScaling.java new file mode 100644 index 00000000000..3ef21151930 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/CustomLayerLoadBasedAutoScaling.java @@ -0,0 +1,98 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.aws.opsworks.outputs.CustomLayerLoadBasedAutoScalingDownscaling; +import com.pulumi.aws.opsworks.outputs.CustomLayerLoadBasedAutoScalingUpscaling; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CustomLayerLoadBasedAutoScaling { + /** + * @return The downscaling settings, as defined below, used for load-based autoscaling + * + */ + private @Nullable CustomLayerLoadBasedAutoScalingDownscaling downscaling; + /** + * @return Whether load-based auto scaling is enabled for the layer. + * + */ + private @Nullable Boolean enable; + /** + * @return The upscaling settings, as defined below, used for load-based autoscaling + * + */ + private @Nullable CustomLayerLoadBasedAutoScalingUpscaling upscaling; + + private CustomLayerLoadBasedAutoScaling() {} + /** + * @return The downscaling settings, as defined below, used for load-based autoscaling + * + */ + public Optional downscaling() { + return Optional.ofNullable(this.downscaling); + } + /** + * @return Whether load-based auto scaling is enabled for the layer. + * + */ + public Optional enable() { + return Optional.ofNullable(this.enable); + } + /** + * @return The upscaling settings, as defined below, used for load-based autoscaling + * + */ + public Optional upscaling() { + return Optional.ofNullable(this.upscaling); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CustomLayerLoadBasedAutoScaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable CustomLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable CustomLayerLoadBasedAutoScalingUpscaling upscaling; + public Builder() {} + public Builder(CustomLayerLoadBasedAutoScaling defaults) { + Objects.requireNonNull(defaults); + this.downscaling = defaults.downscaling; + this.enable = defaults.enable; + this.upscaling = defaults.upscaling; + } + + @CustomType.Setter + public Builder downscaling(@Nullable CustomLayerLoadBasedAutoScalingDownscaling downscaling) { + this.downscaling = downscaling; + return this; + } + @CustomType.Setter + public Builder enable(@Nullable Boolean enable) { + this.enable = enable; + return this; + } + @CustomType.Setter + public Builder upscaling(@Nullable CustomLayerLoadBasedAutoScalingUpscaling upscaling) { + this.upscaling = upscaling; + return this; + } + public CustomLayerLoadBasedAutoScaling build() { + final var o = new CustomLayerLoadBasedAutoScaling(); + o.downscaling = downscaling; + o.enable = enable; + o.upscaling = upscaling; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/CustomLayerLoadBasedAutoScalingDownscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/CustomLayerLoadBasedAutoScalingDownscaling.java new file mode 100644 index 00000000000..940f4f38674 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/CustomLayerLoadBasedAutoScalingDownscaling.java @@ -0,0 +1,182 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CustomLayerLoadBasedAutoScalingDownscaling { + /** + * @return Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + * + */ + private @Nullable List alarms; + /** + * @return The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + * + */ + private @Nullable Double cpuThreshold; + /** + * @return The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + * + */ + private @Nullable Integer ignoreMetricsTime; + /** + * @return The number of instances to add or remove when the load exceeds a threshold. + * + */ + private @Nullable Integer instanceCount; + /** + * @return The load threshold. A value of -1 disables the threshold. + * + */ + private @Nullable Double loadThreshold; + /** + * @return The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + * + */ + private @Nullable Double memoryThreshold; + /** + * @return The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + * + */ + private @Nullable Integer thresholdsWaitTime; + + private CustomLayerLoadBasedAutoScalingDownscaling() {} + /** + * @return Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + * + */ + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + /** + * @return The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + * + */ + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + /** + * @return The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + * + */ + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + /** + * @return The number of instances to add or remove when the load exceeds a threshold. + * + */ + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + /** + * @return The load threshold. A value of -1 disables the threshold. + * + */ + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + /** + * @return The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + * + */ + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + /** + * @return The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + * + */ + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CustomLayerLoadBasedAutoScalingDownscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(CustomLayerLoadBasedAutoScalingDownscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public CustomLayerLoadBasedAutoScalingDownscaling build() { + final var o = new CustomLayerLoadBasedAutoScalingDownscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/CustomLayerLoadBasedAutoScalingUpscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/CustomLayerLoadBasedAutoScalingUpscaling.java new file mode 100644 index 00000000000..14fe6f5b7e0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/CustomLayerLoadBasedAutoScalingUpscaling.java @@ -0,0 +1,182 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CustomLayerLoadBasedAutoScalingUpscaling { + /** + * @return Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + * + */ + private @Nullable List alarms; + /** + * @return The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + * + */ + private @Nullable Double cpuThreshold; + /** + * @return The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + * + */ + private @Nullable Integer ignoreMetricsTime; + /** + * @return The number of instances to add or remove when the load exceeds a threshold. + * + */ + private @Nullable Integer instanceCount; + /** + * @return The load threshold. A value of -1 disables the threshold. + * + */ + private @Nullable Double loadThreshold; + /** + * @return The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + * + */ + private @Nullable Double memoryThreshold; + /** + * @return The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + * + */ + private @Nullable Integer thresholdsWaitTime; + + private CustomLayerLoadBasedAutoScalingUpscaling() {} + /** + * @return Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + * + */ + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + /** + * @return The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + * + */ + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + /** + * @return The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + * + */ + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + /** + * @return The number of instances to add or remove when the load exceeds a threshold. + * + */ + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + /** + * @return The load threshold. A value of -1 disables the threshold. + * + */ + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + /** + * @return The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + * + */ + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + /** + * @return The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + * + */ + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CustomLayerLoadBasedAutoScalingUpscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(CustomLayerLoadBasedAutoScalingUpscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public CustomLayerLoadBasedAutoScalingUpscaling build() { + final var o = new CustomLayerLoadBasedAutoScalingUpscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/EcsClusterLayerLoadBasedAutoScaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/EcsClusterLayerLoadBasedAutoScaling.java new file mode 100644 index 00000000000..3d3549ebe87 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/EcsClusterLayerLoadBasedAutoScaling.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.aws.opsworks.outputs.EcsClusterLayerLoadBasedAutoScalingDownscaling; +import com.pulumi.aws.opsworks.outputs.EcsClusterLayerLoadBasedAutoScalingUpscaling; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class EcsClusterLayerLoadBasedAutoScaling { + private @Nullable EcsClusterLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable EcsClusterLayerLoadBasedAutoScalingUpscaling upscaling; + + private EcsClusterLayerLoadBasedAutoScaling() {} + public Optional downscaling() { + return Optional.ofNullable(this.downscaling); + } + public Optional enable() { + return Optional.ofNullable(this.enable); + } + public Optional upscaling() { + return Optional.ofNullable(this.upscaling); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(EcsClusterLayerLoadBasedAutoScaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable EcsClusterLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable EcsClusterLayerLoadBasedAutoScalingUpscaling upscaling; + public Builder() {} + public Builder(EcsClusterLayerLoadBasedAutoScaling defaults) { + Objects.requireNonNull(defaults); + this.downscaling = defaults.downscaling; + this.enable = defaults.enable; + this.upscaling = defaults.upscaling; + } + + @CustomType.Setter + public Builder downscaling(@Nullable EcsClusterLayerLoadBasedAutoScalingDownscaling downscaling) { + this.downscaling = downscaling; + return this; + } + @CustomType.Setter + public Builder enable(@Nullable Boolean enable) { + this.enable = enable; + return this; + } + @CustomType.Setter + public Builder upscaling(@Nullable EcsClusterLayerLoadBasedAutoScalingUpscaling upscaling) { + this.upscaling = upscaling; + return this; + } + public EcsClusterLayerLoadBasedAutoScaling build() { + final var o = new EcsClusterLayerLoadBasedAutoScaling(); + o.downscaling = downscaling; + o.enable = enable; + o.upscaling = upscaling; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/EcsClusterLayerLoadBasedAutoScalingDownscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/EcsClusterLayerLoadBasedAutoScalingDownscaling.java new file mode 100644 index 00000000000..990b20e89b2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/EcsClusterLayerLoadBasedAutoScalingDownscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class EcsClusterLayerLoadBasedAutoScalingDownscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private EcsClusterLayerLoadBasedAutoScalingDownscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(EcsClusterLayerLoadBasedAutoScalingDownscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(EcsClusterLayerLoadBasedAutoScalingDownscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public EcsClusterLayerLoadBasedAutoScalingDownscaling build() { + final var o = new EcsClusterLayerLoadBasedAutoScalingDownscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/EcsClusterLayerLoadBasedAutoScalingUpscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/EcsClusterLayerLoadBasedAutoScalingUpscaling.java new file mode 100644 index 00000000000..6ab560980e6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/EcsClusterLayerLoadBasedAutoScalingUpscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class EcsClusterLayerLoadBasedAutoScalingUpscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private EcsClusterLayerLoadBasedAutoScalingUpscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(EcsClusterLayerLoadBasedAutoScalingUpscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(EcsClusterLayerLoadBasedAutoScalingUpscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public EcsClusterLayerLoadBasedAutoScalingUpscaling build() { + final var o = new EcsClusterLayerLoadBasedAutoScalingUpscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/GangliaLayerLoadBasedAutoScaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/GangliaLayerLoadBasedAutoScaling.java new file mode 100644 index 00000000000..f92ba9b3bb7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/GangliaLayerLoadBasedAutoScaling.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.aws.opsworks.outputs.GangliaLayerLoadBasedAutoScalingDownscaling; +import com.pulumi.aws.opsworks.outputs.GangliaLayerLoadBasedAutoScalingUpscaling; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GangliaLayerLoadBasedAutoScaling { + private @Nullable GangliaLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable GangliaLayerLoadBasedAutoScalingUpscaling upscaling; + + private GangliaLayerLoadBasedAutoScaling() {} + public Optional downscaling() { + return Optional.ofNullable(this.downscaling); + } + public Optional enable() { + return Optional.ofNullable(this.enable); + } + public Optional upscaling() { + return Optional.ofNullable(this.upscaling); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GangliaLayerLoadBasedAutoScaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable GangliaLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable GangliaLayerLoadBasedAutoScalingUpscaling upscaling; + public Builder() {} + public Builder(GangliaLayerLoadBasedAutoScaling defaults) { + Objects.requireNonNull(defaults); + this.downscaling = defaults.downscaling; + this.enable = defaults.enable; + this.upscaling = defaults.upscaling; + } + + @CustomType.Setter + public Builder downscaling(@Nullable GangliaLayerLoadBasedAutoScalingDownscaling downscaling) { + this.downscaling = downscaling; + return this; + } + @CustomType.Setter + public Builder enable(@Nullable Boolean enable) { + this.enable = enable; + return this; + } + @CustomType.Setter + public Builder upscaling(@Nullable GangliaLayerLoadBasedAutoScalingUpscaling upscaling) { + this.upscaling = upscaling; + return this; + } + public GangliaLayerLoadBasedAutoScaling build() { + final var o = new GangliaLayerLoadBasedAutoScaling(); + o.downscaling = downscaling; + o.enable = enable; + o.upscaling = upscaling; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/GangliaLayerLoadBasedAutoScalingDownscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/GangliaLayerLoadBasedAutoScalingDownscaling.java new file mode 100644 index 00000000000..3bfab8ee218 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/GangliaLayerLoadBasedAutoScalingDownscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GangliaLayerLoadBasedAutoScalingDownscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private GangliaLayerLoadBasedAutoScalingDownscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GangliaLayerLoadBasedAutoScalingDownscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(GangliaLayerLoadBasedAutoScalingDownscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public GangliaLayerLoadBasedAutoScalingDownscaling build() { + final var o = new GangliaLayerLoadBasedAutoScalingDownscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/GangliaLayerLoadBasedAutoScalingUpscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/GangliaLayerLoadBasedAutoScalingUpscaling.java new file mode 100644 index 00000000000..f359fa9f324 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/GangliaLayerLoadBasedAutoScalingUpscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GangliaLayerLoadBasedAutoScalingUpscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private GangliaLayerLoadBasedAutoScalingUpscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GangliaLayerLoadBasedAutoScalingUpscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(GangliaLayerLoadBasedAutoScalingUpscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public GangliaLayerLoadBasedAutoScalingUpscaling build() { + final var o = new GangliaLayerLoadBasedAutoScalingUpscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/HaproxyLayerLoadBasedAutoScaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/HaproxyLayerLoadBasedAutoScaling.java new file mode 100644 index 00000000000..a49d8350cce --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/HaproxyLayerLoadBasedAutoScaling.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.aws.opsworks.outputs.HaproxyLayerLoadBasedAutoScalingDownscaling; +import com.pulumi.aws.opsworks.outputs.HaproxyLayerLoadBasedAutoScalingUpscaling; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class HaproxyLayerLoadBasedAutoScaling { + private @Nullable HaproxyLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable HaproxyLayerLoadBasedAutoScalingUpscaling upscaling; + + private HaproxyLayerLoadBasedAutoScaling() {} + public Optional downscaling() { + return Optional.ofNullable(this.downscaling); + } + public Optional enable() { + return Optional.ofNullable(this.enable); + } + public Optional upscaling() { + return Optional.ofNullable(this.upscaling); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HaproxyLayerLoadBasedAutoScaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable HaproxyLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable HaproxyLayerLoadBasedAutoScalingUpscaling upscaling; + public Builder() {} + public Builder(HaproxyLayerLoadBasedAutoScaling defaults) { + Objects.requireNonNull(defaults); + this.downscaling = defaults.downscaling; + this.enable = defaults.enable; + this.upscaling = defaults.upscaling; + } + + @CustomType.Setter + public Builder downscaling(@Nullable HaproxyLayerLoadBasedAutoScalingDownscaling downscaling) { + this.downscaling = downscaling; + return this; + } + @CustomType.Setter + public Builder enable(@Nullable Boolean enable) { + this.enable = enable; + return this; + } + @CustomType.Setter + public Builder upscaling(@Nullable HaproxyLayerLoadBasedAutoScalingUpscaling upscaling) { + this.upscaling = upscaling; + return this; + } + public HaproxyLayerLoadBasedAutoScaling build() { + final var o = new HaproxyLayerLoadBasedAutoScaling(); + o.downscaling = downscaling; + o.enable = enable; + o.upscaling = upscaling; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/HaproxyLayerLoadBasedAutoScalingDownscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/HaproxyLayerLoadBasedAutoScalingDownscaling.java new file mode 100644 index 00000000000..7b7c33a6cdf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/HaproxyLayerLoadBasedAutoScalingDownscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class HaproxyLayerLoadBasedAutoScalingDownscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private HaproxyLayerLoadBasedAutoScalingDownscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HaproxyLayerLoadBasedAutoScalingDownscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(HaproxyLayerLoadBasedAutoScalingDownscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public HaproxyLayerLoadBasedAutoScalingDownscaling build() { + final var o = new HaproxyLayerLoadBasedAutoScalingDownscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/HaproxyLayerLoadBasedAutoScalingUpscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/HaproxyLayerLoadBasedAutoScalingUpscaling.java new file mode 100644 index 00000000000..b270d400279 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/HaproxyLayerLoadBasedAutoScalingUpscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class HaproxyLayerLoadBasedAutoScalingUpscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private HaproxyLayerLoadBasedAutoScalingUpscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HaproxyLayerLoadBasedAutoScalingUpscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(HaproxyLayerLoadBasedAutoScalingUpscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public HaproxyLayerLoadBasedAutoScalingUpscaling build() { + final var o = new HaproxyLayerLoadBasedAutoScalingUpscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/JavaAppLayerLoadBasedAutoScaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/JavaAppLayerLoadBasedAutoScaling.java new file mode 100644 index 00000000000..d21000edf5f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/JavaAppLayerLoadBasedAutoScaling.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.aws.opsworks.outputs.JavaAppLayerLoadBasedAutoScalingDownscaling; +import com.pulumi.aws.opsworks.outputs.JavaAppLayerLoadBasedAutoScalingUpscaling; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JavaAppLayerLoadBasedAutoScaling { + private @Nullable JavaAppLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable JavaAppLayerLoadBasedAutoScalingUpscaling upscaling; + + private JavaAppLayerLoadBasedAutoScaling() {} + public Optional downscaling() { + return Optional.ofNullable(this.downscaling); + } + public Optional enable() { + return Optional.ofNullable(this.enable); + } + public Optional upscaling() { + return Optional.ofNullable(this.upscaling); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JavaAppLayerLoadBasedAutoScaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable JavaAppLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable JavaAppLayerLoadBasedAutoScalingUpscaling upscaling; + public Builder() {} + public Builder(JavaAppLayerLoadBasedAutoScaling defaults) { + Objects.requireNonNull(defaults); + this.downscaling = defaults.downscaling; + this.enable = defaults.enable; + this.upscaling = defaults.upscaling; + } + + @CustomType.Setter + public Builder downscaling(@Nullable JavaAppLayerLoadBasedAutoScalingDownscaling downscaling) { + this.downscaling = downscaling; + return this; + } + @CustomType.Setter + public Builder enable(@Nullable Boolean enable) { + this.enable = enable; + return this; + } + @CustomType.Setter + public Builder upscaling(@Nullable JavaAppLayerLoadBasedAutoScalingUpscaling upscaling) { + this.upscaling = upscaling; + return this; + } + public JavaAppLayerLoadBasedAutoScaling build() { + final var o = new JavaAppLayerLoadBasedAutoScaling(); + o.downscaling = downscaling; + o.enable = enable; + o.upscaling = upscaling; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/JavaAppLayerLoadBasedAutoScalingDownscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/JavaAppLayerLoadBasedAutoScalingDownscaling.java new file mode 100644 index 00000000000..9004fbf436e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/JavaAppLayerLoadBasedAutoScalingDownscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JavaAppLayerLoadBasedAutoScalingDownscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private JavaAppLayerLoadBasedAutoScalingDownscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JavaAppLayerLoadBasedAutoScalingDownscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(JavaAppLayerLoadBasedAutoScalingDownscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public JavaAppLayerLoadBasedAutoScalingDownscaling build() { + final var o = new JavaAppLayerLoadBasedAutoScalingDownscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/JavaAppLayerLoadBasedAutoScalingUpscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/JavaAppLayerLoadBasedAutoScalingUpscaling.java new file mode 100644 index 00000000000..463e5550739 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/JavaAppLayerLoadBasedAutoScalingUpscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JavaAppLayerLoadBasedAutoScalingUpscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private JavaAppLayerLoadBasedAutoScalingUpscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JavaAppLayerLoadBasedAutoScalingUpscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(JavaAppLayerLoadBasedAutoScalingUpscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public JavaAppLayerLoadBasedAutoScalingUpscaling build() { + final var o = new JavaAppLayerLoadBasedAutoScalingUpscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MemcachedLayerLoadBasedAutoScaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MemcachedLayerLoadBasedAutoScaling.java new file mode 100644 index 00000000000..f951cb38c65 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MemcachedLayerLoadBasedAutoScaling.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.aws.opsworks.outputs.MemcachedLayerLoadBasedAutoScalingDownscaling; +import com.pulumi.aws.opsworks.outputs.MemcachedLayerLoadBasedAutoScalingUpscaling; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class MemcachedLayerLoadBasedAutoScaling { + private @Nullable MemcachedLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable MemcachedLayerLoadBasedAutoScalingUpscaling upscaling; + + private MemcachedLayerLoadBasedAutoScaling() {} + public Optional downscaling() { + return Optional.ofNullable(this.downscaling); + } + public Optional enable() { + return Optional.ofNullable(this.enable); + } + public Optional upscaling() { + return Optional.ofNullable(this.upscaling); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MemcachedLayerLoadBasedAutoScaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable MemcachedLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable MemcachedLayerLoadBasedAutoScalingUpscaling upscaling; + public Builder() {} + public Builder(MemcachedLayerLoadBasedAutoScaling defaults) { + Objects.requireNonNull(defaults); + this.downscaling = defaults.downscaling; + this.enable = defaults.enable; + this.upscaling = defaults.upscaling; + } + + @CustomType.Setter + public Builder downscaling(@Nullable MemcachedLayerLoadBasedAutoScalingDownscaling downscaling) { + this.downscaling = downscaling; + return this; + } + @CustomType.Setter + public Builder enable(@Nullable Boolean enable) { + this.enable = enable; + return this; + } + @CustomType.Setter + public Builder upscaling(@Nullable MemcachedLayerLoadBasedAutoScalingUpscaling upscaling) { + this.upscaling = upscaling; + return this; + } + public MemcachedLayerLoadBasedAutoScaling build() { + final var o = new MemcachedLayerLoadBasedAutoScaling(); + o.downscaling = downscaling; + o.enable = enable; + o.upscaling = upscaling; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MemcachedLayerLoadBasedAutoScalingDownscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MemcachedLayerLoadBasedAutoScalingDownscaling.java new file mode 100644 index 00000000000..4e48dd05406 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MemcachedLayerLoadBasedAutoScalingDownscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class MemcachedLayerLoadBasedAutoScalingDownscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private MemcachedLayerLoadBasedAutoScalingDownscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MemcachedLayerLoadBasedAutoScalingDownscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(MemcachedLayerLoadBasedAutoScalingDownscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public MemcachedLayerLoadBasedAutoScalingDownscaling build() { + final var o = new MemcachedLayerLoadBasedAutoScalingDownscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MemcachedLayerLoadBasedAutoScalingUpscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MemcachedLayerLoadBasedAutoScalingUpscaling.java new file mode 100644 index 00000000000..e9bdafea4e5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MemcachedLayerLoadBasedAutoScalingUpscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class MemcachedLayerLoadBasedAutoScalingUpscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private MemcachedLayerLoadBasedAutoScalingUpscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MemcachedLayerLoadBasedAutoScalingUpscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(MemcachedLayerLoadBasedAutoScalingUpscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public MemcachedLayerLoadBasedAutoScalingUpscaling build() { + final var o = new MemcachedLayerLoadBasedAutoScalingUpscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MysqlLayerLoadBasedAutoScaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MysqlLayerLoadBasedAutoScaling.java new file mode 100644 index 00000000000..f43acfb6695 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MysqlLayerLoadBasedAutoScaling.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.aws.opsworks.outputs.MysqlLayerLoadBasedAutoScalingDownscaling; +import com.pulumi.aws.opsworks.outputs.MysqlLayerLoadBasedAutoScalingUpscaling; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class MysqlLayerLoadBasedAutoScaling { + private @Nullable MysqlLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable MysqlLayerLoadBasedAutoScalingUpscaling upscaling; + + private MysqlLayerLoadBasedAutoScaling() {} + public Optional downscaling() { + return Optional.ofNullable(this.downscaling); + } + public Optional enable() { + return Optional.ofNullable(this.enable); + } + public Optional upscaling() { + return Optional.ofNullable(this.upscaling); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MysqlLayerLoadBasedAutoScaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable MysqlLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable MysqlLayerLoadBasedAutoScalingUpscaling upscaling; + public Builder() {} + public Builder(MysqlLayerLoadBasedAutoScaling defaults) { + Objects.requireNonNull(defaults); + this.downscaling = defaults.downscaling; + this.enable = defaults.enable; + this.upscaling = defaults.upscaling; + } + + @CustomType.Setter + public Builder downscaling(@Nullable MysqlLayerLoadBasedAutoScalingDownscaling downscaling) { + this.downscaling = downscaling; + return this; + } + @CustomType.Setter + public Builder enable(@Nullable Boolean enable) { + this.enable = enable; + return this; + } + @CustomType.Setter + public Builder upscaling(@Nullable MysqlLayerLoadBasedAutoScalingUpscaling upscaling) { + this.upscaling = upscaling; + return this; + } + public MysqlLayerLoadBasedAutoScaling build() { + final var o = new MysqlLayerLoadBasedAutoScaling(); + o.downscaling = downscaling; + o.enable = enable; + o.upscaling = upscaling; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MysqlLayerLoadBasedAutoScalingDownscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MysqlLayerLoadBasedAutoScalingDownscaling.java new file mode 100644 index 00000000000..95798457fb2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MysqlLayerLoadBasedAutoScalingDownscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class MysqlLayerLoadBasedAutoScalingDownscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private MysqlLayerLoadBasedAutoScalingDownscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MysqlLayerLoadBasedAutoScalingDownscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(MysqlLayerLoadBasedAutoScalingDownscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public MysqlLayerLoadBasedAutoScalingDownscaling build() { + final var o = new MysqlLayerLoadBasedAutoScalingDownscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MysqlLayerLoadBasedAutoScalingUpscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MysqlLayerLoadBasedAutoScalingUpscaling.java new file mode 100644 index 00000000000..6b9dc8cb3da --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/MysqlLayerLoadBasedAutoScalingUpscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class MysqlLayerLoadBasedAutoScalingUpscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private MysqlLayerLoadBasedAutoScalingUpscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MysqlLayerLoadBasedAutoScalingUpscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(MysqlLayerLoadBasedAutoScalingUpscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public MysqlLayerLoadBasedAutoScalingUpscaling build() { + final var o = new MysqlLayerLoadBasedAutoScalingUpscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/NodejsAppLayerLoadBasedAutoScaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/NodejsAppLayerLoadBasedAutoScaling.java new file mode 100644 index 00000000000..d61ac7b66e7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/NodejsAppLayerLoadBasedAutoScaling.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.aws.opsworks.outputs.NodejsAppLayerLoadBasedAutoScalingDownscaling; +import com.pulumi.aws.opsworks.outputs.NodejsAppLayerLoadBasedAutoScalingUpscaling; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class NodejsAppLayerLoadBasedAutoScaling { + private @Nullable NodejsAppLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable NodejsAppLayerLoadBasedAutoScalingUpscaling upscaling; + + private NodejsAppLayerLoadBasedAutoScaling() {} + public Optional downscaling() { + return Optional.ofNullable(this.downscaling); + } + public Optional enable() { + return Optional.ofNullable(this.enable); + } + public Optional upscaling() { + return Optional.ofNullable(this.upscaling); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NodejsAppLayerLoadBasedAutoScaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable NodejsAppLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable NodejsAppLayerLoadBasedAutoScalingUpscaling upscaling; + public Builder() {} + public Builder(NodejsAppLayerLoadBasedAutoScaling defaults) { + Objects.requireNonNull(defaults); + this.downscaling = defaults.downscaling; + this.enable = defaults.enable; + this.upscaling = defaults.upscaling; + } + + @CustomType.Setter + public Builder downscaling(@Nullable NodejsAppLayerLoadBasedAutoScalingDownscaling downscaling) { + this.downscaling = downscaling; + return this; + } + @CustomType.Setter + public Builder enable(@Nullable Boolean enable) { + this.enable = enable; + return this; + } + @CustomType.Setter + public Builder upscaling(@Nullable NodejsAppLayerLoadBasedAutoScalingUpscaling upscaling) { + this.upscaling = upscaling; + return this; + } + public NodejsAppLayerLoadBasedAutoScaling build() { + final var o = new NodejsAppLayerLoadBasedAutoScaling(); + o.downscaling = downscaling; + o.enable = enable; + o.upscaling = upscaling; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/NodejsAppLayerLoadBasedAutoScalingDownscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/NodejsAppLayerLoadBasedAutoScalingDownscaling.java new file mode 100644 index 00000000000..d613b75764f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/NodejsAppLayerLoadBasedAutoScalingDownscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class NodejsAppLayerLoadBasedAutoScalingDownscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private NodejsAppLayerLoadBasedAutoScalingDownscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NodejsAppLayerLoadBasedAutoScalingDownscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(NodejsAppLayerLoadBasedAutoScalingDownscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public NodejsAppLayerLoadBasedAutoScalingDownscaling build() { + final var o = new NodejsAppLayerLoadBasedAutoScalingDownscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/NodejsAppLayerLoadBasedAutoScalingUpscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/NodejsAppLayerLoadBasedAutoScalingUpscaling.java new file mode 100644 index 00000000000..4abad17c26b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/NodejsAppLayerLoadBasedAutoScalingUpscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class NodejsAppLayerLoadBasedAutoScalingUpscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private NodejsAppLayerLoadBasedAutoScalingUpscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NodejsAppLayerLoadBasedAutoScalingUpscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(NodejsAppLayerLoadBasedAutoScalingUpscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public NodejsAppLayerLoadBasedAutoScalingUpscaling build() { + final var o = new NodejsAppLayerLoadBasedAutoScalingUpscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/PhpAppLayerLoadBasedAutoScaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/PhpAppLayerLoadBasedAutoScaling.java new file mode 100644 index 00000000000..944da77cc25 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/PhpAppLayerLoadBasedAutoScaling.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.aws.opsworks.outputs.PhpAppLayerLoadBasedAutoScalingDownscaling; +import com.pulumi.aws.opsworks.outputs.PhpAppLayerLoadBasedAutoScalingUpscaling; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class PhpAppLayerLoadBasedAutoScaling { + private @Nullable PhpAppLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable PhpAppLayerLoadBasedAutoScalingUpscaling upscaling; + + private PhpAppLayerLoadBasedAutoScaling() {} + public Optional downscaling() { + return Optional.ofNullable(this.downscaling); + } + public Optional enable() { + return Optional.ofNullable(this.enable); + } + public Optional upscaling() { + return Optional.ofNullable(this.upscaling); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(PhpAppLayerLoadBasedAutoScaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable PhpAppLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable PhpAppLayerLoadBasedAutoScalingUpscaling upscaling; + public Builder() {} + public Builder(PhpAppLayerLoadBasedAutoScaling defaults) { + Objects.requireNonNull(defaults); + this.downscaling = defaults.downscaling; + this.enable = defaults.enable; + this.upscaling = defaults.upscaling; + } + + @CustomType.Setter + public Builder downscaling(@Nullable PhpAppLayerLoadBasedAutoScalingDownscaling downscaling) { + this.downscaling = downscaling; + return this; + } + @CustomType.Setter + public Builder enable(@Nullable Boolean enable) { + this.enable = enable; + return this; + } + @CustomType.Setter + public Builder upscaling(@Nullable PhpAppLayerLoadBasedAutoScalingUpscaling upscaling) { + this.upscaling = upscaling; + return this; + } + public PhpAppLayerLoadBasedAutoScaling build() { + final var o = new PhpAppLayerLoadBasedAutoScaling(); + o.downscaling = downscaling; + o.enable = enable; + o.upscaling = upscaling; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/PhpAppLayerLoadBasedAutoScalingDownscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/PhpAppLayerLoadBasedAutoScalingDownscaling.java new file mode 100644 index 00000000000..aa8404dd063 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/PhpAppLayerLoadBasedAutoScalingDownscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class PhpAppLayerLoadBasedAutoScalingDownscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private PhpAppLayerLoadBasedAutoScalingDownscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(PhpAppLayerLoadBasedAutoScalingDownscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(PhpAppLayerLoadBasedAutoScalingDownscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public PhpAppLayerLoadBasedAutoScalingDownscaling build() { + final var o = new PhpAppLayerLoadBasedAutoScalingDownscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/PhpAppLayerLoadBasedAutoScalingUpscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/PhpAppLayerLoadBasedAutoScalingUpscaling.java new file mode 100644 index 00000000000..490428486aa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/PhpAppLayerLoadBasedAutoScalingUpscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class PhpAppLayerLoadBasedAutoScalingUpscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private PhpAppLayerLoadBasedAutoScalingUpscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(PhpAppLayerLoadBasedAutoScalingUpscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(PhpAppLayerLoadBasedAutoScalingUpscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public PhpAppLayerLoadBasedAutoScalingUpscaling build() { + final var o = new PhpAppLayerLoadBasedAutoScalingUpscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/RailsAppLayerLoadBasedAutoScaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/RailsAppLayerLoadBasedAutoScaling.java new file mode 100644 index 00000000000..f495bbaec51 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/RailsAppLayerLoadBasedAutoScaling.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.aws.opsworks.outputs.RailsAppLayerLoadBasedAutoScalingDownscaling; +import com.pulumi.aws.opsworks.outputs.RailsAppLayerLoadBasedAutoScalingUpscaling; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RailsAppLayerLoadBasedAutoScaling { + private @Nullable RailsAppLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable RailsAppLayerLoadBasedAutoScalingUpscaling upscaling; + + private RailsAppLayerLoadBasedAutoScaling() {} + public Optional downscaling() { + return Optional.ofNullable(this.downscaling); + } + public Optional enable() { + return Optional.ofNullable(this.enable); + } + public Optional upscaling() { + return Optional.ofNullable(this.upscaling); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RailsAppLayerLoadBasedAutoScaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable RailsAppLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable RailsAppLayerLoadBasedAutoScalingUpscaling upscaling; + public Builder() {} + public Builder(RailsAppLayerLoadBasedAutoScaling defaults) { + Objects.requireNonNull(defaults); + this.downscaling = defaults.downscaling; + this.enable = defaults.enable; + this.upscaling = defaults.upscaling; + } + + @CustomType.Setter + public Builder downscaling(@Nullable RailsAppLayerLoadBasedAutoScalingDownscaling downscaling) { + this.downscaling = downscaling; + return this; + } + @CustomType.Setter + public Builder enable(@Nullable Boolean enable) { + this.enable = enable; + return this; + } + @CustomType.Setter + public Builder upscaling(@Nullable RailsAppLayerLoadBasedAutoScalingUpscaling upscaling) { + this.upscaling = upscaling; + return this; + } + public RailsAppLayerLoadBasedAutoScaling build() { + final var o = new RailsAppLayerLoadBasedAutoScaling(); + o.downscaling = downscaling; + o.enable = enable; + o.upscaling = upscaling; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/RailsAppLayerLoadBasedAutoScalingDownscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/RailsAppLayerLoadBasedAutoScalingDownscaling.java new file mode 100644 index 00000000000..0f5e33fb283 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/RailsAppLayerLoadBasedAutoScalingDownscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RailsAppLayerLoadBasedAutoScalingDownscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private RailsAppLayerLoadBasedAutoScalingDownscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RailsAppLayerLoadBasedAutoScalingDownscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(RailsAppLayerLoadBasedAutoScalingDownscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public RailsAppLayerLoadBasedAutoScalingDownscaling build() { + final var o = new RailsAppLayerLoadBasedAutoScalingDownscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/RailsAppLayerLoadBasedAutoScalingUpscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/RailsAppLayerLoadBasedAutoScalingUpscaling.java new file mode 100644 index 00000000000..49211e5c2e0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/RailsAppLayerLoadBasedAutoScalingUpscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RailsAppLayerLoadBasedAutoScalingUpscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private RailsAppLayerLoadBasedAutoScalingUpscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RailsAppLayerLoadBasedAutoScalingUpscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(RailsAppLayerLoadBasedAutoScalingUpscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public RailsAppLayerLoadBasedAutoScalingUpscaling build() { + final var o = new RailsAppLayerLoadBasedAutoScalingUpscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/StaticWebLayerLoadBasedAutoScaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/StaticWebLayerLoadBasedAutoScaling.java new file mode 100644 index 00000000000..4a23c1f7cdd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/StaticWebLayerLoadBasedAutoScaling.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.aws.opsworks.outputs.StaticWebLayerLoadBasedAutoScalingDownscaling; +import com.pulumi.aws.opsworks.outputs.StaticWebLayerLoadBasedAutoScalingUpscaling; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StaticWebLayerLoadBasedAutoScaling { + private @Nullable StaticWebLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable StaticWebLayerLoadBasedAutoScalingUpscaling upscaling; + + private StaticWebLayerLoadBasedAutoScaling() {} + public Optional downscaling() { + return Optional.ofNullable(this.downscaling); + } + public Optional enable() { + return Optional.ofNullable(this.enable); + } + public Optional upscaling() { + return Optional.ofNullable(this.upscaling); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StaticWebLayerLoadBasedAutoScaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable StaticWebLayerLoadBasedAutoScalingDownscaling downscaling; + private @Nullable Boolean enable; + private @Nullable StaticWebLayerLoadBasedAutoScalingUpscaling upscaling; + public Builder() {} + public Builder(StaticWebLayerLoadBasedAutoScaling defaults) { + Objects.requireNonNull(defaults); + this.downscaling = defaults.downscaling; + this.enable = defaults.enable; + this.upscaling = defaults.upscaling; + } + + @CustomType.Setter + public Builder downscaling(@Nullable StaticWebLayerLoadBasedAutoScalingDownscaling downscaling) { + this.downscaling = downscaling; + return this; + } + @CustomType.Setter + public Builder enable(@Nullable Boolean enable) { + this.enable = enable; + return this; + } + @CustomType.Setter + public Builder upscaling(@Nullable StaticWebLayerLoadBasedAutoScalingUpscaling upscaling) { + this.upscaling = upscaling; + return this; + } + public StaticWebLayerLoadBasedAutoScaling build() { + final var o = new StaticWebLayerLoadBasedAutoScaling(); + o.downscaling = downscaling; + o.enable = enable; + o.upscaling = upscaling; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/StaticWebLayerLoadBasedAutoScalingDownscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/StaticWebLayerLoadBasedAutoScalingDownscaling.java new file mode 100644 index 00000000000..1b34b915979 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/StaticWebLayerLoadBasedAutoScalingDownscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StaticWebLayerLoadBasedAutoScalingDownscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private StaticWebLayerLoadBasedAutoScalingDownscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StaticWebLayerLoadBasedAutoScalingDownscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(StaticWebLayerLoadBasedAutoScalingDownscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public StaticWebLayerLoadBasedAutoScalingDownscaling build() { + final var o = new StaticWebLayerLoadBasedAutoScalingDownscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/StaticWebLayerLoadBasedAutoScalingUpscaling.java b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/StaticWebLayerLoadBasedAutoScalingUpscaling.java new file mode 100644 index 00000000000..f99a2218890 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opsworks/outputs/StaticWebLayerLoadBasedAutoScalingUpscaling.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.opsworks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StaticWebLayerLoadBasedAutoScalingUpscaling { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + + private StaticWebLayerLoadBasedAutoScalingUpscaling() {} + public List alarms() { + return this.alarms == null ? List.of() : this.alarms; + } + public Optional cpuThreshold() { + return Optional.ofNullable(this.cpuThreshold); + } + public Optional ignoreMetricsTime() { + return Optional.ofNullable(this.ignoreMetricsTime); + } + public Optional instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + public Optional loadThreshold() { + return Optional.ofNullable(this.loadThreshold); + } + public Optional memoryThreshold() { + return Optional.ofNullable(this.memoryThreshold); + } + public Optional thresholdsWaitTime() { + return Optional.ofNullable(this.thresholdsWaitTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StaticWebLayerLoadBasedAutoScalingUpscaling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alarms; + private @Nullable Double cpuThreshold; + private @Nullable Integer ignoreMetricsTime; + private @Nullable Integer instanceCount; + private @Nullable Double loadThreshold; + private @Nullable Double memoryThreshold; + private @Nullable Integer thresholdsWaitTime; + public Builder() {} + public Builder(StaticWebLayerLoadBasedAutoScalingUpscaling defaults) { + Objects.requireNonNull(defaults); + this.alarms = defaults.alarms; + this.cpuThreshold = defaults.cpuThreshold; + this.ignoreMetricsTime = defaults.ignoreMetricsTime; + this.instanceCount = defaults.instanceCount; + this.loadThreshold = defaults.loadThreshold; + this.memoryThreshold = defaults.memoryThreshold; + this.thresholdsWaitTime = defaults.thresholdsWaitTime; + } + + @CustomType.Setter + public Builder alarms(@Nullable List alarms) { + this.alarms = alarms; + return this; + } + public Builder alarms(String... alarms) { + return alarms(List.of(alarms)); + } + @CustomType.Setter + public Builder cpuThreshold(@Nullable Double cpuThreshold) { + this.cpuThreshold = cpuThreshold; + return this; + } + @CustomType.Setter + public Builder ignoreMetricsTime(@Nullable Integer ignoreMetricsTime) { + this.ignoreMetricsTime = ignoreMetricsTime; + return this; + } + @CustomType.Setter + public Builder instanceCount(@Nullable Integer instanceCount) { + this.instanceCount = instanceCount; + return this; + } + @CustomType.Setter + public Builder loadThreshold(@Nullable Double loadThreshold) { + this.loadThreshold = loadThreshold; + return this; + } + @CustomType.Setter + public Builder memoryThreshold(@Nullable Double memoryThreshold) { + this.memoryThreshold = memoryThreshold; + return this; + } + @CustomType.Setter + public Builder thresholdsWaitTime(@Nullable Integer thresholdsWaitTime) { + this.thresholdsWaitTime = thresholdsWaitTime; + return this; + } + public StaticWebLayerLoadBasedAutoScalingUpscaling build() { + final var o = new StaticWebLayerLoadBasedAutoScalingUpscaling(); + o.alarms = alarms; + o.cpuThreshold = cpuThreshold; + o.ignoreMetricsTime = ignoreMetricsTime; + o.instanceCount = instanceCount; + o.loadThreshold = loadThreshold; + o.memoryThreshold = memoryThreshold; + o.thresholdsWaitTime = thresholdsWaitTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShare.java b/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShare.java index 71a39fc534b..fdd16cbac42 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShare.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShare.java @@ -53,7 +53,7 @@ * * ## Import * - * Resource shares can be imported using the `id`, e.g., + * Resource shares can be imported using the `arn` of the resource share, e.g., * * ```sh * $ pulumi import aws:ram/resourceShare:ResourceShare example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/OptionGroup.java b/sdk/java/src/main/java/com/pulumi/aws/rds/OptionGroup.java index 9c8b2ae0c01..bbef34b4b77 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/OptionGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/OptionGroup.java @@ -76,7 +76,7 @@ * } * ``` * - * > **Note**: Any modifications to the `aws.rds.OptionGroup` are set to happen immediately as we default to applying immediately. + * > **Note:** Any modifications to the `aws.rds.OptionGroup` are set to happen immediately as we default to applying immediately. * * > **WARNING:** You can perform a destroy on a `aws.rds.OptionGroup`, as long as it is not associated with any Amazon RDS resource. An option group can be associated with a DB instance, a manual DB snapshot, or an automated DB snapshot. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/RdsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/rds/RdsFunctions.java index b8838693638..9dc00b5573f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/RdsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/RdsFunctions.java @@ -20,6 +20,8 @@ import com.pulumi.aws.rds.inputs.GetOrderableDbInstancePlainArgs; import com.pulumi.aws.rds.inputs.GetProxyArgs; import com.pulumi.aws.rds.inputs.GetProxyPlainArgs; +import com.pulumi.aws.rds.inputs.GetReservedInstanceOfferingArgs; +import com.pulumi.aws.rds.inputs.GetReservedInstanceOfferingPlainArgs; import com.pulumi.aws.rds.inputs.GetSnapshotArgs; import com.pulumi.aws.rds.inputs.GetSnapshotPlainArgs; import com.pulumi.aws.rds.inputs.GetSubnetGroupArgs; @@ -32,6 +34,7 @@ import com.pulumi.aws.rds.outputs.GetInstanceResult; import com.pulumi.aws.rds.outputs.GetOrderableDbInstanceResult; import com.pulumi.aws.rds.outputs.GetProxyResult; +import com.pulumi.aws.rds.outputs.GetReservedInstanceOfferingResult; import com.pulumi.aws.rds.outputs.GetSnapshotResult; import com.pulumi.aws.rds.outputs.GetSubnetGroupResult; import com.pulumi.core.Output; @@ -1951,6 +1954,170 @@ public static Output getProxy(GetProxyArgs args, InvokeOptions o public static CompletableFuture getProxyPlain(GetProxyPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:rds/getProxy:getProxy", TypeShape.of(GetProxyResult.class), args, Utilities.withVersion(options)); } + /** + * Information about a single RDS Reserved Instance Offering. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.rds.RdsFunctions; + * import com.pulumi.aws.rds.inputs.GetReservedInstanceOfferingArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = RdsFunctions.getReservedInstanceOffering(GetReservedInstanceOfferingArgs.builder() + * .dbInstanceClass("db.t2.micro") + * .duration(31536000) + * .multiAz(false) + * .offeringType("All Upfront") + * .productDescription("mysql") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getReservedInstanceOffering(GetReservedInstanceOfferingArgs args) { + return getReservedInstanceOffering(args, InvokeOptions.Empty); + } + /** + * Information about a single RDS Reserved Instance Offering. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.rds.RdsFunctions; + * import com.pulumi.aws.rds.inputs.GetReservedInstanceOfferingArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = RdsFunctions.getReservedInstanceOffering(GetReservedInstanceOfferingArgs.builder() + * .dbInstanceClass("db.t2.micro") + * .duration(31536000) + * .multiAz(false) + * .offeringType("All Upfront") + * .productDescription("mysql") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getReservedInstanceOfferingPlain(GetReservedInstanceOfferingPlainArgs args) { + return getReservedInstanceOfferingPlain(args, InvokeOptions.Empty); + } + /** + * Information about a single RDS Reserved Instance Offering. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.rds.RdsFunctions; + * import com.pulumi.aws.rds.inputs.GetReservedInstanceOfferingArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = RdsFunctions.getReservedInstanceOffering(GetReservedInstanceOfferingArgs.builder() + * .dbInstanceClass("db.t2.micro") + * .duration(31536000) + * .multiAz(false) + * .offeringType("All Upfront") + * .productDescription("mysql") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getReservedInstanceOffering(GetReservedInstanceOfferingArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:rds/getReservedInstanceOffering:getReservedInstanceOffering", TypeShape.of(GetReservedInstanceOfferingResult.class), args, Utilities.withVersion(options)); + } + /** + * Information about a single RDS Reserved Instance Offering. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.rds.RdsFunctions; + * import com.pulumi.aws.rds.inputs.GetReservedInstanceOfferingArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = RdsFunctions.getReservedInstanceOffering(GetReservedInstanceOfferingArgs.builder() + * .dbInstanceClass("db.t2.micro") + * .duration(31536000) + * .multiAz(false) + * .offeringType("All Upfront") + * .productDescription("mysql") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getReservedInstanceOfferingPlain(GetReservedInstanceOfferingPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:rds/getReservedInstanceOffering:getReservedInstanceOffering", TypeShape.of(GetReservedInstanceOfferingResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about a DB Snapshot for use when provisioning DB instances * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ReservedInstance.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ReservedInstance.java new file mode 100644 index 00000000000..e2d3764e577 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ReservedInstance.java @@ -0,0 +1,354 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rds; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.rds.ReservedInstanceArgs; +import com.pulumi.aws.rds.inputs.ReservedInstanceState; +import com.pulumi.aws.rds.outputs.ReservedInstanceRecurringCharge; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.rds.RdsFunctions; + * import com.pulumi.aws.rds.inputs.GetReservedInstanceOfferingArgs; + * import com.pulumi.aws.rds.ReservedInstance; + * import com.pulumi.aws.rds.ReservedInstanceArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = RdsFunctions.getReservedInstanceOffering(GetReservedInstanceOfferingArgs.builder() + * .dbInstanceClass("db.t2.micro") + * .duration(31536000) + * .multiAz(false) + * .offeringType("All Upfront") + * .productDescription("mysql") + * .build()); + * + * var example = new ReservedInstance("example", ReservedInstanceArgs.builder() + * .offeringId(test.applyValue(getReservedInstanceOfferingResult -> getReservedInstanceOfferingResult.offeringId())) + * .reservationId("optionalCustomReservationID") + * .instanceCount(3) + * .build()); + * + * } + * } + * ``` + * + * ## Import + * + * RDS DB Instance Reservations can be imported using the `instance_id`, e.g., + * + * ```sh + * $ pulumi import aws:rds/reservedInstance:ReservedInstance reservation_instance CustomReservationID + * ``` + * + */ +@ResourceType(type="aws:rds/reservedInstance:ReservedInstance") +public class ReservedInstance extends com.pulumi.resources.CustomResource { + /** + * ARN for the reserved DB instance. + * + */ + @Export(name="arn", type=String.class, parameters={}) + private Output arn; + + /** + * @return ARN for the reserved DB instance. + * + */ + public Output arn() { + return this.arn; + } + /** + * Currency code for the reserved DB instance. + * + */ + @Export(name="currencyCode", type=String.class, parameters={}) + private Output currencyCode; + + /** + * @return Currency code for the reserved DB instance. + * + */ + public Output currencyCode() { + return this.currencyCode; + } + @Export(name="dbInstanceClass", type=String.class, parameters={}) + private Output dbInstanceClass; + + public Output dbInstanceClass() { + return this.dbInstanceClass; + } + /** + * Duration of the reservation in seconds. + * + */ + @Export(name="duration", type=Integer.class, parameters={}) + private Output duration; + + /** + * @return Duration of the reservation in seconds. + * + */ + public Output duration() { + return this.duration; + } + /** + * Fixed price charged for this reserved DB instance. + * + */ + @Export(name="fixedPrice", type=Double.class, parameters={}) + private Output fixedPrice; + + /** + * @return Fixed price charged for this reserved DB instance. + * + */ + public Output fixedPrice() { + return this.fixedPrice; + } + /** + * Number of instances to reserve. Default value is `1`. + * + */ + @Export(name="instanceCount", type=Integer.class, parameters={}) + private Output instanceCount; + + /** + * @return Number of instances to reserve. Default value is `1`. + * + */ + public Output> instanceCount() { + return Codegen.optional(this.instanceCount); + } + /** + * Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. + * + */ + @Export(name="leaseId", type=String.class, parameters={}) + private Output leaseId; + + /** + * @return Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. + * + */ + public Output leaseId() { + return this.leaseId; + } + /** + * Whether the reservation applies to Multi-AZ deployments. + * + */ + @Export(name="multiAz", type=Boolean.class, parameters={}) + private Output multiAz; + + /** + * @return Whether the reservation applies to Multi-AZ deployments. + * + */ + public Output multiAz() { + return this.multiAz; + } + /** + * ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `aws.rds.getReservedInstanceOffering` data source. + * + */ + @Export(name="offeringId", type=String.class, parameters={}) + private Output offeringId; + + /** + * @return ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `aws.rds.getReservedInstanceOffering` data source. + * + */ + public Output offeringId() { + return this.offeringId; + } + /** + * Offering type of this reserved DB instance. + * + */ + @Export(name="offeringType", type=String.class, parameters={}) + private Output offeringType; + + /** + * @return Offering type of this reserved DB instance. + * + */ + public Output offeringType() { + return this.offeringType; + } + /** + * Description of the reserved DB instance. + * + */ + @Export(name="productDescription", type=String.class, parameters={}) + private Output productDescription; + + /** + * @return Description of the reserved DB instance. + * + */ + public Output productDescription() { + return this.productDescription; + } + /** + * Recurring price charged to run this reserved DB instance. + * + */ + @Export(name="recurringCharges", type=List.class, parameters={ReservedInstanceRecurringCharge.class}) + private Output> recurringCharges; + + /** + * @return Recurring price charged to run this reserved DB instance. + * + */ + public Output> recurringCharges() { + return this.recurringCharges; + } + @Export(name="reservationId", type=String.class, parameters={}) + private Output reservationId; + + public Output> reservationId() { + return Codegen.optional(this.reservationId); + } + /** + * Time the reservation started. + * + */ + @Export(name="startTime", type=String.class, parameters={}) + private Output startTime; + + /** + * @return Time the reservation started. + * + */ + public Output startTime() { + return this.startTime; + } + /** + * State of the reserved DB instance. + * + */ + @Export(name="state", type=String.class, parameters={}) + private Output state; + + /** + * @return State of the reserved DB instance. + * + */ + public Output state() { + return this.state; + } + /** + * Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Export(name="tags", type=Map.class, parameters={String.class, String.class}) + private Output> tags; + + /** + * @return Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + @Export(name="tagsAll", type=Map.class, parameters={String.class, String.class}) + private Output> tagsAll; + + public Output> tagsAll() { + return this.tagsAll; + } + /** + * Hourly price charged for this reserved DB instance. + * + */ + @Export(name="usagePrice", type=Double.class, parameters={}) + private Output usagePrice; + + /** + * @return Hourly price charged for this reserved DB instance. + * + */ + public Output usagePrice() { + return this.usagePrice; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public ReservedInstance(String name) { + this(name, ReservedInstanceArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public ReservedInstance(String name, ReservedInstanceArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public ReservedInstance(String name, ReservedInstanceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:rds/reservedInstance:ReservedInstance", name, args == null ? ReservedInstanceArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private ReservedInstance(String name, Output id, @Nullable ReservedInstanceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:rds/reservedInstance:ReservedInstance", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static ReservedInstance get(String name, Output id, @Nullable ReservedInstanceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new ReservedInstance(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ReservedInstanceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ReservedInstanceArgs.java new file mode 100644 index 00000000000..601a0973e2f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ReservedInstanceArgs.java @@ -0,0 +1,194 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rds; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ReservedInstanceArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReservedInstanceArgs Empty = new ReservedInstanceArgs(); + + /** + * Number of instances to reserve. Default value is `1`. + * + */ + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + /** + * @return Number of instances to reserve. Default value is `1`. + * + */ + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + /** + * ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `aws.rds.getReservedInstanceOffering` data source. + * + */ + @Import(name="offeringId", required=true) + private Output offeringId; + + /** + * @return ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `aws.rds.getReservedInstanceOffering` data source. + * + */ + public Output offeringId() { + return this.offeringId; + } + + @Import(name="reservationId") + private @Nullable Output reservationId; + + public Optional> reservationId() { + return Optional.ofNullable(this.reservationId); + } + + /** + * Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + private ReservedInstanceArgs() {} + + private ReservedInstanceArgs(ReservedInstanceArgs $) { + this.instanceCount = $.instanceCount; + this.offeringId = $.offeringId; + this.reservationId = $.reservationId; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReservedInstanceArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReservedInstanceArgs $; + + public Builder() { + $ = new ReservedInstanceArgs(); + } + + public Builder(ReservedInstanceArgs defaults) { + $ = new ReservedInstanceArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param instanceCount Number of instances to reserve. Default value is `1`. + * + * @return builder + * + */ + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + /** + * @param instanceCount Number of instances to reserve. Default value is `1`. + * + * @return builder + * + */ + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + /** + * @param offeringId ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `aws.rds.getReservedInstanceOffering` data source. + * + * @return builder + * + */ + public Builder offeringId(Output offeringId) { + $.offeringId = offeringId; + return this; + } + + /** + * @param offeringId ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `aws.rds.getReservedInstanceOffering` data source. + * + * @return builder + * + */ + public Builder offeringId(String offeringId) { + return offeringId(Output.of(offeringId)); + } + + public Builder reservationId(@Nullable Output reservationId) { + $.reservationId = reservationId; + return this; + } + + public Builder reservationId(String reservationId) { + return reservationId(Output.of(reservationId)); + } + + /** + * @param tags Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public ReservedInstanceArgs build() { + $.offeringId = Objects.requireNonNull($.offeringId, "expected parameter 'offeringId' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/GetReservedInstanceOfferingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/GetReservedInstanceOfferingArgs.java new file mode 100644 index 00000000000..41562e18330 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/GetReservedInstanceOfferingArgs.java @@ -0,0 +1,236 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rds.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + + +public final class GetReservedInstanceOfferingArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetReservedInstanceOfferingArgs Empty = new GetReservedInstanceOfferingArgs(); + + /** + * DB instance class for the reserved DB instance. + * + */ + @Import(name="dbInstanceClass", required=true) + private Output dbInstanceClass; + + /** + * @return DB instance class for the reserved DB instance. + * + */ + public Output dbInstanceClass() { + return this.dbInstanceClass; + } + + /** + * Duration of the reservation in seconds. + * + */ + @Import(name="duration", required=true) + private Output duration; + + /** + * @return Duration of the reservation in seconds. + * + */ + public Output duration() { + return this.duration; + } + + /** + * Whether the reservation applies to Multi-AZ deployments. + * + */ + @Import(name="multiAz", required=true) + private Output multiAz; + + /** + * @return Whether the reservation applies to Multi-AZ deployments. + * + */ + public Output multiAz() { + return this.multiAz; + } + + /** + * Offering type of this reserved DB instance. + * + */ + @Import(name="offeringType", required=true) + private Output offeringType; + + /** + * @return Offering type of this reserved DB instance. + * + */ + public Output offeringType() { + return this.offeringType; + } + + /** + * Description of the reserved DB instance. + * + */ + @Import(name="productDescription", required=true) + private Output productDescription; + + /** + * @return Description of the reserved DB instance. + * + */ + public Output productDescription() { + return this.productDescription; + } + + private GetReservedInstanceOfferingArgs() {} + + private GetReservedInstanceOfferingArgs(GetReservedInstanceOfferingArgs $) { + this.dbInstanceClass = $.dbInstanceClass; + this.duration = $.duration; + this.multiAz = $.multiAz; + this.offeringType = $.offeringType; + this.productDescription = $.productDescription; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetReservedInstanceOfferingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetReservedInstanceOfferingArgs $; + + public Builder() { + $ = new GetReservedInstanceOfferingArgs(); + } + + public Builder(GetReservedInstanceOfferingArgs defaults) { + $ = new GetReservedInstanceOfferingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param dbInstanceClass DB instance class for the reserved DB instance. + * + * @return builder + * + */ + public Builder dbInstanceClass(Output dbInstanceClass) { + $.dbInstanceClass = dbInstanceClass; + return this; + } + + /** + * @param dbInstanceClass DB instance class for the reserved DB instance. + * + * @return builder + * + */ + public Builder dbInstanceClass(String dbInstanceClass) { + return dbInstanceClass(Output.of(dbInstanceClass)); + } + + /** + * @param duration Duration of the reservation in seconds. + * + * @return builder + * + */ + public Builder duration(Output duration) { + $.duration = duration; + return this; + } + + /** + * @param duration Duration of the reservation in seconds. + * + * @return builder + * + */ + public Builder duration(Integer duration) { + return duration(Output.of(duration)); + } + + /** + * @param multiAz Whether the reservation applies to Multi-AZ deployments. + * + * @return builder + * + */ + public Builder multiAz(Output multiAz) { + $.multiAz = multiAz; + return this; + } + + /** + * @param multiAz Whether the reservation applies to Multi-AZ deployments. + * + * @return builder + * + */ + public Builder multiAz(Boolean multiAz) { + return multiAz(Output.of(multiAz)); + } + + /** + * @param offeringType Offering type of this reserved DB instance. + * + * @return builder + * + */ + public Builder offeringType(Output offeringType) { + $.offeringType = offeringType; + return this; + } + + /** + * @param offeringType Offering type of this reserved DB instance. + * + * @return builder + * + */ + public Builder offeringType(String offeringType) { + return offeringType(Output.of(offeringType)); + } + + /** + * @param productDescription Description of the reserved DB instance. + * + * @return builder + * + */ + public Builder productDescription(Output productDescription) { + $.productDescription = productDescription; + return this; + } + + /** + * @param productDescription Description of the reserved DB instance. + * + * @return builder + * + */ + public Builder productDescription(String productDescription) { + return productDescription(Output.of(productDescription)); + } + + public GetReservedInstanceOfferingArgs build() { + $.dbInstanceClass = Objects.requireNonNull($.dbInstanceClass, "expected parameter 'dbInstanceClass' to be non-null"); + $.duration = Objects.requireNonNull($.duration, "expected parameter 'duration' to be non-null"); + $.multiAz = Objects.requireNonNull($.multiAz, "expected parameter 'multiAz' to be non-null"); + $.offeringType = Objects.requireNonNull($.offeringType, "expected parameter 'offeringType' to be non-null"); + $.productDescription = Objects.requireNonNull($.productDescription, "expected parameter 'productDescription' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/GetReservedInstanceOfferingPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/GetReservedInstanceOfferingPlainArgs.java new file mode 100644 index 00000000000..ac9d297949c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/GetReservedInstanceOfferingPlainArgs.java @@ -0,0 +1,185 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rds.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + + +public final class GetReservedInstanceOfferingPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetReservedInstanceOfferingPlainArgs Empty = new GetReservedInstanceOfferingPlainArgs(); + + /** + * DB instance class for the reserved DB instance. + * + */ + @Import(name="dbInstanceClass", required=true) + private String dbInstanceClass; + + /** + * @return DB instance class for the reserved DB instance. + * + */ + public String dbInstanceClass() { + return this.dbInstanceClass; + } + + /** + * Duration of the reservation in seconds. + * + */ + @Import(name="duration", required=true) + private Integer duration; + + /** + * @return Duration of the reservation in seconds. + * + */ + public Integer duration() { + return this.duration; + } + + /** + * Whether the reservation applies to Multi-AZ deployments. + * + */ + @Import(name="multiAz", required=true) + private Boolean multiAz; + + /** + * @return Whether the reservation applies to Multi-AZ deployments. + * + */ + public Boolean multiAz() { + return this.multiAz; + } + + /** + * Offering type of this reserved DB instance. + * + */ + @Import(name="offeringType", required=true) + private String offeringType; + + /** + * @return Offering type of this reserved DB instance. + * + */ + public String offeringType() { + return this.offeringType; + } + + /** + * Description of the reserved DB instance. + * + */ + @Import(name="productDescription", required=true) + private String productDescription; + + /** + * @return Description of the reserved DB instance. + * + */ + public String productDescription() { + return this.productDescription; + } + + private GetReservedInstanceOfferingPlainArgs() {} + + private GetReservedInstanceOfferingPlainArgs(GetReservedInstanceOfferingPlainArgs $) { + this.dbInstanceClass = $.dbInstanceClass; + this.duration = $.duration; + this.multiAz = $.multiAz; + this.offeringType = $.offeringType; + this.productDescription = $.productDescription; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetReservedInstanceOfferingPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetReservedInstanceOfferingPlainArgs $; + + public Builder() { + $ = new GetReservedInstanceOfferingPlainArgs(); + } + + public Builder(GetReservedInstanceOfferingPlainArgs defaults) { + $ = new GetReservedInstanceOfferingPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param dbInstanceClass DB instance class for the reserved DB instance. + * + * @return builder + * + */ + public Builder dbInstanceClass(String dbInstanceClass) { + $.dbInstanceClass = dbInstanceClass; + return this; + } + + /** + * @param duration Duration of the reservation in seconds. + * + * @return builder + * + */ + public Builder duration(Integer duration) { + $.duration = duration; + return this; + } + + /** + * @param multiAz Whether the reservation applies to Multi-AZ deployments. + * + * @return builder + * + */ + public Builder multiAz(Boolean multiAz) { + $.multiAz = multiAz; + return this; + } + + /** + * @param offeringType Offering type of this reserved DB instance. + * + * @return builder + * + */ + public Builder offeringType(String offeringType) { + $.offeringType = offeringType; + return this; + } + + /** + * @param productDescription Description of the reserved DB instance. + * + * @return builder + * + */ + public Builder productDescription(String productDescription) { + $.productDescription = productDescription; + return this; + } + + public GetReservedInstanceOfferingPlainArgs build() { + $.dbInstanceClass = Objects.requireNonNull($.dbInstanceClass, "expected parameter 'dbInstanceClass' to be non-null"); + $.duration = Objects.requireNonNull($.duration, "expected parameter 'duration' to be non-null"); + $.multiAz = Objects.requireNonNull($.multiAz, "expected parameter 'multiAz' to be non-null"); + $.offeringType = Objects.requireNonNull($.offeringType, "expected parameter 'offeringType' to be non-null"); + $.productDescription = Objects.requireNonNull($.productDescription, "expected parameter 'productDescription' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ReservedInstanceRecurringChargeArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ReservedInstanceRecurringChargeArgs.java new file mode 100644 index 00000000000..26c2ebc24a1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ReservedInstanceRecurringChargeArgs.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rds.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ReservedInstanceRecurringChargeArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReservedInstanceRecurringChargeArgs Empty = new ReservedInstanceRecurringChargeArgs(); + + @Import(name="recurringChargeAmount") + private @Nullable Output recurringChargeAmount; + + public Optional> recurringChargeAmount() { + return Optional.ofNullable(this.recurringChargeAmount); + } + + @Import(name="recurringChargeFrequency") + private @Nullable Output recurringChargeFrequency; + + public Optional> recurringChargeFrequency() { + return Optional.ofNullable(this.recurringChargeFrequency); + } + + private ReservedInstanceRecurringChargeArgs() {} + + private ReservedInstanceRecurringChargeArgs(ReservedInstanceRecurringChargeArgs $) { + this.recurringChargeAmount = $.recurringChargeAmount; + this.recurringChargeFrequency = $.recurringChargeFrequency; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReservedInstanceRecurringChargeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReservedInstanceRecurringChargeArgs $; + + public Builder() { + $ = new ReservedInstanceRecurringChargeArgs(); + } + + public Builder(ReservedInstanceRecurringChargeArgs defaults) { + $ = new ReservedInstanceRecurringChargeArgs(Objects.requireNonNull(defaults)); + } + + public Builder recurringChargeAmount(@Nullable Output recurringChargeAmount) { + $.recurringChargeAmount = recurringChargeAmount; + return this; + } + + public Builder recurringChargeAmount(Integer recurringChargeAmount) { + return recurringChargeAmount(Output.of(recurringChargeAmount)); + } + + public Builder recurringChargeFrequency(@Nullable Output recurringChargeFrequency) { + $.recurringChargeFrequency = recurringChargeFrequency; + return this; + } + + public Builder recurringChargeFrequency(String recurringChargeFrequency) { + return recurringChargeFrequency(Output.of(recurringChargeFrequency)); + } + + public ReservedInstanceRecurringChargeArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ReservedInstanceState.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ReservedInstanceState.java new file mode 100644 index 00000000000..e25a50740e8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ReservedInstanceState.java @@ -0,0 +1,668 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rds.inputs; + +import com.pulumi.aws.rds.inputs.ReservedInstanceRecurringChargeArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ReservedInstanceState extends com.pulumi.resources.ResourceArgs { + + public static final ReservedInstanceState Empty = new ReservedInstanceState(); + + /** + * ARN for the reserved DB instance. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return ARN for the reserved DB instance. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * Currency code for the reserved DB instance. + * + */ + @Import(name="currencyCode") + private @Nullable Output currencyCode; + + /** + * @return Currency code for the reserved DB instance. + * + */ + public Optional> currencyCode() { + return Optional.ofNullable(this.currencyCode); + } + + @Import(name="dbInstanceClass") + private @Nullable Output dbInstanceClass; + + public Optional> dbInstanceClass() { + return Optional.ofNullable(this.dbInstanceClass); + } + + /** + * Duration of the reservation in seconds. + * + */ + @Import(name="duration") + private @Nullable Output duration; + + /** + * @return Duration of the reservation in seconds. + * + */ + public Optional> duration() { + return Optional.ofNullable(this.duration); + } + + /** + * Fixed price charged for this reserved DB instance. + * + */ + @Import(name="fixedPrice") + private @Nullable Output fixedPrice; + + /** + * @return Fixed price charged for this reserved DB instance. + * + */ + public Optional> fixedPrice() { + return Optional.ofNullable(this.fixedPrice); + } + + /** + * Number of instances to reserve. Default value is `1`. + * + */ + @Import(name="instanceCount") + private @Nullable Output instanceCount; + + /** + * @return Number of instances to reserve. Default value is `1`. + * + */ + public Optional> instanceCount() { + return Optional.ofNullable(this.instanceCount); + } + + /** + * Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. + * + */ + @Import(name="leaseId") + private @Nullable Output leaseId; + + /** + * @return Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. + * + */ + public Optional> leaseId() { + return Optional.ofNullable(this.leaseId); + } + + /** + * Whether the reservation applies to Multi-AZ deployments. + * + */ + @Import(name="multiAz") + private @Nullable Output multiAz; + + /** + * @return Whether the reservation applies to Multi-AZ deployments. + * + */ + public Optional> multiAz() { + return Optional.ofNullable(this.multiAz); + } + + /** + * ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `aws.rds.getReservedInstanceOffering` data source. + * + */ + @Import(name="offeringId") + private @Nullable Output offeringId; + + /** + * @return ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `aws.rds.getReservedInstanceOffering` data source. + * + */ + public Optional> offeringId() { + return Optional.ofNullable(this.offeringId); + } + + /** + * Offering type of this reserved DB instance. + * + */ + @Import(name="offeringType") + private @Nullable Output offeringType; + + /** + * @return Offering type of this reserved DB instance. + * + */ + public Optional> offeringType() { + return Optional.ofNullable(this.offeringType); + } + + /** + * Description of the reserved DB instance. + * + */ + @Import(name="productDescription") + private @Nullable Output productDescription; + + /** + * @return Description of the reserved DB instance. + * + */ + public Optional> productDescription() { + return Optional.ofNullable(this.productDescription); + } + + /** + * Recurring price charged to run this reserved DB instance. + * + */ + @Import(name="recurringCharges") + private @Nullable Output> recurringCharges; + + /** + * @return Recurring price charged to run this reserved DB instance. + * + */ + public Optional>> recurringCharges() { + return Optional.ofNullable(this.recurringCharges); + } + + @Import(name="reservationId") + private @Nullable Output reservationId; + + public Optional> reservationId() { + return Optional.ofNullable(this.reservationId); + } + + /** + * Time the reservation started. + * + */ + @Import(name="startTime") + private @Nullable Output startTime; + + /** + * @return Time the reservation started. + * + */ + public Optional> startTime() { + return Optional.ofNullable(this.startTime); + } + + /** + * State of the reserved DB instance. + * + */ + @Import(name="state") + private @Nullable Output state; + + /** + * @return State of the reserved DB instance. + * + */ + public Optional> state() { + return Optional.ofNullable(this.state); + } + + /** + * Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + /** + * Hourly price charged for this reserved DB instance. + * + */ + @Import(name="usagePrice") + private @Nullable Output usagePrice; + + /** + * @return Hourly price charged for this reserved DB instance. + * + */ + public Optional> usagePrice() { + return Optional.ofNullable(this.usagePrice); + } + + private ReservedInstanceState() {} + + private ReservedInstanceState(ReservedInstanceState $) { + this.arn = $.arn; + this.currencyCode = $.currencyCode; + this.dbInstanceClass = $.dbInstanceClass; + this.duration = $.duration; + this.fixedPrice = $.fixedPrice; + this.instanceCount = $.instanceCount; + this.leaseId = $.leaseId; + this.multiAz = $.multiAz; + this.offeringId = $.offeringId; + this.offeringType = $.offeringType; + this.productDescription = $.productDescription; + this.recurringCharges = $.recurringCharges; + this.reservationId = $.reservationId; + this.startTime = $.startTime; + this.state = $.state; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.usagePrice = $.usagePrice; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReservedInstanceState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReservedInstanceState $; + + public Builder() { + $ = new ReservedInstanceState(); + } + + public Builder(ReservedInstanceState defaults) { + $ = new ReservedInstanceState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn ARN for the reserved DB instance. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn ARN for the reserved DB instance. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param currencyCode Currency code for the reserved DB instance. + * + * @return builder + * + */ + public Builder currencyCode(@Nullable Output currencyCode) { + $.currencyCode = currencyCode; + return this; + } + + /** + * @param currencyCode Currency code for the reserved DB instance. + * + * @return builder + * + */ + public Builder currencyCode(String currencyCode) { + return currencyCode(Output.of(currencyCode)); + } + + public Builder dbInstanceClass(@Nullable Output dbInstanceClass) { + $.dbInstanceClass = dbInstanceClass; + return this; + } + + public Builder dbInstanceClass(String dbInstanceClass) { + return dbInstanceClass(Output.of(dbInstanceClass)); + } + + /** + * @param duration Duration of the reservation in seconds. + * + * @return builder + * + */ + public Builder duration(@Nullable Output duration) { + $.duration = duration; + return this; + } + + /** + * @param duration Duration of the reservation in seconds. + * + * @return builder + * + */ + public Builder duration(Integer duration) { + return duration(Output.of(duration)); + } + + /** + * @param fixedPrice Fixed price charged for this reserved DB instance. + * + * @return builder + * + */ + public Builder fixedPrice(@Nullable Output fixedPrice) { + $.fixedPrice = fixedPrice; + return this; + } + + /** + * @param fixedPrice Fixed price charged for this reserved DB instance. + * + * @return builder + * + */ + public Builder fixedPrice(Double fixedPrice) { + return fixedPrice(Output.of(fixedPrice)); + } + + /** + * @param instanceCount Number of instances to reserve. Default value is `1`. + * + * @return builder + * + */ + public Builder instanceCount(@Nullable Output instanceCount) { + $.instanceCount = instanceCount; + return this; + } + + /** + * @param instanceCount Number of instances to reserve. Default value is `1`. + * + * @return builder + * + */ + public Builder instanceCount(Integer instanceCount) { + return instanceCount(Output.of(instanceCount)); + } + + /** + * @param leaseId Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. + * + * @return builder + * + */ + public Builder leaseId(@Nullable Output leaseId) { + $.leaseId = leaseId; + return this; + } + + /** + * @param leaseId Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. + * + * @return builder + * + */ + public Builder leaseId(String leaseId) { + return leaseId(Output.of(leaseId)); + } + + /** + * @param multiAz Whether the reservation applies to Multi-AZ deployments. + * + * @return builder + * + */ + public Builder multiAz(@Nullable Output multiAz) { + $.multiAz = multiAz; + return this; + } + + /** + * @param multiAz Whether the reservation applies to Multi-AZ deployments. + * + * @return builder + * + */ + public Builder multiAz(Boolean multiAz) { + return multiAz(Output.of(multiAz)); + } + + /** + * @param offeringId ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `aws.rds.getReservedInstanceOffering` data source. + * + * @return builder + * + */ + public Builder offeringId(@Nullable Output offeringId) { + $.offeringId = offeringId; + return this; + } + + /** + * @param offeringId ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `aws.rds.getReservedInstanceOffering` data source. + * + * @return builder + * + */ + public Builder offeringId(String offeringId) { + return offeringId(Output.of(offeringId)); + } + + /** + * @param offeringType Offering type of this reserved DB instance. + * + * @return builder + * + */ + public Builder offeringType(@Nullable Output offeringType) { + $.offeringType = offeringType; + return this; + } + + /** + * @param offeringType Offering type of this reserved DB instance. + * + * @return builder + * + */ + public Builder offeringType(String offeringType) { + return offeringType(Output.of(offeringType)); + } + + /** + * @param productDescription Description of the reserved DB instance. + * + * @return builder + * + */ + public Builder productDescription(@Nullable Output productDescription) { + $.productDescription = productDescription; + return this; + } + + /** + * @param productDescription Description of the reserved DB instance. + * + * @return builder + * + */ + public Builder productDescription(String productDescription) { + return productDescription(Output.of(productDescription)); + } + + /** + * @param recurringCharges Recurring price charged to run this reserved DB instance. + * + * @return builder + * + */ + public Builder recurringCharges(@Nullable Output> recurringCharges) { + $.recurringCharges = recurringCharges; + return this; + } + + /** + * @param recurringCharges Recurring price charged to run this reserved DB instance. + * + * @return builder + * + */ + public Builder recurringCharges(List recurringCharges) { + return recurringCharges(Output.of(recurringCharges)); + } + + /** + * @param recurringCharges Recurring price charged to run this reserved DB instance. + * + * @return builder + * + */ + public Builder recurringCharges(ReservedInstanceRecurringChargeArgs... recurringCharges) { + return recurringCharges(List.of(recurringCharges)); + } + + public Builder reservationId(@Nullable Output reservationId) { + $.reservationId = reservationId; + return this; + } + + public Builder reservationId(String reservationId) { + return reservationId(Output.of(reservationId)); + } + + /** + * @param startTime Time the reservation started. + * + * @return builder + * + */ + public Builder startTime(@Nullable Output startTime) { + $.startTime = startTime; + return this; + } + + /** + * @param startTime Time the reservation started. + * + * @return builder + * + */ + public Builder startTime(String startTime) { + return startTime(Output.of(startTime)); + } + + /** + * @param state State of the reserved DB instance. + * + * @return builder + * + */ + public Builder state(@Nullable Output state) { + $.state = state; + return this; + } + + /** + * @param state State of the reserved DB instance. + * + * @return builder + * + */ + public Builder state(String state) { + return state(Output.of(state)); + } + + /** + * @param tags Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + /** + * @param usagePrice Hourly price charged for this reserved DB instance. + * + * @return builder + * + */ + public Builder usagePrice(@Nullable Output usagePrice) { + $.usagePrice = usagePrice; + return this; + } + + /** + * @param usagePrice Hourly price charged for this reserved DB instance. + * + * @return builder + * + */ + public Builder usagePrice(Double usagePrice) { + return usagePrice(Output.of(usagePrice)); + } + + public ReservedInstanceState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GetReservedInstanceOfferingResult.java b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GetReservedInstanceOfferingResult.java new file mode 100644 index 00000000000..019fa7290ed --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GetReservedInstanceOfferingResult.java @@ -0,0 +1,177 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rds.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetReservedInstanceOfferingResult { + /** + * @return Currency code for the reserved DB instance. + * + */ + private String currencyCode; + private String dbInstanceClass; + private Integer duration; + /** + * @return Fixed price charged for this reserved DB instance. + * + */ + private Double fixedPrice; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + private Boolean multiAz; + /** + * @return Unique identifier for the reservation. + * + */ + private String offeringId; + private String offeringType; + private String productDescription; + + private GetReservedInstanceOfferingResult() {} + /** + * @return Currency code for the reserved DB instance. + * + */ + public String currencyCode() { + return this.currencyCode; + } + public String dbInstanceClass() { + return this.dbInstanceClass; + } + public Integer duration() { + return this.duration; + } + /** + * @return Fixed price charged for this reserved DB instance. + * + */ + public Double fixedPrice() { + return this.fixedPrice; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + public Boolean multiAz() { + return this.multiAz; + } + /** + * @return Unique identifier for the reservation. + * + */ + public String offeringId() { + return this.offeringId; + } + public String offeringType() { + return this.offeringType; + } + public String productDescription() { + return this.productDescription; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetReservedInstanceOfferingResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String currencyCode; + private String dbInstanceClass; + private Integer duration; + private Double fixedPrice; + private String id; + private Boolean multiAz; + private String offeringId; + private String offeringType; + private String productDescription; + public Builder() {} + public Builder(GetReservedInstanceOfferingResult defaults) { + Objects.requireNonNull(defaults); + this.currencyCode = defaults.currencyCode; + this.dbInstanceClass = defaults.dbInstanceClass; + this.duration = defaults.duration; + this.fixedPrice = defaults.fixedPrice; + this.id = defaults.id; + this.multiAz = defaults.multiAz; + this.offeringId = defaults.offeringId; + this.offeringType = defaults.offeringType; + this.productDescription = defaults.productDescription; + } + + @CustomType.Setter + public Builder currencyCode(String currencyCode) { + this.currencyCode = Objects.requireNonNull(currencyCode); + return this; + } + @CustomType.Setter + public Builder dbInstanceClass(String dbInstanceClass) { + this.dbInstanceClass = Objects.requireNonNull(dbInstanceClass); + return this; + } + @CustomType.Setter + public Builder duration(Integer duration) { + this.duration = Objects.requireNonNull(duration); + return this; + } + @CustomType.Setter + public Builder fixedPrice(Double fixedPrice) { + this.fixedPrice = Objects.requireNonNull(fixedPrice); + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder multiAz(Boolean multiAz) { + this.multiAz = Objects.requireNonNull(multiAz); + return this; + } + @CustomType.Setter + public Builder offeringId(String offeringId) { + this.offeringId = Objects.requireNonNull(offeringId); + return this; + } + @CustomType.Setter + public Builder offeringType(String offeringType) { + this.offeringType = Objects.requireNonNull(offeringType); + return this; + } + @CustomType.Setter + public Builder productDescription(String productDescription) { + this.productDescription = Objects.requireNonNull(productDescription); + return this; + } + public GetReservedInstanceOfferingResult build() { + final var o = new GetReservedInstanceOfferingResult(); + o.currencyCode = currencyCode; + o.dbInstanceClass = dbInstanceClass; + o.duration = duration; + o.fixedPrice = fixedPrice; + o.id = id; + o.multiAz = multiAz; + o.offeringId = offeringId; + o.offeringType = offeringType; + o.productDescription = productDescription; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/ReservedInstanceRecurringCharge.java b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/ReservedInstanceRecurringCharge.java new file mode 100644 index 00000000000..4e3d91881ec --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/ReservedInstanceRecurringCharge.java @@ -0,0 +1,61 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rds.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ReservedInstanceRecurringCharge { + private @Nullable Integer recurringChargeAmount; + private @Nullable String recurringChargeFrequency; + + private ReservedInstanceRecurringCharge() {} + public Optional recurringChargeAmount() { + return Optional.ofNullable(this.recurringChargeAmount); + } + public Optional recurringChargeFrequency() { + return Optional.ofNullable(this.recurringChargeFrequency); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ReservedInstanceRecurringCharge defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer recurringChargeAmount; + private @Nullable String recurringChargeFrequency; + public Builder() {} + public Builder(ReservedInstanceRecurringCharge defaults) { + Objects.requireNonNull(defaults); + this.recurringChargeAmount = defaults.recurringChargeAmount; + this.recurringChargeFrequency = defaults.recurringChargeFrequency; + } + + @CustomType.Setter + public Builder recurringChargeAmount(@Nullable Integer recurringChargeAmount) { + this.recurringChargeAmount = recurringChargeAmount; + return this; + } + @CustomType.Setter + public Builder recurringChargeFrequency(@Nullable String recurringChargeFrequency) { + this.recurringChargeFrequency = recurringChargeFrequency; + return this; + } + public ReservedInstanceRecurringCharge build() { + final var o = new ReservedInstanceRecurringCharge(); + o.recurringChargeAmount = recurringChargeAmount; + o.recurringChargeFrequency = recurringChargeFrequency; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/StorageLensConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/StorageLensConfiguration.java new file mode 100644 index 00000000000..43adf6b3d90 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/StorageLensConfiguration.java @@ -0,0 +1,226 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.s3control.StorageLensConfigurationArgs; +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationState; +import com.pulumi.aws.s3control.outputs.StorageLensConfigurationStorageLensConfiguration; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a resource to manage an S3 Storage Lens configuration. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.AwsFunctions; + * import com.pulumi.aws.s3control.StorageLensConfiguration; + * import com.pulumi.aws.s3control.StorageLensConfigurationArgs; + * import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationArgs; + * import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs; + * import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs; + * import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs; + * import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs; + * import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportArgs; + * import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs; + * import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs; + * import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs; + * import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationExcludeArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var current = AwsFunctions.getCallerIdentity(); + * + * var example = new StorageLensConfiguration("example", StorageLensConfigurationArgs.builder() + * .configId("example-1") + * .storageLensConfiguration(StorageLensConfigurationStorageLensConfigurationArgs.builder() + * .enabled(true) + * .accountLevel(StorageLensConfigurationStorageLensConfigurationAccountLevelArgs.builder() + * .activityMetrics(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs.builder() + * .enabled(true) + * .build()) + * .bucketLevel(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs.builder() + * .activityMetrics(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs.builder() + * .enabled(true) + * .build()) + * .build()) + * .build()) + * .dataExport(StorageLensConfigurationStorageLensConfigurationDataExportArgs.builder() + * .cloudWatchMetrics(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs.builder() + * .enabled(true) + * .build()) + * .s3BucketDestination(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs.builder() + * .accountId(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())) + * .arn(aws_s3_bucket.target().arn()) + * .format("CSV") + * .outputSchemaVersion("V_1") + * .encryption(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs.builder() + * .sseS3s() + * .build()) + * .build()) + * .build()) + * .exclude(StorageLensConfigurationStorageLensConfigurationExcludeArgs.builder() + * .buckets( + * aws_s3_bucket.b1().arn(), + * aws_s3_bucket.b2().arn()) + * .regions("us-east-2") + * .build()) + * .build()) + * .build()); + * + * } + * } + * ``` + * + * ## Import + * + * S3 Storage Lens configurations can be imported using the `account_id` and `config_id`, separated by a colon (`:`), e.g. + * + * ```sh + * $ pulumi import aws:s3control/storageLensConfiguration:StorageLensConfiguration example 123456789012:example-1 + * ``` + * + */ +@ResourceType(type="aws:s3control/storageLensConfiguration:StorageLensConfiguration") +public class StorageLensConfiguration extends com.pulumi.resources.CustomResource { + /** + * The account ID of the owner of the S3 Storage Lens metrics export bucket. + * + */ + @Export(name="accountId", type=String.class, parameters={}) + private Output accountId; + + /** + * @return The account ID of the owner of the S3 Storage Lens metrics export bucket. + * + */ + public Output accountId() { + return this.accountId; + } + /** + * The Amazon Resource Name (ARN) of the bucket. + * + */ + @Export(name="arn", type=String.class, parameters={}) + private Output arn; + + /** + * @return The Amazon Resource Name (ARN) of the bucket. + * + */ + public Output arn() { + return this.arn; + } + /** + * The ID of the S3 Storage Lens configuration. + * + */ + @Export(name="configId", type=String.class, parameters={}) + private Output configId; + + /** + * @return The ID of the S3 Storage Lens configuration. + * + */ + public Output configId() { + return this.configId; + } + /** + * The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + * + */ + @Export(name="storageLensConfiguration", type=StorageLensConfigurationStorageLensConfiguration.class, parameters={}) + private Output storageLensConfiguration; + + /** + * @return The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + * + */ + public Output storageLensConfiguration() { + return this.storageLensConfiguration; + } + @Export(name="tags", type=Map.class, parameters={String.class, String.class}) + private Output> tags; + + public Output>> tags() { + return Codegen.optional(this.tags); + } + @Export(name="tagsAll", type=Map.class, parameters={String.class, String.class}) + private Output> tagsAll; + + public Output> tagsAll() { + return this.tagsAll; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public StorageLensConfiguration(String name) { + this(name, StorageLensConfigurationArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public StorageLensConfiguration(String name, StorageLensConfigurationArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public StorageLensConfiguration(String name, StorageLensConfigurationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:s3control/storageLensConfiguration:StorageLensConfiguration", name, args == null ? StorageLensConfigurationArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private StorageLensConfiguration(String name, Output id, @Nullable StorageLensConfigurationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:s3control/storageLensConfiguration:StorageLensConfiguration", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static StorageLensConfiguration get(String name, Output id, @Nullable StorageLensConfigurationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new StorageLensConfiguration(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/StorageLensConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/StorageLensConfigurationArgs.java new file mode 100644 index 00000000000..9ccc694522a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/StorageLensConfigurationArgs.java @@ -0,0 +1,195 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control; + +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StorageLensConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationArgs Empty = new StorageLensConfigurationArgs(); + + /** + * The account ID of the owner of the S3 Storage Lens metrics export bucket. + * + */ + @Import(name="accountId") + private @Nullable Output accountId; + + /** + * @return The account ID of the owner of the S3 Storage Lens metrics export bucket. + * + */ + public Optional> accountId() { + return Optional.ofNullable(this.accountId); + } + + /** + * The ID of the S3 Storage Lens configuration. + * + */ + @Import(name="configId", required=true) + private Output configId; + + /** + * @return The ID of the S3 Storage Lens configuration. + * + */ + public Output configId() { + return this.configId; + } + + /** + * The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + * + */ + @Import(name="storageLensConfiguration", required=true) + private Output storageLensConfiguration; + + /** + * @return The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + * + */ + public Output storageLensConfiguration() { + return this.storageLensConfiguration; + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + private StorageLensConfigurationArgs() {} + + private StorageLensConfigurationArgs(StorageLensConfigurationArgs $) { + this.accountId = $.accountId; + this.configId = $.configId; + this.storageLensConfiguration = $.storageLensConfiguration; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationArgs $; + + public Builder() { + $ = new StorageLensConfigurationArgs(); + } + + public Builder(StorageLensConfigurationArgs defaults) { + $ = new StorageLensConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param accountId The account ID of the owner of the S3 Storage Lens metrics export bucket. + * + * @return builder + * + */ + public Builder accountId(@Nullable Output accountId) { + $.accountId = accountId; + return this; + } + + /** + * @param accountId The account ID of the owner of the S3 Storage Lens metrics export bucket. + * + * @return builder + * + */ + public Builder accountId(String accountId) { + return accountId(Output.of(accountId)); + } + + /** + * @param configId The ID of the S3 Storage Lens configuration. + * + * @return builder + * + */ + public Builder configId(Output configId) { + $.configId = configId; + return this; + } + + /** + * @param configId The ID of the S3 Storage Lens configuration. + * + * @return builder + * + */ + public Builder configId(String configId) { + return configId(Output.of(configId)); + } + + /** + * @param storageLensConfiguration The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + * + * @return builder + * + */ + public Builder storageLensConfiguration(Output storageLensConfiguration) { + $.storageLensConfiguration = storageLensConfiguration; + return this; + } + + /** + * @param storageLensConfiguration The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + * + * @return builder + * + */ + public Builder storageLensConfiguration(StorageLensConfigurationStorageLensConfigurationArgs storageLensConfiguration) { + return storageLensConfiguration(Output.of(storageLensConfiguration)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public StorageLensConfigurationArgs build() { + $.configId = Objects.requireNonNull($.configId, "expected parameter 'configId' to be non-null"); + $.storageLensConfiguration = Objects.requireNonNull($.storageLensConfiguration, "expected parameter 'storageLensConfiguration' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationState.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationState.java new file mode 100644 index 00000000000..1da46914939 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationState.java @@ -0,0 +1,230 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StorageLensConfigurationState extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationState Empty = new StorageLensConfigurationState(); + + /** + * The account ID of the owner of the S3 Storage Lens metrics export bucket. + * + */ + @Import(name="accountId") + private @Nullable Output accountId; + + /** + * @return The account ID of the owner of the S3 Storage Lens metrics export bucket. + * + */ + public Optional> accountId() { + return Optional.ofNullable(this.accountId); + } + + /** + * The Amazon Resource Name (ARN) of the bucket. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return The Amazon Resource Name (ARN) of the bucket. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * The ID of the S3 Storage Lens configuration. + * + */ + @Import(name="configId") + private @Nullable Output configId; + + /** + * @return The ID of the S3 Storage Lens configuration. + * + */ + public Optional> configId() { + return Optional.ofNullable(this.configId); + } + + /** + * The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + * + */ + @Import(name="storageLensConfiguration") + private @Nullable Output storageLensConfiguration; + + /** + * @return The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + * + */ + public Optional> storageLensConfiguration() { + return Optional.ofNullable(this.storageLensConfiguration); + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + private StorageLensConfigurationState() {} + + private StorageLensConfigurationState(StorageLensConfigurationState $) { + this.accountId = $.accountId; + this.arn = $.arn; + this.configId = $.configId; + this.storageLensConfiguration = $.storageLensConfiguration; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationState $; + + public Builder() { + $ = new StorageLensConfigurationState(); + } + + public Builder(StorageLensConfigurationState defaults) { + $ = new StorageLensConfigurationState(Objects.requireNonNull(defaults)); + } + + /** + * @param accountId The account ID of the owner of the S3 Storage Lens metrics export bucket. + * + * @return builder + * + */ + public Builder accountId(@Nullable Output accountId) { + $.accountId = accountId; + return this; + } + + /** + * @param accountId The account ID of the owner of the S3 Storage Lens metrics export bucket. + * + * @return builder + * + */ + public Builder accountId(String accountId) { + return accountId(Output.of(accountId)); + } + + /** + * @param arn The Amazon Resource Name (ARN) of the bucket. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The Amazon Resource Name (ARN) of the bucket. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param configId The ID of the S3 Storage Lens configuration. + * + * @return builder + * + */ + public Builder configId(@Nullable Output configId) { + $.configId = configId; + return this; + } + + /** + * @param configId The ID of the S3 Storage Lens configuration. + * + * @return builder + * + */ + public Builder configId(String configId) { + return configId(Output.of(configId)); + } + + /** + * @param storageLensConfiguration The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + * + * @return builder + * + */ + public Builder storageLensConfiguration(@Nullable Output storageLensConfiguration) { + $.storageLensConfiguration = storageLensConfiguration; + return this; + } + + /** + * @param storageLensConfiguration The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + * + * @return builder + * + */ + public Builder storageLensConfiguration(StorageLensConfigurationStorageLensConfigurationArgs storageLensConfiguration) { + return storageLensConfiguration(Output.of(storageLensConfiguration)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public StorageLensConfigurationState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs.java new file mode 100644 index 00000000000..5767976063b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs Empty = new StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs(); + + /** + * Whether the activity metrics are enabled. + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Whether the activity metrics are enabled. + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + private StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs() {} + + private StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs $) { + this.enabled = $.enabled; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs $; + + public Builder() { + $ = new StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs(); + } + + public Builder(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs defaults) { + $ = new StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enabled Whether the activity metrics are enabled. + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Whether the activity metrics are enabled. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + public StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelArgs.java new file mode 100644 index 00000000000..b3d94d84ed0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelArgs.java @@ -0,0 +1,122 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs; +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StorageLensConfigurationStorageLensConfigurationAccountLevelArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationStorageLensConfigurationAccountLevelArgs Empty = new StorageLensConfigurationStorageLensConfigurationAccountLevelArgs(); + + /** + * S3 Storage Lens activity metrics. See Activity Metrics below for more details. + * + */ + @Import(name="activityMetrics") + private @Nullable Output activityMetrics; + + /** + * @return S3 Storage Lens activity metrics. See Activity Metrics below for more details. + * + */ + public Optional> activityMetrics() { + return Optional.ofNullable(this.activityMetrics); + } + + /** + * S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. + * + */ + @Import(name="bucketLevel", required=true) + private Output bucketLevel; + + /** + * @return S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. + * + */ + public Output bucketLevel() { + return this.bucketLevel; + } + + private StorageLensConfigurationStorageLensConfigurationAccountLevelArgs() {} + + private StorageLensConfigurationStorageLensConfigurationAccountLevelArgs(StorageLensConfigurationStorageLensConfigurationAccountLevelArgs $) { + this.activityMetrics = $.activityMetrics; + this.bucketLevel = $.bucketLevel; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationStorageLensConfigurationAccountLevelArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationAccountLevelArgs $; + + public Builder() { + $ = new StorageLensConfigurationStorageLensConfigurationAccountLevelArgs(); + } + + public Builder(StorageLensConfigurationStorageLensConfigurationAccountLevelArgs defaults) { + $ = new StorageLensConfigurationStorageLensConfigurationAccountLevelArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param activityMetrics S3 Storage Lens activity metrics. See Activity Metrics below for more details. + * + * @return builder + * + */ + public Builder activityMetrics(@Nullable Output activityMetrics) { + $.activityMetrics = activityMetrics; + return this; + } + + /** + * @param activityMetrics S3 Storage Lens activity metrics. See Activity Metrics below for more details. + * + * @return builder + * + */ + public Builder activityMetrics(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs activityMetrics) { + return activityMetrics(Output.of(activityMetrics)); + } + + /** + * @param bucketLevel S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. + * + * @return builder + * + */ + public Builder bucketLevel(Output bucketLevel) { + $.bucketLevel = bucketLevel; + return this; + } + + /** + * @param bucketLevel S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. + * + * @return builder + * + */ + public Builder bucketLevel(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs bucketLevel) { + return bucketLevel(Output.of(bucketLevel)); + } + + public StorageLensConfigurationStorageLensConfigurationAccountLevelArgs build() { + $.bucketLevel = Objects.requireNonNull($.bucketLevel, "expected parameter 'bucketLevel' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs.java new file mode 100644 index 00000000000..0b3a7475852 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs Empty = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs(); + + /** + * Whether the activity metrics are enabled. + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Whether the activity metrics are enabled. + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs() {} + + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs $) { + this.enabled = $.enabled; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs $; + + public Builder() { + $ = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs(); + } + + public Builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs defaults) { + $ = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enabled Whether the activity metrics are enabled. + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Whether the activity metrics are enabled. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs.java new file mode 100644 index 00000000000..254dbc54dee --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs; +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs Empty = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs(); + + /** + * S3 Storage Lens activity metrics. See Activity Metrics above for more details. + * + */ + @Import(name="activityMetrics") + private @Nullable Output activityMetrics; + + /** + * @return S3 Storage Lens activity metrics. See Activity Metrics above for more details. + * + */ + public Optional> activityMetrics() { + return Optional.ofNullable(this.activityMetrics); + } + + /** + * Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. + * + */ + @Import(name="prefixLevel") + private @Nullable Output prefixLevel; + + /** + * @return Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. + * + */ + public Optional> prefixLevel() { + return Optional.ofNullable(this.prefixLevel); + } + + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs() {} + + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs $) { + this.activityMetrics = $.activityMetrics; + this.prefixLevel = $.prefixLevel; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs $; + + public Builder() { + $ = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs(); + } + + public Builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs defaults) { + $ = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param activityMetrics S3 Storage Lens activity metrics. See Activity Metrics above for more details. + * + * @return builder + * + */ + public Builder activityMetrics(@Nullable Output activityMetrics) { + $.activityMetrics = activityMetrics; + return this; + } + + /** + * @param activityMetrics S3 Storage Lens activity metrics. See Activity Metrics above for more details. + * + * @return builder + * + */ + public Builder activityMetrics(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs activityMetrics) { + return activityMetrics(Output.of(activityMetrics)); + } + + /** + * @param prefixLevel Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. + * + * @return builder + * + */ + public Builder prefixLevel(@Nullable Output prefixLevel) { + $.prefixLevel = prefixLevel; + return this; + } + + /** + * @param prefixLevel Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. + * + * @return builder + * + */ + public Builder prefixLevel(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs prefixLevel) { + return prefixLevel(Output.of(prefixLevel)); + } + + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs.java new file mode 100644 index 00000000000..2e9b497f3f2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; + + +public final class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs Empty = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs(); + + /** + * Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. + * + */ + @Import(name="storageMetrics", required=true) + private Output storageMetrics; + + /** + * @return Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. + * + */ + public Output storageMetrics() { + return this.storageMetrics; + } + + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs() {} + + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs $) { + this.storageMetrics = $.storageMetrics; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs $; + + public Builder() { + $ = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs(); + } + + public Builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs defaults) { + $ = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param storageMetrics Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. + * + * @return builder + * + */ + public Builder storageMetrics(Output storageMetrics) { + $.storageMetrics = storageMetrics; + return this; + } + + /** + * @param storageMetrics Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. + * + * @return builder + * + */ + public Builder storageMetrics(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs storageMetrics) { + return storageMetrics(Output.of(storageMetrics)); + } + + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs build() { + $.storageMetrics = Objects.requireNonNull($.storageMetrics, "expected parameter 'storageMetrics' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs.java new file mode 100644 index 00000000000..dd1b70722f4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs Empty = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs(); + + /** + * Whether prefix-level storage metrics are enabled. + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Whether prefix-level storage metrics are enabled. + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + /** + * Selection criteria. See Selection Criteria below for more details. + * + */ + @Import(name="selectionCriteria") + private @Nullable Output selectionCriteria; + + /** + * @return Selection criteria. See Selection Criteria below for more details. + * + */ + public Optional> selectionCriteria() { + return Optional.ofNullable(this.selectionCriteria); + } + + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs() {} + + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs $) { + this.enabled = $.enabled; + this.selectionCriteria = $.selectionCriteria; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs $; + + public Builder() { + $ = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs(); + } + + public Builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs defaults) { + $ = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enabled Whether prefix-level storage metrics are enabled. + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Whether prefix-level storage metrics are enabled. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + /** + * @param selectionCriteria Selection criteria. See Selection Criteria below for more details. + * + * @return builder + * + */ + public Builder selectionCriteria(@Nullable Output selectionCriteria) { + $.selectionCriteria = selectionCriteria; + return this; + } + + /** + * @param selectionCriteria Selection criteria. See Selection Criteria below for more details. + * + * @return builder + * + */ + public Builder selectionCriteria(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs selectionCriteria) { + return selectionCriteria(Output.of(selectionCriteria)); + } + + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs.java new file mode 100644 index 00000000000..42d6f1e908e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs.java @@ -0,0 +1,159 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs Empty = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs(); + + /** + * The delimiter of the selection criteria being used. + * + */ + @Import(name="delimiter") + private @Nullable Output delimiter; + + /** + * @return The delimiter of the selection criteria being used. + * + */ + public Optional> delimiter() { + return Optional.ofNullable(this.delimiter); + } + + /** + * The max depth of the selection criteria. + * + */ + @Import(name="maxDepth") + private @Nullable Output maxDepth; + + /** + * @return The max depth of the selection criteria. + * + */ + public Optional> maxDepth() { + return Optional.ofNullable(this.maxDepth); + } + + /** + * The minimum number of storage bytes percentage whose metrics will be selected. + * + */ + @Import(name="minStorageBytesPercentage") + private @Nullable Output minStorageBytesPercentage; + + /** + * @return The minimum number of storage bytes percentage whose metrics will be selected. + * + */ + public Optional> minStorageBytesPercentage() { + return Optional.ofNullable(this.minStorageBytesPercentage); + } + + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs() {} + + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs $) { + this.delimiter = $.delimiter; + this.maxDepth = $.maxDepth; + this.minStorageBytesPercentage = $.minStorageBytesPercentage; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs $; + + public Builder() { + $ = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs(); + } + + public Builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs defaults) { + $ = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param delimiter The delimiter of the selection criteria being used. + * + * @return builder + * + */ + public Builder delimiter(@Nullable Output delimiter) { + $.delimiter = delimiter; + return this; + } + + /** + * @param delimiter The delimiter of the selection criteria being used. + * + * @return builder + * + */ + public Builder delimiter(String delimiter) { + return delimiter(Output.of(delimiter)); + } + + /** + * @param maxDepth The max depth of the selection criteria. + * + * @return builder + * + */ + public Builder maxDepth(@Nullable Output maxDepth) { + $.maxDepth = maxDepth; + return this; + } + + /** + * @param maxDepth The max depth of the selection criteria. + * + * @return builder + * + */ + public Builder maxDepth(Integer maxDepth) { + return maxDepth(Output.of(maxDepth)); + } + + /** + * @param minStorageBytesPercentage The minimum number of storage bytes percentage whose metrics will be selected. + * + * @return builder + * + */ + public Builder minStorageBytesPercentage(@Nullable Output minStorageBytesPercentage) { + $.minStorageBytesPercentage = minStorageBytesPercentage; + return this; + } + + /** + * @param minStorageBytesPercentage The minimum number of storage bytes percentage whose metrics will be selected. + * + * @return builder + * + */ + public Builder minStorageBytesPercentage(Double minStorageBytesPercentage) { + return minStorageBytesPercentage(Output.of(minStorageBytesPercentage)); + } + + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationArgs.java new file mode 100644 index 00000000000..b74789475a1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationArgs.java @@ -0,0 +1,275 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs; +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAwsOrgArgs; +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportArgs; +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationExcludeArgs; +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationIncludeArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StorageLensConfigurationStorageLensConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationStorageLensConfigurationArgs Empty = new StorageLensConfigurationStorageLensConfigurationArgs(); + + /** + * The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. + * + */ + @Import(name="accountLevel", required=true) + private Output accountLevel; + + /** + * @return The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. + * + */ + public Output accountLevel() { + return this.accountLevel; + } + + /** + * The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. + * + */ + @Import(name="awsOrg") + private @Nullable Output awsOrg; + + /** + * @return The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. + * + */ + public Optional> awsOrg() { + return Optional.ofNullable(this.awsOrg); + } + + /** + * Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. + * + */ + @Import(name="dataExport") + private @Nullable Output dataExport; + + /** + * @return Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. + * + */ + public Optional> dataExport() { + return Optional.ofNullable(this.dataExport); + } + + /** + * Whether the S3 Storage Lens configuration is enabled. + * + */ + @Import(name="enabled", required=true) + private Output enabled; + + /** + * @return Whether the S3 Storage Lens configuration is enabled. + * + */ + public Output enabled() { + return this.enabled; + } + + /** + * What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. + * + */ + @Import(name="exclude") + private @Nullable Output exclude; + + /** + * @return What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. + * + */ + public Optional> exclude() { + return Optional.ofNullable(this.exclude); + } + + /** + * What is included in this configuration. Conflicts with `exclude`. See Include below for more details. + * + */ + @Import(name="include") + private @Nullable Output include; + + /** + * @return What is included in this configuration. Conflicts with `exclude`. See Include below for more details. + * + */ + public Optional> include() { + return Optional.ofNullable(this.include); + } + + private StorageLensConfigurationStorageLensConfigurationArgs() {} + + private StorageLensConfigurationStorageLensConfigurationArgs(StorageLensConfigurationStorageLensConfigurationArgs $) { + this.accountLevel = $.accountLevel; + this.awsOrg = $.awsOrg; + this.dataExport = $.dataExport; + this.enabled = $.enabled; + this.exclude = $.exclude; + this.include = $.include; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationStorageLensConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationArgs $; + + public Builder() { + $ = new StorageLensConfigurationStorageLensConfigurationArgs(); + } + + public Builder(StorageLensConfigurationStorageLensConfigurationArgs defaults) { + $ = new StorageLensConfigurationStorageLensConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param accountLevel The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. + * + * @return builder + * + */ + public Builder accountLevel(Output accountLevel) { + $.accountLevel = accountLevel; + return this; + } + + /** + * @param accountLevel The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. + * + * @return builder + * + */ + public Builder accountLevel(StorageLensConfigurationStorageLensConfigurationAccountLevelArgs accountLevel) { + return accountLevel(Output.of(accountLevel)); + } + + /** + * @param awsOrg The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. + * + * @return builder + * + */ + public Builder awsOrg(@Nullable Output awsOrg) { + $.awsOrg = awsOrg; + return this; + } + + /** + * @param awsOrg The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. + * + * @return builder + * + */ + public Builder awsOrg(StorageLensConfigurationStorageLensConfigurationAwsOrgArgs awsOrg) { + return awsOrg(Output.of(awsOrg)); + } + + /** + * @param dataExport Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. + * + * @return builder + * + */ + public Builder dataExport(@Nullable Output dataExport) { + $.dataExport = dataExport; + return this; + } + + /** + * @param dataExport Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. + * + * @return builder + * + */ + public Builder dataExport(StorageLensConfigurationStorageLensConfigurationDataExportArgs dataExport) { + return dataExport(Output.of(dataExport)); + } + + /** + * @param enabled Whether the S3 Storage Lens configuration is enabled. + * + * @return builder + * + */ + public Builder enabled(Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Whether the S3 Storage Lens configuration is enabled. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + /** + * @param exclude What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. + * + * @return builder + * + */ + public Builder exclude(@Nullable Output exclude) { + $.exclude = exclude; + return this; + } + + /** + * @param exclude What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. + * + * @return builder + * + */ + public Builder exclude(StorageLensConfigurationStorageLensConfigurationExcludeArgs exclude) { + return exclude(Output.of(exclude)); + } + + /** + * @param include What is included in this configuration. Conflicts with `exclude`. See Include below for more details. + * + * @return builder + * + */ + public Builder include(@Nullable Output include) { + $.include = include; + return this; + } + + /** + * @param include What is included in this configuration. Conflicts with `exclude`. See Include below for more details. + * + * @return builder + * + */ + public Builder include(StorageLensConfigurationStorageLensConfigurationIncludeArgs include) { + return include(Output.of(include)); + } + + public StorageLensConfigurationStorageLensConfigurationArgs build() { + $.accountLevel = Objects.requireNonNull($.accountLevel, "expected parameter 'accountLevel' to be non-null"); + $.enabled = Objects.requireNonNull($.enabled, "expected parameter 'enabled' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAwsOrgArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAwsOrgArgs.java new file mode 100644 index 00000000000..ddffb2b3291 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationAwsOrgArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class StorageLensConfigurationStorageLensConfigurationAwsOrgArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationStorageLensConfigurationAwsOrgArgs Empty = new StorageLensConfigurationStorageLensConfigurationAwsOrgArgs(); + + /** + * The Amazon Resource Name (ARN) of the Amazon Web Services organization. + * + */ + @Import(name="arn", required=true) + private Output arn; + + /** + * @return The Amazon Resource Name (ARN) of the Amazon Web Services organization. + * + */ + public Output arn() { + return this.arn; + } + + private StorageLensConfigurationStorageLensConfigurationAwsOrgArgs() {} + + private StorageLensConfigurationStorageLensConfigurationAwsOrgArgs(StorageLensConfigurationStorageLensConfigurationAwsOrgArgs $) { + this.arn = $.arn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationStorageLensConfigurationAwsOrgArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationAwsOrgArgs $; + + public Builder() { + $ = new StorageLensConfigurationStorageLensConfigurationAwsOrgArgs(); + } + + public Builder(StorageLensConfigurationStorageLensConfigurationAwsOrgArgs defaults) { + $ = new StorageLensConfigurationStorageLensConfigurationAwsOrgArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param arn The Amazon Resource Name (ARN) of the Amazon Web Services organization. + * + * @return builder + * + */ + public Builder arn(Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The Amazon Resource Name (ARN) of the Amazon Web Services organization. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + public StorageLensConfigurationStorageLensConfigurationAwsOrgArgs build() { + $.arn = Objects.requireNonNull($.arn, "expected parameter 'arn' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportArgs.java new file mode 100644 index 00000000000..eb3ec4d2c4d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs; +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StorageLensConfigurationStorageLensConfigurationDataExportArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationStorageLensConfigurationDataExportArgs Empty = new StorageLensConfigurationStorageLensConfigurationDataExportArgs(); + + /** + * Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. + * + */ + @Import(name="cloudWatchMetrics") + private @Nullable Output cloudWatchMetrics; + + /** + * @return Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. + * + */ + public Optional> cloudWatchMetrics() { + return Optional.ofNullable(this.cloudWatchMetrics); + } + + /** + * The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. + * + */ + @Import(name="s3BucketDestination") + private @Nullable Output s3BucketDestination; + + /** + * @return The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. + * + */ + public Optional> s3BucketDestination() { + return Optional.ofNullable(this.s3BucketDestination); + } + + private StorageLensConfigurationStorageLensConfigurationDataExportArgs() {} + + private StorageLensConfigurationStorageLensConfigurationDataExportArgs(StorageLensConfigurationStorageLensConfigurationDataExportArgs $) { + this.cloudWatchMetrics = $.cloudWatchMetrics; + this.s3BucketDestination = $.s3BucketDestination; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationStorageLensConfigurationDataExportArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationDataExportArgs $; + + public Builder() { + $ = new StorageLensConfigurationStorageLensConfigurationDataExportArgs(); + } + + public Builder(StorageLensConfigurationStorageLensConfigurationDataExportArgs defaults) { + $ = new StorageLensConfigurationStorageLensConfigurationDataExportArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param cloudWatchMetrics Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. + * + * @return builder + * + */ + public Builder cloudWatchMetrics(@Nullable Output cloudWatchMetrics) { + $.cloudWatchMetrics = cloudWatchMetrics; + return this; + } + + /** + * @param cloudWatchMetrics Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. + * + * @return builder + * + */ + public Builder cloudWatchMetrics(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs cloudWatchMetrics) { + return cloudWatchMetrics(Output.of(cloudWatchMetrics)); + } + + /** + * @param s3BucketDestination The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. + * + * @return builder + * + */ + public Builder s3BucketDestination(@Nullable Output s3BucketDestination) { + $.s3BucketDestination = s3BucketDestination; + return this; + } + + /** + * @param s3BucketDestination The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. + * + * @return builder + * + */ + public Builder s3BucketDestination(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs s3BucketDestination) { + return s3BucketDestination(Output.of(s3BucketDestination)); + } + + public StorageLensConfigurationStorageLensConfigurationDataExportArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs.java new file mode 100644 index 00000000000..83e690acd56 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; + + +public final class StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs Empty = new StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs(); + + /** + * Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. + * + */ + @Import(name="enabled", required=true) + private Output enabled; + + /** + * @return Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. + * + */ + public Output enabled() { + return this.enabled; + } + + private StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs() {} + + private StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs $) { + this.enabled = $.enabled; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs $; + + public Builder() { + $ = new StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs(); + } + + public Builder(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs defaults) { + $ = new StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enabled Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. + * + * @return builder + * + */ + public Builder enabled(Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + public StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs build() { + $.enabled = Objects.requireNonNull($.enabled, "expected parameter 'enabled' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs.java new file mode 100644 index 00000000000..ca8ff06ea75 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs.java @@ -0,0 +1,273 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs Empty = new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs(); + + /** + * The account ID of the owner of the S3 Storage Lens metrics export bucket. + * + */ + @Import(name="accountId", required=true) + private Output accountId; + + /** + * @return The account ID of the owner of the S3 Storage Lens metrics export bucket. + * + */ + public Output accountId() { + return this.accountId; + } + + /** + * The Amazon Resource Name (ARN) of the bucket. + * + */ + @Import(name="arn", required=true) + private Output arn; + + /** + * @return The Amazon Resource Name (ARN) of the bucket. + * + */ + public Output arn() { + return this.arn; + } + + /** + * Encryption of the metrics exports in this bucket. See Encryption below for more details. + * + */ + @Import(name="encryption") + private @Nullable Output encryption; + + /** + * @return Encryption of the metrics exports in this bucket. See Encryption below for more details. + * + */ + public Optional> encryption() { + return Optional.ofNullable(this.encryption); + } + + /** + * The export format. Valid values: `CSV`, `Parquet`. + * + */ + @Import(name="format", required=true) + private Output format; + + /** + * @return The export format. Valid values: `CSV`, `Parquet`. + * + */ + public Output format() { + return this.format; + } + + /** + * The schema version of the export file. Valid values: `V_1`. + * + */ + @Import(name="outputSchemaVersion", required=true) + private Output outputSchemaVersion; + + /** + * @return The schema version of the export file. Valid values: `V_1`. + * + */ + public Output outputSchemaVersion() { + return this.outputSchemaVersion; + } + + /** + * The prefix of the destination bucket where the metrics export will be delivered. + * + */ + @Import(name="prefix") + private @Nullable Output prefix; + + /** + * @return The prefix of the destination bucket where the metrics export will be delivered. + * + */ + public Optional> prefix() { + return Optional.ofNullable(this.prefix); + } + + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs() {} + + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs $) { + this.accountId = $.accountId; + this.arn = $.arn; + this.encryption = $.encryption; + this.format = $.format; + this.outputSchemaVersion = $.outputSchemaVersion; + this.prefix = $.prefix; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs $; + + public Builder() { + $ = new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs(); + } + + public Builder(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs defaults) { + $ = new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param accountId The account ID of the owner of the S3 Storage Lens metrics export bucket. + * + * @return builder + * + */ + public Builder accountId(Output accountId) { + $.accountId = accountId; + return this; + } + + /** + * @param accountId The account ID of the owner of the S3 Storage Lens metrics export bucket. + * + * @return builder + * + */ + public Builder accountId(String accountId) { + return accountId(Output.of(accountId)); + } + + /** + * @param arn The Amazon Resource Name (ARN) of the bucket. + * + * @return builder + * + */ + public Builder arn(Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The Amazon Resource Name (ARN) of the bucket. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param encryption Encryption of the metrics exports in this bucket. See Encryption below for more details. + * + * @return builder + * + */ + public Builder encryption(@Nullable Output encryption) { + $.encryption = encryption; + return this; + } + + /** + * @param encryption Encryption of the metrics exports in this bucket. See Encryption below for more details. + * + * @return builder + * + */ + public Builder encryption(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs encryption) { + return encryption(Output.of(encryption)); + } + + /** + * @param format The export format. Valid values: `CSV`, `Parquet`. + * + * @return builder + * + */ + public Builder format(Output format) { + $.format = format; + return this; + } + + /** + * @param format The export format. Valid values: `CSV`, `Parquet`. + * + * @return builder + * + */ + public Builder format(String format) { + return format(Output.of(format)); + } + + /** + * @param outputSchemaVersion The schema version of the export file. Valid values: `V_1`. + * + * @return builder + * + */ + public Builder outputSchemaVersion(Output outputSchemaVersion) { + $.outputSchemaVersion = outputSchemaVersion; + return this; + } + + /** + * @param outputSchemaVersion The schema version of the export file. Valid values: `V_1`. + * + * @return builder + * + */ + public Builder outputSchemaVersion(String outputSchemaVersion) { + return outputSchemaVersion(Output.of(outputSchemaVersion)); + } + + /** + * @param prefix The prefix of the destination bucket where the metrics export will be delivered. + * + * @return builder + * + */ + public Builder prefix(@Nullable Output prefix) { + $.prefix = prefix; + return this; + } + + /** + * @param prefix The prefix of the destination bucket where the metrics export will be delivered. + * + * @return builder + * + */ + public Builder prefix(String prefix) { + return prefix(Output.of(prefix)); + } + + public StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs build() { + $.accountId = Objects.requireNonNull($.accountId, "expected parameter 'accountId' to be non-null"); + $.arn = Objects.requireNonNull($.arn, "expected parameter 'arn' to be non-null"); + $.format = Objects.requireNonNull($.format, "expected parameter 'format' to be non-null"); + $.outputSchemaVersion = Objects.requireNonNull($.outputSchemaVersion, "expected parameter 'outputSchemaVersion' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs.java new file mode 100644 index 00000000000..61b097018c6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs.java @@ -0,0 +1,132 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs; +import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs Empty = new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs(); + + /** + * SSE-KMS encryption. See SSE KMS below for more details. + * + */ + @Import(name="sseKms") + private @Nullable Output sseKms; + + /** + * @return SSE-KMS encryption. See SSE KMS below for more details. + * + */ + public Optional> sseKms() { + return Optional.ofNullable(this.sseKms); + } + + /** + * SSE-S3 encryption. An empty configuration block `{}` should be used. + * + */ + @Import(name="sseS3s") + private @Nullable Output> sseS3s; + + /** + * @return SSE-S3 encryption. An empty configuration block `{}` should be used. + * + */ + public Optional>> sseS3s() { + return Optional.ofNullable(this.sseS3s); + } + + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs() {} + + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs $) { + this.sseKms = $.sseKms; + this.sseS3s = $.sseS3s; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs $; + + public Builder() { + $ = new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs(); + } + + public Builder(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs defaults) { + $ = new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param sseKms SSE-KMS encryption. See SSE KMS below for more details. + * + * @return builder + * + */ + public Builder sseKms(@Nullable Output sseKms) { + $.sseKms = sseKms; + return this; + } + + /** + * @param sseKms SSE-KMS encryption. See SSE KMS below for more details. + * + * @return builder + * + */ + public Builder sseKms(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs sseKms) { + return sseKms(Output.of(sseKms)); + } + + /** + * @param sseS3s SSE-S3 encryption. An empty configuration block `{}` should be used. + * + * @return builder + * + */ + public Builder sseS3s(@Nullable Output> sseS3s) { + $.sseS3s = sseS3s; + return this; + } + + /** + * @param sseS3s SSE-S3 encryption. An empty configuration block `{}` should be used. + * + * @return builder + * + */ + public Builder sseS3s(List sseS3s) { + return sseS3s(Output.of(sseS3s)); + } + + /** + * @param sseS3s SSE-S3 encryption. An empty configuration block `{}` should be used. + * + * @return builder + * + */ + public Builder sseS3s(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args... sseS3s) { + return sseS3s(List.of(sseS3s)); + } + + public StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs.java new file mode 100644 index 00000000000..a78be4a7c01 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs Empty = new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs(); + + /** + * KMS key ARN. + * + */ + @Import(name="keyId", required=true) + private Output keyId; + + /** + * @return KMS key ARN. + * + */ + public Output keyId() { + return this.keyId; + } + + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs() {} + + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs $) { + this.keyId = $.keyId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs $; + + public Builder() { + $ = new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs(); + } + + public Builder(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs defaults) { + $ = new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param keyId KMS key ARN. + * + * @return builder + * + */ + public Builder keyId(Output keyId) { + $.keyId = keyId; + return this; + } + + /** + * @param keyId KMS key ARN. + * + * @return builder + * + */ + public Builder keyId(String keyId) { + return keyId(Output.of(keyId)); + } + + public StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs build() { + $.keyId = Objects.requireNonNull($.keyId, "expected parameter 'keyId' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args.java new file mode 100644 index 00000000000..f07f30cbe1c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args.java @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + + + + +public final class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args Empty = new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args(); + + public static Builder builder() { + return new Builder(); + } + + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args $; + + public Builder() { + $ = new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args(); + } + public StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationExcludeArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationExcludeArgs.java new file mode 100644 index 00000000000..2eec36adcb7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationExcludeArgs.java @@ -0,0 +1,141 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StorageLensConfigurationStorageLensConfigurationExcludeArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationStorageLensConfigurationExcludeArgs Empty = new StorageLensConfigurationStorageLensConfigurationExcludeArgs(); + + /** + * List of S3 bucket ARNs. + * + */ + @Import(name="buckets") + private @Nullable Output> buckets; + + /** + * @return List of S3 bucket ARNs. + * + */ + public Optional>> buckets() { + return Optional.ofNullable(this.buckets); + } + + /** + * List of AWS Regions. + * + */ + @Import(name="regions") + private @Nullable Output> regions; + + /** + * @return List of AWS Regions. + * + */ + public Optional>> regions() { + return Optional.ofNullable(this.regions); + } + + private StorageLensConfigurationStorageLensConfigurationExcludeArgs() {} + + private StorageLensConfigurationStorageLensConfigurationExcludeArgs(StorageLensConfigurationStorageLensConfigurationExcludeArgs $) { + this.buckets = $.buckets; + this.regions = $.regions; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationStorageLensConfigurationExcludeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationExcludeArgs $; + + public Builder() { + $ = new StorageLensConfigurationStorageLensConfigurationExcludeArgs(); + } + + public Builder(StorageLensConfigurationStorageLensConfigurationExcludeArgs defaults) { + $ = new StorageLensConfigurationStorageLensConfigurationExcludeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param buckets List of S3 bucket ARNs. + * + * @return builder + * + */ + public Builder buckets(@Nullable Output> buckets) { + $.buckets = buckets; + return this; + } + + /** + * @param buckets List of S3 bucket ARNs. + * + * @return builder + * + */ + public Builder buckets(List buckets) { + return buckets(Output.of(buckets)); + } + + /** + * @param buckets List of S3 bucket ARNs. + * + * @return builder + * + */ + public Builder buckets(String... buckets) { + return buckets(List.of(buckets)); + } + + /** + * @param regions List of AWS Regions. + * + * @return builder + * + */ + public Builder regions(@Nullable Output> regions) { + $.regions = regions; + return this; + } + + /** + * @param regions List of AWS Regions. + * + * @return builder + * + */ + public Builder regions(List regions) { + return regions(Output.of(regions)); + } + + /** + * @param regions List of AWS Regions. + * + * @return builder + * + */ + public Builder regions(String... regions) { + return regions(List.of(regions)); + } + + public StorageLensConfigurationStorageLensConfigurationExcludeArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationIncludeArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationIncludeArgs.java new file mode 100644 index 00000000000..f4120eda7e7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/StorageLensConfigurationStorageLensConfigurationIncludeArgs.java @@ -0,0 +1,141 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StorageLensConfigurationStorageLensConfigurationIncludeArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageLensConfigurationStorageLensConfigurationIncludeArgs Empty = new StorageLensConfigurationStorageLensConfigurationIncludeArgs(); + + /** + * List of S3 bucket ARNs. + * + */ + @Import(name="buckets") + private @Nullable Output> buckets; + + /** + * @return List of S3 bucket ARNs. + * + */ + public Optional>> buckets() { + return Optional.ofNullable(this.buckets); + } + + /** + * List of AWS Regions. + * + */ + @Import(name="regions") + private @Nullable Output> regions; + + /** + * @return List of AWS Regions. + * + */ + public Optional>> regions() { + return Optional.ofNullable(this.regions); + } + + private StorageLensConfigurationStorageLensConfigurationIncludeArgs() {} + + private StorageLensConfigurationStorageLensConfigurationIncludeArgs(StorageLensConfigurationStorageLensConfigurationIncludeArgs $) { + this.buckets = $.buckets; + this.regions = $.regions; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageLensConfigurationStorageLensConfigurationIncludeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationIncludeArgs $; + + public Builder() { + $ = new StorageLensConfigurationStorageLensConfigurationIncludeArgs(); + } + + public Builder(StorageLensConfigurationStorageLensConfigurationIncludeArgs defaults) { + $ = new StorageLensConfigurationStorageLensConfigurationIncludeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param buckets List of S3 bucket ARNs. + * + * @return builder + * + */ + public Builder buckets(@Nullable Output> buckets) { + $.buckets = buckets; + return this; + } + + /** + * @param buckets List of S3 bucket ARNs. + * + * @return builder + * + */ + public Builder buckets(List buckets) { + return buckets(Output.of(buckets)); + } + + /** + * @param buckets List of S3 bucket ARNs. + * + * @return builder + * + */ + public Builder buckets(String... buckets) { + return buckets(List.of(buckets)); + } + + /** + * @param regions List of AWS Regions. + * + * @return builder + * + */ + public Builder regions(@Nullable Output> regions) { + $.regions = regions; + return this; + } + + /** + * @param regions List of AWS Regions. + * + * @return builder + * + */ + public Builder regions(List regions) { + return regions(Output.of(regions)); + } + + /** + * @param regions List of AWS Regions. + * + * @return builder + * + */ + public Builder regions(String... regions) { + return regions(List.of(regions)); + } + + public StorageLensConfigurationStorageLensConfigurationIncludeArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfiguration.java new file mode 100644 index 00000000000..fd2fb0e4735 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfiguration.java @@ -0,0 +1,161 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.outputs; + +import com.pulumi.aws.s3control.outputs.StorageLensConfigurationStorageLensConfigurationAccountLevel; +import com.pulumi.aws.s3control.outputs.StorageLensConfigurationStorageLensConfigurationAwsOrg; +import com.pulumi.aws.s3control.outputs.StorageLensConfigurationStorageLensConfigurationDataExport; +import com.pulumi.aws.s3control.outputs.StorageLensConfigurationStorageLensConfigurationExclude; +import com.pulumi.aws.s3control.outputs.StorageLensConfigurationStorageLensConfigurationInclude; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StorageLensConfigurationStorageLensConfiguration { + /** + * @return The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. + * + */ + private StorageLensConfigurationStorageLensConfigurationAccountLevel accountLevel; + /** + * @return The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. + * + */ + private @Nullable StorageLensConfigurationStorageLensConfigurationAwsOrg awsOrg; + /** + * @return Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. + * + */ + private @Nullable StorageLensConfigurationStorageLensConfigurationDataExport dataExport; + /** + * @return Whether the S3 Storage Lens configuration is enabled. + * + */ + private Boolean enabled; + /** + * @return What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. + * + */ + private @Nullable StorageLensConfigurationStorageLensConfigurationExclude exclude; + /** + * @return What is included in this configuration. Conflicts with `exclude`. See Include below for more details. + * + */ + private @Nullable StorageLensConfigurationStorageLensConfigurationInclude include; + + private StorageLensConfigurationStorageLensConfiguration() {} + /** + * @return The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. + * + */ + public StorageLensConfigurationStorageLensConfigurationAccountLevel accountLevel() { + return this.accountLevel; + } + /** + * @return The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. + * + */ + public Optional awsOrg() { + return Optional.ofNullable(this.awsOrg); + } + /** + * @return Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. + * + */ + public Optional dataExport() { + return Optional.ofNullable(this.dataExport); + } + /** + * @return Whether the S3 Storage Lens configuration is enabled. + * + */ + public Boolean enabled() { + return this.enabled; + } + /** + * @return What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. + * + */ + public Optional exclude() { + return Optional.ofNullable(this.exclude); + } + /** + * @return What is included in this configuration. Conflicts with `exclude`. See Include below for more details. + * + */ + public Optional include() { + return Optional.ofNullable(this.include); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageLensConfigurationStorageLensConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationAccountLevel accountLevel; + private @Nullable StorageLensConfigurationStorageLensConfigurationAwsOrg awsOrg; + private @Nullable StorageLensConfigurationStorageLensConfigurationDataExport dataExport; + private Boolean enabled; + private @Nullable StorageLensConfigurationStorageLensConfigurationExclude exclude; + private @Nullable StorageLensConfigurationStorageLensConfigurationInclude include; + public Builder() {} + public Builder(StorageLensConfigurationStorageLensConfiguration defaults) { + Objects.requireNonNull(defaults); + this.accountLevel = defaults.accountLevel; + this.awsOrg = defaults.awsOrg; + this.dataExport = defaults.dataExport; + this.enabled = defaults.enabled; + this.exclude = defaults.exclude; + this.include = defaults.include; + } + + @CustomType.Setter + public Builder accountLevel(StorageLensConfigurationStorageLensConfigurationAccountLevel accountLevel) { + this.accountLevel = Objects.requireNonNull(accountLevel); + return this; + } + @CustomType.Setter + public Builder awsOrg(@Nullable StorageLensConfigurationStorageLensConfigurationAwsOrg awsOrg) { + this.awsOrg = awsOrg; + return this; + } + @CustomType.Setter + public Builder dataExport(@Nullable StorageLensConfigurationStorageLensConfigurationDataExport dataExport) { + this.dataExport = dataExport; + return this; + } + @CustomType.Setter + public Builder enabled(Boolean enabled) { + this.enabled = Objects.requireNonNull(enabled); + return this; + } + @CustomType.Setter + public Builder exclude(@Nullable StorageLensConfigurationStorageLensConfigurationExclude exclude) { + this.exclude = exclude; + return this; + } + @CustomType.Setter + public Builder include(@Nullable StorageLensConfigurationStorageLensConfigurationInclude include) { + this.include = include; + return this; + } + public StorageLensConfigurationStorageLensConfiguration build() { + final var o = new StorageLensConfigurationStorageLensConfiguration(); + o.accountLevel = accountLevel; + o.awsOrg = awsOrg; + o.dataExport = dataExport; + o.enabled = enabled; + o.exclude = exclude; + o.include = include; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevel.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevel.java new file mode 100644 index 00000000000..91ee62918ee --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevel.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.outputs; + +import com.pulumi.aws.s3control.outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics; +import com.pulumi.aws.s3control.outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StorageLensConfigurationStorageLensConfigurationAccountLevel { + /** + * @return S3 Storage Lens activity metrics. See Activity Metrics below for more details. + * + */ + private @Nullable StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics activityMetrics; + /** + * @return S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. + * + */ + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel bucketLevel; + + private StorageLensConfigurationStorageLensConfigurationAccountLevel() {} + /** + * @return S3 Storage Lens activity metrics. See Activity Metrics below for more details. + * + */ + public Optional activityMetrics() { + return Optional.ofNullable(this.activityMetrics); + } + /** + * @return S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. + * + */ + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel bucketLevel() { + return this.bucketLevel; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageLensConfigurationStorageLensConfigurationAccountLevel defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics activityMetrics; + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel bucketLevel; + public Builder() {} + public Builder(StorageLensConfigurationStorageLensConfigurationAccountLevel defaults) { + Objects.requireNonNull(defaults); + this.activityMetrics = defaults.activityMetrics; + this.bucketLevel = defaults.bucketLevel; + } + + @CustomType.Setter + public Builder activityMetrics(@Nullable StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics activityMetrics) { + this.activityMetrics = activityMetrics; + return this; + } + @CustomType.Setter + public Builder bucketLevel(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel bucketLevel) { + this.bucketLevel = Objects.requireNonNull(bucketLevel); + return this; + } + public StorageLensConfigurationStorageLensConfigurationAccountLevel build() { + final var o = new StorageLensConfigurationStorageLensConfigurationAccountLevel(); + o.activityMetrics = activityMetrics; + o.bucketLevel = bucketLevel; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics.java new file mode 100644 index 00000000000..41a387e4378 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics.java @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics { + /** + * @return Whether the activity metrics are enabled. + * + */ + private @Nullable Boolean enabled; + + private StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics() {} + /** + * @return Whether the activity metrics are enabled. + * + */ + public Optional enabled() { + return Optional.ofNullable(this.enabled); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean enabled; + public Builder() {} + public Builder(StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics defaults) { + Objects.requireNonNull(defaults); + this.enabled = defaults.enabled; + } + + @CustomType.Setter + public Builder enabled(@Nullable Boolean enabled) { + this.enabled = enabled; + return this; + } + public StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics build() { + final var o = new StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics(); + o.enabled = enabled; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel.java new file mode 100644 index 00000000000..c4d186489af --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.outputs; + +import com.pulumi.aws.s3control.outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics; +import com.pulumi.aws.s3control.outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel { + /** + * @return S3 Storage Lens activity metrics. See Activity Metrics above for more details. + * + */ + private @Nullable StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics activityMetrics; + /** + * @return Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. + * + */ + private @Nullable StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel prefixLevel; + + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel() {} + /** + * @return S3 Storage Lens activity metrics. See Activity Metrics above for more details. + * + */ + public Optional activityMetrics() { + return Optional.ofNullable(this.activityMetrics); + } + /** + * @return Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. + * + */ + public Optional prefixLevel() { + return Optional.ofNullable(this.prefixLevel); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics activityMetrics; + private @Nullable StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel prefixLevel; + public Builder() {} + public Builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel defaults) { + Objects.requireNonNull(defaults); + this.activityMetrics = defaults.activityMetrics; + this.prefixLevel = defaults.prefixLevel; + } + + @CustomType.Setter + public Builder activityMetrics(@Nullable StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics activityMetrics) { + this.activityMetrics = activityMetrics; + return this; + } + @CustomType.Setter + public Builder prefixLevel(@Nullable StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel prefixLevel) { + this.prefixLevel = prefixLevel; + return this; + } + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel build() { + final var o = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel(); + o.activityMetrics = activityMetrics; + o.prefixLevel = prefixLevel; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics.java new file mode 100644 index 00000000000..609c291e40c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics.java @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics { + /** + * @return Whether the activity metrics are enabled. + * + */ + private @Nullable Boolean enabled; + + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics() {} + /** + * @return Whether the activity metrics are enabled. + * + */ + public Optional enabled() { + return Optional.ofNullable(this.enabled); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean enabled; + public Builder() {} + public Builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics defaults) { + Objects.requireNonNull(defaults); + this.enabled = defaults.enabled; + } + + @CustomType.Setter + public Builder enabled(@Nullable Boolean enabled) { + this.enabled = enabled; + return this; + } + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics build() { + final var o = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics(); + o.enabled = enabled; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel.java new file mode 100644 index 00000000000..aad5694c7e3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.outputs; + +import com.pulumi.aws.s3control.outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; + +@CustomType +public final class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel { + /** + * @return Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. + * + */ + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics storageMetrics; + + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel() {} + /** + * @return Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. + * + */ + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics storageMetrics() { + return this.storageMetrics; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics storageMetrics; + public Builder() {} + public Builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel defaults) { + Objects.requireNonNull(defaults); + this.storageMetrics = defaults.storageMetrics; + } + + @CustomType.Setter + public Builder storageMetrics(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics storageMetrics) { + this.storageMetrics = Objects.requireNonNull(storageMetrics); + return this; + } + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel build() { + final var o = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel(); + o.storageMetrics = storageMetrics; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics.java new file mode 100644 index 00000000000..df345a07fe6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.outputs; + +import com.pulumi.aws.s3control.outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics { + /** + * @return Whether prefix-level storage metrics are enabled. + * + */ + private @Nullable Boolean enabled; + /** + * @return Selection criteria. See Selection Criteria below for more details. + * + */ + private @Nullable StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria selectionCriteria; + + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics() {} + /** + * @return Whether prefix-level storage metrics are enabled. + * + */ + public Optional enabled() { + return Optional.ofNullable(this.enabled); + } + /** + * @return Selection criteria. See Selection Criteria below for more details. + * + */ + public Optional selectionCriteria() { + return Optional.ofNullable(this.selectionCriteria); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean enabled; + private @Nullable StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria selectionCriteria; + public Builder() {} + public Builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics defaults) { + Objects.requireNonNull(defaults); + this.enabled = defaults.enabled; + this.selectionCriteria = defaults.selectionCriteria; + } + + @CustomType.Setter + public Builder enabled(@Nullable Boolean enabled) { + this.enabled = enabled; + return this; + } + @CustomType.Setter + public Builder selectionCriteria(@Nullable StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria selectionCriteria) { + this.selectionCriteria = selectionCriteria; + return this; + } + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics build() { + final var o = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics(); + o.enabled = enabled; + o.selectionCriteria = selectionCriteria; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria.java new file mode 100644 index 00000000000..850b2e6a5e3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria.java @@ -0,0 +1,98 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria { + /** + * @return The delimiter of the selection criteria being used. + * + */ + private @Nullable String delimiter; + /** + * @return The max depth of the selection criteria. + * + */ + private @Nullable Integer maxDepth; + /** + * @return The minimum number of storage bytes percentage whose metrics will be selected. + * + */ + private @Nullable Double minStorageBytesPercentage; + + private StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria() {} + /** + * @return The delimiter of the selection criteria being used. + * + */ + public Optional delimiter() { + return Optional.ofNullable(this.delimiter); + } + /** + * @return The max depth of the selection criteria. + * + */ + public Optional maxDepth() { + return Optional.ofNullable(this.maxDepth); + } + /** + * @return The minimum number of storage bytes percentage whose metrics will be selected. + * + */ + public Optional minStorageBytesPercentage() { + return Optional.ofNullable(this.minStorageBytesPercentage); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String delimiter; + private @Nullable Integer maxDepth; + private @Nullable Double minStorageBytesPercentage; + public Builder() {} + public Builder(StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria defaults) { + Objects.requireNonNull(defaults); + this.delimiter = defaults.delimiter; + this.maxDepth = defaults.maxDepth; + this.minStorageBytesPercentage = defaults.minStorageBytesPercentage; + } + + @CustomType.Setter + public Builder delimiter(@Nullable String delimiter) { + this.delimiter = delimiter; + return this; + } + @CustomType.Setter + public Builder maxDepth(@Nullable Integer maxDepth) { + this.maxDepth = maxDepth; + return this; + } + @CustomType.Setter + public Builder minStorageBytesPercentage(@Nullable Double minStorageBytesPercentage) { + this.minStorageBytesPercentage = minStorageBytesPercentage; + return this; + } + public StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria build() { + final var o = new StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria(); + o.delimiter = delimiter; + o.maxDepth = maxDepth; + o.minStorageBytesPercentage = minStorageBytesPercentage; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAwsOrg.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAwsOrg.java new file mode 100644 index 00000000000..7629da548b0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationAwsOrg.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class StorageLensConfigurationStorageLensConfigurationAwsOrg { + /** + * @return The Amazon Resource Name (ARN) of the Amazon Web Services organization. + * + */ + private String arn; + + private StorageLensConfigurationStorageLensConfigurationAwsOrg() {} + /** + * @return The Amazon Resource Name (ARN) of the Amazon Web Services organization. + * + */ + public String arn() { + return this.arn; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageLensConfigurationStorageLensConfigurationAwsOrg defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String arn; + public Builder() {} + public Builder(StorageLensConfigurationStorageLensConfigurationAwsOrg defaults) { + Objects.requireNonNull(defaults); + this.arn = defaults.arn; + } + + @CustomType.Setter + public Builder arn(String arn) { + this.arn = Objects.requireNonNull(arn); + return this; + } + public StorageLensConfigurationStorageLensConfigurationAwsOrg build() { + final var o = new StorageLensConfigurationStorageLensConfigurationAwsOrg(); + o.arn = arn; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExport.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExport.java new file mode 100644 index 00000000000..9431fb915cb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExport.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.outputs; + +import com.pulumi.aws.s3control.outputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics; +import com.pulumi.aws.s3control.outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StorageLensConfigurationStorageLensConfigurationDataExport { + /** + * @return Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. + * + */ + private @Nullable StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics cloudWatchMetrics; + /** + * @return The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. + * + */ + private @Nullable StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination s3BucketDestination; + + private StorageLensConfigurationStorageLensConfigurationDataExport() {} + /** + * @return Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. + * + */ + public Optional cloudWatchMetrics() { + return Optional.ofNullable(this.cloudWatchMetrics); + } + /** + * @return The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. + * + */ + public Optional s3BucketDestination() { + return Optional.ofNullable(this.s3BucketDestination); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageLensConfigurationStorageLensConfigurationDataExport defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics cloudWatchMetrics; + private @Nullable StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination s3BucketDestination; + public Builder() {} + public Builder(StorageLensConfigurationStorageLensConfigurationDataExport defaults) { + Objects.requireNonNull(defaults); + this.cloudWatchMetrics = defaults.cloudWatchMetrics; + this.s3BucketDestination = defaults.s3BucketDestination; + } + + @CustomType.Setter + public Builder cloudWatchMetrics(@Nullable StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics cloudWatchMetrics) { + this.cloudWatchMetrics = cloudWatchMetrics; + return this; + } + @CustomType.Setter + public Builder s3BucketDestination(@Nullable StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination s3BucketDestination) { + this.s3BucketDestination = s3BucketDestination; + return this; + } + public StorageLensConfigurationStorageLensConfigurationDataExport build() { + final var o = new StorageLensConfigurationStorageLensConfigurationDataExport(); + o.cloudWatchMetrics = cloudWatchMetrics; + o.s3BucketDestination = s3BucketDestination; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics.java new file mode 100644 index 00000000000..2552c7eb6d6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; + +@CustomType +public final class StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics { + /** + * @return Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. + * + */ + private Boolean enabled; + + private StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics() {} + /** + * @return Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. + * + */ + public Boolean enabled() { + return this.enabled; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean enabled; + public Builder() {} + public Builder(StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics defaults) { + Objects.requireNonNull(defaults); + this.enabled = defaults.enabled; + } + + @CustomType.Setter + public Builder enabled(Boolean enabled) { + this.enabled = Objects.requireNonNull(enabled); + return this; + } + public StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics build() { + final var o = new StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics(); + o.enabled = enabled; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination.java new file mode 100644 index 00000000000..7830e47488f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination.java @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.outputs; + +import com.pulumi.aws.s3control.outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination { + /** + * @return The account ID of the owner of the S3 Storage Lens metrics export bucket. + * + */ + private String accountId; + /** + * @return The Amazon Resource Name (ARN) of the bucket. + * + */ + private String arn; + /** + * @return Encryption of the metrics exports in this bucket. See Encryption below for more details. + * + */ + private @Nullable StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption encryption; + /** + * @return The export format. Valid values: `CSV`, `Parquet`. + * + */ + private String format; + /** + * @return The schema version of the export file. Valid values: `V_1`. + * + */ + private String outputSchemaVersion; + /** + * @return The prefix of the destination bucket where the metrics export will be delivered. + * + */ + private @Nullable String prefix; + + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination() {} + /** + * @return The account ID of the owner of the S3 Storage Lens metrics export bucket. + * + */ + public String accountId() { + return this.accountId; + } + /** + * @return The Amazon Resource Name (ARN) of the bucket. + * + */ + public String arn() { + return this.arn; + } + /** + * @return Encryption of the metrics exports in this bucket. See Encryption below for more details. + * + */ + public Optional encryption() { + return Optional.ofNullable(this.encryption); + } + /** + * @return The export format. Valid values: `CSV`, `Parquet`. + * + */ + public String format() { + return this.format; + } + /** + * @return The schema version of the export file. Valid values: `V_1`. + * + */ + public String outputSchemaVersion() { + return this.outputSchemaVersion; + } + /** + * @return The prefix of the destination bucket where the metrics export will be delivered. + * + */ + public Optional prefix() { + return Optional.ofNullable(this.prefix); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String accountId; + private String arn; + private @Nullable StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption encryption; + private String format; + private String outputSchemaVersion; + private @Nullable String prefix; + public Builder() {} + public Builder(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination defaults) { + Objects.requireNonNull(defaults); + this.accountId = defaults.accountId; + this.arn = defaults.arn; + this.encryption = defaults.encryption; + this.format = defaults.format; + this.outputSchemaVersion = defaults.outputSchemaVersion; + this.prefix = defaults.prefix; + } + + @CustomType.Setter + public Builder accountId(String accountId) { + this.accountId = Objects.requireNonNull(accountId); + return this; + } + @CustomType.Setter + public Builder arn(String arn) { + this.arn = Objects.requireNonNull(arn); + return this; + } + @CustomType.Setter + public Builder encryption(@Nullable StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption encryption) { + this.encryption = encryption; + return this; + } + @CustomType.Setter + public Builder format(String format) { + this.format = Objects.requireNonNull(format); + return this; + } + @CustomType.Setter + public Builder outputSchemaVersion(String outputSchemaVersion) { + this.outputSchemaVersion = Objects.requireNonNull(outputSchemaVersion); + return this; + } + @CustomType.Setter + public Builder prefix(@Nullable String prefix) { + this.prefix = prefix; + return this; + } + public StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination build() { + final var o = new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination(); + o.accountId = accountId; + o.arn = arn; + o.encryption = encryption; + o.format = format; + o.outputSchemaVersion = outputSchemaVersion; + o.prefix = prefix; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption.java new file mode 100644 index 00000000000..e1608bd85ce --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.outputs; + +import com.pulumi.aws.s3control.outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms; +import com.pulumi.aws.s3control.outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption { + /** + * @return SSE-KMS encryption. See SSE KMS below for more details. + * + */ + private @Nullable StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms sseKms; + /** + * @return SSE-S3 encryption. An empty configuration block `{}` should be used. + * + */ + private @Nullable List sseS3s; + + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption() {} + /** + * @return SSE-KMS encryption. See SSE KMS below for more details. + * + */ + public Optional sseKms() { + return Optional.ofNullable(this.sseKms); + } + /** + * @return SSE-S3 encryption. An empty configuration block `{}` should be used. + * + */ + public List sseS3s() { + return this.sseS3s == null ? List.of() : this.sseS3s; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms sseKms; + private @Nullable List sseS3s; + public Builder() {} + public Builder(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption defaults) { + Objects.requireNonNull(defaults); + this.sseKms = defaults.sseKms; + this.sseS3s = defaults.sseS3s; + } + + @CustomType.Setter + public Builder sseKms(@Nullable StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms sseKms) { + this.sseKms = sseKms; + return this; + } + @CustomType.Setter + public Builder sseS3s(@Nullable List sseS3s) { + this.sseS3s = sseS3s; + return this; + } + public Builder sseS3s(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3... sseS3s) { + return sseS3s(List.of(sseS3s)); + } + public StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption build() { + final var o = new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption(); + o.sseKms = sseKms; + o.sseS3s = sseS3s; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms.java new file mode 100644 index 00000000000..b4a1a5bb07a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms { + /** + * @return KMS key ARN. + * + */ + private String keyId; + + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms() {} + /** + * @return KMS key ARN. + * + */ + public String keyId() { + return this.keyId; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String keyId; + public Builder() {} + public Builder(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms defaults) { + Objects.requireNonNull(defaults); + this.keyId = defaults.keyId; + } + + @CustomType.Setter + public Builder keyId(String keyId) { + this.keyId = Objects.requireNonNull(keyId); + return this; + } + public StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms build() { + final var o = new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms(); + o.keyId = keyId; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3.java new file mode 100644 index 00000000000..c6403ed7ae1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3.java @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; + +@CustomType +public final class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3 { + private StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3() {} + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3 defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + public Builder() {} + public Builder(StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3 defaults) { + Objects.requireNonNull(defaults); + } + + public StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3 build() { + final var o = new StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3(); + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationExclude.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationExclude.java new file mode 100644 index 00000000000..3a1c0ce513f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationExclude.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class StorageLensConfigurationStorageLensConfigurationExclude { + /** + * @return List of S3 bucket ARNs. + * + */ + private @Nullable List buckets; + /** + * @return List of AWS Regions. + * + */ + private @Nullable List regions; + + private StorageLensConfigurationStorageLensConfigurationExclude() {} + /** + * @return List of S3 bucket ARNs. + * + */ + public List buckets() { + return this.buckets == null ? List.of() : this.buckets; + } + /** + * @return List of AWS Regions. + * + */ + public List regions() { + return this.regions == null ? List.of() : this.regions; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageLensConfigurationStorageLensConfigurationExclude defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List buckets; + private @Nullable List regions; + public Builder() {} + public Builder(StorageLensConfigurationStorageLensConfigurationExclude defaults) { + Objects.requireNonNull(defaults); + this.buckets = defaults.buckets; + this.regions = defaults.regions; + } + + @CustomType.Setter + public Builder buckets(@Nullable List buckets) { + this.buckets = buckets; + return this; + } + public Builder buckets(String... buckets) { + return buckets(List.of(buckets)); + } + @CustomType.Setter + public Builder regions(@Nullable List regions) { + this.regions = regions; + return this; + } + public Builder regions(String... regions) { + return regions(List.of(regions)); + } + public StorageLensConfigurationStorageLensConfigurationExclude build() { + final var o = new StorageLensConfigurationStorageLensConfigurationExclude(); + o.buckets = buckets; + o.regions = regions; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationInclude.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationInclude.java new file mode 100644 index 00000000000..75ac0b18634 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/outputs/StorageLensConfigurationStorageLensConfigurationInclude.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3control.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class StorageLensConfigurationStorageLensConfigurationInclude { + /** + * @return List of S3 bucket ARNs. + * + */ + private @Nullable List buckets; + /** + * @return List of AWS Regions. + * + */ + private @Nullable List regions; + + private StorageLensConfigurationStorageLensConfigurationInclude() {} + /** + * @return List of S3 bucket ARNs. + * + */ + public List buckets() { + return this.buckets == null ? List.of() : this.buckets; + } + /** + * @return List of AWS Regions. + * + */ + public List regions() { + return this.regions == null ? List.of() : this.regions; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageLensConfigurationStorageLensConfigurationInclude defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List buckets; + private @Nullable List regions; + public Builder() {} + public Builder(StorageLensConfigurationStorageLensConfigurationInclude defaults) { + Objects.requireNonNull(defaults); + this.buckets = defaults.buckets; + this.regions = defaults.regions; + } + + @CustomType.Setter + public Builder buckets(@Nullable List buckets) { + this.buckets = buckets; + return this; + } + public Builder buckets(String... buckets) { + return buckets(List.of(buckets)); + } + @CustomType.Setter + public Builder regions(@Nullable List regions) { + this.regions = regions; + return this; + } + public Builder regions(String... regions) { + return regions(List.of(regions)); + } + public StorageLensConfigurationStorageLensConfigurationInclude build() { + final var o = new StorageLensConfigurationStorageLensConfigurationInclude(); + o.buckets = buckets; + o.regions = regions; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/Product.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/Product.java index 54c4855be50..6b8bc601f0c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/Product.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/Product.java @@ -26,7 +26,6 @@ * * ## Example Usage * ### Basic Usage - * * ```java * package generated_program; * @@ -50,12 +49,12 @@ * * public static void stack(Context ctx) { * var example = new Product("example", ProductArgs.builder() - * .owner(aws_security_group.example().id()) - * .type(aws_subnet.main().id()) + * .owner("example-owner") * .provisioningArtifactParameters(ProductProvisioningArtifactParametersArgs.builder() * .templateUrl("https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json") * .build()) * .tags(Map.of("foo", "bar")) + * .type("CLOUD_FORMATION_TEMPLATE") * .build()); * * } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/DomainDkim.java b/sdk/java/src/main/java/com/pulumi/aws/ses/DomainDkim.java index 3dac2de239f..229cdc3636d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/DomainDkim.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/DomainDkim.java @@ -57,10 +57,10 @@ * for (var i = 0; i < 3; i++) { * new Record("exampleAmazonsesDkimRecord-" + i, RecordArgs.builder() * .zoneId("ABCDEFGHIJ123") - * .name(exampleDomainDkim.dkimTokens()[range.value()].applyValue(dkimTokens -> String.format("%s._domainkey", dkimTokens))) + * .name(exampleDomainDkim.dkimTokens().applyValue(dkimTokens -> String.format("%s._domainkey", dkimTokens[range.value()]))) * .type("CNAME") * .ttl("600") - * .records(exampleDomainDkim.dkimTokens()[range.value()].applyValue(dkimTokens -> String.format("%s.dkim.amazonses.com", dkimTokens))) + * .records(exampleDomainDkim.dkimTokens().applyValue(dkimTokens -> String.format("%s.dkim.amazonses.com", dkimTokens[range.value()]))) * .build()); * * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSet.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSet.java new file mode 100644 index 00000000000..f9b0a6a99c8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSet.java @@ -0,0 +1,244 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.sesv2.ConfigurationSetArgs; +import com.pulumi.aws.sesv2.inputs.ConfigurationSetState; +import com.pulumi.aws.sesv2.outputs.ConfigurationSetDeliveryOptions; +import com.pulumi.aws.sesv2.outputs.ConfigurationSetReputationOptions; +import com.pulumi.aws.sesv2.outputs.ConfigurationSetSendingOptions; +import com.pulumi.aws.sesv2.outputs.ConfigurationSetSuppressionOptions; +import com.pulumi.aws.sesv2.outputs.ConfigurationSetTrackingOptions; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.sesv2.ConfigurationSet; + * import com.pulumi.aws.sesv2.ConfigurationSetArgs; + * import com.pulumi.aws.sesv2.inputs.ConfigurationSetDeliveryOptionsArgs; + * import com.pulumi.aws.sesv2.inputs.ConfigurationSetReputationOptionsArgs; + * import com.pulumi.aws.sesv2.inputs.ConfigurationSetSuppressionOptionsArgs; + * import com.pulumi.aws.sesv2.inputs.ConfigurationSetTrackingOptionsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var example = new ConfigurationSet("example", ConfigurationSetArgs.builder() + * .configurationSetName("example") + * .deliveryOptions(ConfigurationSetDeliveryOptionsArgs.builder() + * .tlsPolicy("REQUIRE") + * .build()) + * .reputationOptions(ConfigurationSetReputationOptionsArgs.builder() + * .reputationMetricsEnabled(false) + * .build()) + * .sendigOptions(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) + * .suppressionOptions(ConfigurationSetSuppressionOptionsArgs.builder() + * .suppressedReasons( + * "BOUNCE", + * "COMPLAINT") + * .build()) + * .trackingOptions(ConfigurationSetTrackingOptionsArgs.builder() + * .customRedirectDomain("example.com") + * .build()) + * .build()); + * + * } + * } + * ``` + * + * ## Import + * + * SESv2 (Simple Email V2) Configuration Set can be imported using the `configuration_set_name`, e.g., + * + * ```sh + * $ pulumi import aws:sesv2/configurationSet:ConfigurationSet example example + * ``` + * + */ +@ResourceType(type="aws:sesv2/configurationSet:ConfigurationSet") +public class ConfigurationSet extends com.pulumi.resources.CustomResource { + /** + * ARN of the Configuration Set. + * + */ + @Export(name="arn", type=String.class, parameters={}) + private Output arn; + + /** + * @return ARN of the Configuration Set. + * + */ + public Output arn() { + return this.arn; + } + /** + * The name of the configuration set. + * + */ + @Export(name="configurationSetName", type=String.class, parameters={}) + private Output configurationSetName; + + /** + * @return The name of the configuration set. + * + */ + public Output configurationSetName() { + return this.configurationSetName; + } + /** + * An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + * + */ + @Export(name="deliveryOptions", type=ConfigurationSetDeliveryOptions.class, parameters={}) + private Output deliveryOptions; + + /** + * @return An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + * + */ + public Output> deliveryOptions() { + return Codegen.optional(this.deliveryOptions); + } + /** + * An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + * + */ + @Export(name="reputationOptions", type=ConfigurationSetReputationOptions.class, parameters={}) + private Output reputationOptions; + + /** + * @return An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + * + */ + public Output reputationOptions() { + return this.reputationOptions; + } + /** + * An object that defines whether or not Amazon SES can send email that you send using the configuration set. + * + */ + @Export(name="sendingOptions", type=ConfigurationSetSendingOptions.class, parameters={}) + private Output sendingOptions; + + /** + * @return An object that defines whether or not Amazon SES can send email that you send using the configuration set. + * + */ + public Output sendingOptions() { + return this.sendingOptions; + } + /** + * An object that contains information about the suppression list preferences for your account. + * + */ + @Export(name="suppressionOptions", type=ConfigurationSetSuppressionOptions.class, parameters={}) + private Output suppressionOptions; + + /** + * @return An object that contains information about the suppression list preferences for your account. + * + */ + public Output> suppressionOptions() { + return Codegen.optional(this.suppressionOptions); + } + @Export(name="tags", type=Map.class, parameters={String.class, String.class}) + private Output> tags; + + public Output>> tags() { + return Codegen.optional(this.tags); + } + @Export(name="tagsAll", type=Map.class, parameters={String.class, String.class}) + private Output> tagsAll; + + public Output> tagsAll() { + return this.tagsAll; + } + /** + * An object that defines the open and click tracking options for emails that you send using the configuration set. + * + */ + @Export(name="trackingOptions", type=ConfigurationSetTrackingOptions.class, parameters={}) + private Output trackingOptions; + + /** + * @return An object that defines the open and click tracking options for emails that you send using the configuration set. + * + */ + public Output> trackingOptions() { + return Codegen.optional(this.trackingOptions); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public ConfigurationSet(String name) { + this(name, ConfigurationSetArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public ConfigurationSet(String name, ConfigurationSetArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public ConfigurationSet(String name, ConfigurationSetArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:sesv2/configurationSet:ConfigurationSet", name, args == null ? ConfigurationSetArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private ConfigurationSet(String name, Output id, @Nullable ConfigurationSetState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:sesv2/configurationSet:ConfigurationSet", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static ConfigurationSet get(String name, Output id, @Nullable ConfigurationSetState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new ConfigurationSet(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSetArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSetArgs.java new file mode 100644 index 00000000000..94c9354b6a7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSetArgs.java @@ -0,0 +1,309 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2; + +import com.pulumi.aws.sesv2.inputs.ConfigurationSetDeliveryOptionsArgs; +import com.pulumi.aws.sesv2.inputs.ConfigurationSetReputationOptionsArgs; +import com.pulumi.aws.sesv2.inputs.ConfigurationSetSendingOptionsArgs; +import com.pulumi.aws.sesv2.inputs.ConfigurationSetSuppressionOptionsArgs; +import com.pulumi.aws.sesv2.inputs.ConfigurationSetTrackingOptionsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ConfigurationSetArgs extends com.pulumi.resources.ResourceArgs { + + public static final ConfigurationSetArgs Empty = new ConfigurationSetArgs(); + + /** + * The name of the configuration set. + * + */ + @Import(name="configurationSetName", required=true) + private Output configurationSetName; + + /** + * @return The name of the configuration set. + * + */ + public Output configurationSetName() { + return this.configurationSetName; + } + + /** + * An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + * + */ + @Import(name="deliveryOptions") + private @Nullable Output deliveryOptions; + + /** + * @return An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + * + */ + public Optional> deliveryOptions() { + return Optional.ofNullable(this.deliveryOptions); + } + + /** + * An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + * + */ + @Import(name="reputationOptions") + private @Nullable Output reputationOptions; + + /** + * @return An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + * + */ + public Optional> reputationOptions() { + return Optional.ofNullable(this.reputationOptions); + } + + /** + * An object that defines whether or not Amazon SES can send email that you send using the configuration set. + * + */ + @Import(name="sendingOptions") + private @Nullable Output sendingOptions; + + /** + * @return An object that defines whether or not Amazon SES can send email that you send using the configuration set. + * + */ + public Optional> sendingOptions() { + return Optional.ofNullable(this.sendingOptions); + } + + /** + * An object that contains information about the suppression list preferences for your account. + * + */ + @Import(name="suppressionOptions") + private @Nullable Output suppressionOptions; + + /** + * @return An object that contains information about the suppression list preferences for your account. + * + */ + public Optional> suppressionOptions() { + return Optional.ofNullable(this.suppressionOptions); + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + /** + * An object that defines the open and click tracking options for emails that you send using the configuration set. + * + */ + @Import(name="trackingOptions") + private @Nullable Output trackingOptions; + + /** + * @return An object that defines the open and click tracking options for emails that you send using the configuration set. + * + */ + public Optional> trackingOptions() { + return Optional.ofNullable(this.trackingOptions); + } + + private ConfigurationSetArgs() {} + + private ConfigurationSetArgs(ConfigurationSetArgs $) { + this.configurationSetName = $.configurationSetName; + this.deliveryOptions = $.deliveryOptions; + this.reputationOptions = $.reputationOptions; + this.sendingOptions = $.sendingOptions; + this.suppressionOptions = $.suppressionOptions; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.trackingOptions = $.trackingOptions; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ConfigurationSetArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ConfigurationSetArgs $; + + public Builder() { + $ = new ConfigurationSetArgs(); + } + + public Builder(ConfigurationSetArgs defaults) { + $ = new ConfigurationSetArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param configurationSetName The name of the configuration set. + * + * @return builder + * + */ + public Builder configurationSetName(Output configurationSetName) { + $.configurationSetName = configurationSetName; + return this; + } + + /** + * @param configurationSetName The name of the configuration set. + * + * @return builder + * + */ + public Builder configurationSetName(String configurationSetName) { + return configurationSetName(Output.of(configurationSetName)); + } + + /** + * @param deliveryOptions An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + * + * @return builder + * + */ + public Builder deliveryOptions(@Nullable Output deliveryOptions) { + $.deliveryOptions = deliveryOptions; + return this; + } + + /** + * @param deliveryOptions An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + * + * @return builder + * + */ + public Builder deliveryOptions(ConfigurationSetDeliveryOptionsArgs deliveryOptions) { + return deliveryOptions(Output.of(deliveryOptions)); + } + + /** + * @param reputationOptions An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + * + * @return builder + * + */ + public Builder reputationOptions(@Nullable Output reputationOptions) { + $.reputationOptions = reputationOptions; + return this; + } + + /** + * @param reputationOptions An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + * + * @return builder + * + */ + public Builder reputationOptions(ConfigurationSetReputationOptionsArgs reputationOptions) { + return reputationOptions(Output.of(reputationOptions)); + } + + /** + * @param sendingOptions An object that defines whether or not Amazon SES can send email that you send using the configuration set. + * + * @return builder + * + */ + public Builder sendingOptions(@Nullable Output sendingOptions) { + $.sendingOptions = sendingOptions; + return this; + } + + /** + * @param sendingOptions An object that defines whether or not Amazon SES can send email that you send using the configuration set. + * + * @return builder + * + */ + public Builder sendingOptions(ConfigurationSetSendingOptionsArgs sendingOptions) { + return sendingOptions(Output.of(sendingOptions)); + } + + /** + * @param suppressionOptions An object that contains information about the suppression list preferences for your account. + * + * @return builder + * + */ + public Builder suppressionOptions(@Nullable Output suppressionOptions) { + $.suppressionOptions = suppressionOptions; + return this; + } + + /** + * @param suppressionOptions An object that contains information about the suppression list preferences for your account. + * + * @return builder + * + */ + public Builder suppressionOptions(ConfigurationSetSuppressionOptionsArgs suppressionOptions) { + return suppressionOptions(Output.of(suppressionOptions)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + /** + * @param trackingOptions An object that defines the open and click tracking options for emails that you send using the configuration set. + * + * @return builder + * + */ + public Builder trackingOptions(@Nullable Output trackingOptions) { + $.trackingOptions = trackingOptions; + return this; + } + + /** + * @param trackingOptions An object that defines the open and click tracking options for emails that you send using the configuration set. + * + * @return builder + * + */ + public Builder trackingOptions(ConfigurationSetTrackingOptionsArgs trackingOptions) { + return trackingOptions(Output.of(trackingOptions)); + } + + public ConfigurationSetArgs build() { + $.configurationSetName = Objects.requireNonNull($.configurationSetName, "expected parameter 'configurationSetName' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetDeliveryOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetDeliveryOptionsArgs.java new file mode 100644 index 00000000000..2a6b874e4ac --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetDeliveryOptionsArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ConfigurationSetDeliveryOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final ConfigurationSetDeliveryOptionsArgs Empty = new ConfigurationSetDeliveryOptionsArgs(); + + /** + * The name of the dedicated IP pool to associate with the configuration set. + * + */ + @Import(name="sendingPoolName") + private @Nullable Output sendingPoolName; + + /** + * @return The name of the dedicated IP pool to associate with the configuration set. + * + */ + public Optional> sendingPoolName() { + return Optional.ofNullable(this.sendingPoolName); + } + + /** + * Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. + * + */ + @Import(name="tlsPolicy") + private @Nullable Output tlsPolicy; + + /** + * @return Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. + * + */ + public Optional> tlsPolicy() { + return Optional.ofNullable(this.tlsPolicy); + } + + private ConfigurationSetDeliveryOptionsArgs() {} + + private ConfigurationSetDeliveryOptionsArgs(ConfigurationSetDeliveryOptionsArgs $) { + this.sendingPoolName = $.sendingPoolName; + this.tlsPolicy = $.tlsPolicy; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ConfigurationSetDeliveryOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ConfigurationSetDeliveryOptionsArgs $; + + public Builder() { + $ = new ConfigurationSetDeliveryOptionsArgs(); + } + + public Builder(ConfigurationSetDeliveryOptionsArgs defaults) { + $ = new ConfigurationSetDeliveryOptionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param sendingPoolName The name of the dedicated IP pool to associate with the configuration set. + * + * @return builder + * + */ + public Builder sendingPoolName(@Nullable Output sendingPoolName) { + $.sendingPoolName = sendingPoolName; + return this; + } + + /** + * @param sendingPoolName The name of the dedicated IP pool to associate with the configuration set. + * + * @return builder + * + */ + public Builder sendingPoolName(String sendingPoolName) { + return sendingPoolName(Output.of(sendingPoolName)); + } + + /** + * @param tlsPolicy Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. + * + * @return builder + * + */ + public Builder tlsPolicy(@Nullable Output tlsPolicy) { + $.tlsPolicy = tlsPolicy; + return this; + } + + /** + * @param tlsPolicy Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. + * + * @return builder + * + */ + public Builder tlsPolicy(String tlsPolicy) { + return tlsPolicy(Output.of(tlsPolicy)); + } + + public ConfigurationSetDeliveryOptionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetReputationOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetReputationOptionsArgs.java new file mode 100644 index 00000000000..3e7e2fecfb5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetReputationOptionsArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ConfigurationSetReputationOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final ConfigurationSetReputationOptionsArgs Empty = new ConfigurationSetReputationOptionsArgs(); + + /** + * The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. + * + */ + @Import(name="lastFreshStart") + private @Nullable Output lastFreshStart; + + /** + * @return The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. + * + */ + public Optional> lastFreshStart() { + return Optional.ofNullable(this.lastFreshStart); + } + + /** + * If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. + * + */ + @Import(name="reputationMetricsEnabled") + private @Nullable Output reputationMetricsEnabled; + + /** + * @return If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. + * + */ + public Optional> reputationMetricsEnabled() { + return Optional.ofNullable(this.reputationMetricsEnabled); + } + + private ConfigurationSetReputationOptionsArgs() {} + + private ConfigurationSetReputationOptionsArgs(ConfigurationSetReputationOptionsArgs $) { + this.lastFreshStart = $.lastFreshStart; + this.reputationMetricsEnabled = $.reputationMetricsEnabled; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ConfigurationSetReputationOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ConfigurationSetReputationOptionsArgs $; + + public Builder() { + $ = new ConfigurationSetReputationOptionsArgs(); + } + + public Builder(ConfigurationSetReputationOptionsArgs defaults) { + $ = new ConfigurationSetReputationOptionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param lastFreshStart The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. + * + * @return builder + * + */ + public Builder lastFreshStart(@Nullable Output lastFreshStart) { + $.lastFreshStart = lastFreshStart; + return this; + } + + /** + * @param lastFreshStart The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. + * + * @return builder + * + */ + public Builder lastFreshStart(String lastFreshStart) { + return lastFreshStart(Output.of(lastFreshStart)); + } + + /** + * @param reputationMetricsEnabled If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. + * + * @return builder + * + */ + public Builder reputationMetricsEnabled(@Nullable Output reputationMetricsEnabled) { + $.reputationMetricsEnabled = reputationMetricsEnabled; + return this; + } + + /** + * @param reputationMetricsEnabled If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. + * + * @return builder + * + */ + public Builder reputationMetricsEnabled(Boolean reputationMetricsEnabled) { + return reputationMetricsEnabled(Output.of(reputationMetricsEnabled)); + } + + public ConfigurationSetReputationOptionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetSendingOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetSendingOptionsArgs.java new file mode 100644 index 00000000000..fa4a45b5cf5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetSendingOptionsArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ConfigurationSetSendingOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final ConfigurationSetSendingOptionsArgs Empty = new ConfigurationSetSendingOptionsArgs(); + + /** + * If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. + * + */ + @Import(name="sendingEnabled") + private @Nullable Output sendingEnabled; + + /** + * @return If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. + * + */ + public Optional> sendingEnabled() { + return Optional.ofNullable(this.sendingEnabled); + } + + private ConfigurationSetSendingOptionsArgs() {} + + private ConfigurationSetSendingOptionsArgs(ConfigurationSetSendingOptionsArgs $) { + this.sendingEnabled = $.sendingEnabled; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ConfigurationSetSendingOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ConfigurationSetSendingOptionsArgs $; + + public Builder() { + $ = new ConfigurationSetSendingOptionsArgs(); + } + + public Builder(ConfigurationSetSendingOptionsArgs defaults) { + $ = new ConfigurationSetSendingOptionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param sendingEnabled If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. + * + * @return builder + * + */ + public Builder sendingEnabled(@Nullable Output sendingEnabled) { + $.sendingEnabled = sendingEnabled; + return this; + } + + /** + * @param sendingEnabled If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. + * + * @return builder + * + */ + public Builder sendingEnabled(Boolean sendingEnabled) { + return sendingEnabled(Output.of(sendingEnabled)); + } + + public ConfigurationSetSendingOptionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetState.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetState.java new file mode 100644 index 00000000000..bc096a4bfff --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetState.java @@ -0,0 +1,345 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.inputs; + +import com.pulumi.aws.sesv2.inputs.ConfigurationSetDeliveryOptionsArgs; +import com.pulumi.aws.sesv2.inputs.ConfigurationSetReputationOptionsArgs; +import com.pulumi.aws.sesv2.inputs.ConfigurationSetSendingOptionsArgs; +import com.pulumi.aws.sesv2.inputs.ConfigurationSetSuppressionOptionsArgs; +import com.pulumi.aws.sesv2.inputs.ConfigurationSetTrackingOptionsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ConfigurationSetState extends com.pulumi.resources.ResourceArgs { + + public static final ConfigurationSetState Empty = new ConfigurationSetState(); + + /** + * ARN of the Configuration Set. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return ARN of the Configuration Set. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * The name of the configuration set. + * + */ + @Import(name="configurationSetName") + private @Nullable Output configurationSetName; + + /** + * @return The name of the configuration set. + * + */ + public Optional> configurationSetName() { + return Optional.ofNullable(this.configurationSetName); + } + + /** + * An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + * + */ + @Import(name="deliveryOptions") + private @Nullable Output deliveryOptions; + + /** + * @return An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + * + */ + public Optional> deliveryOptions() { + return Optional.ofNullable(this.deliveryOptions); + } + + /** + * An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + * + */ + @Import(name="reputationOptions") + private @Nullable Output reputationOptions; + + /** + * @return An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + * + */ + public Optional> reputationOptions() { + return Optional.ofNullable(this.reputationOptions); + } + + /** + * An object that defines whether or not Amazon SES can send email that you send using the configuration set. + * + */ + @Import(name="sendingOptions") + private @Nullable Output sendingOptions; + + /** + * @return An object that defines whether or not Amazon SES can send email that you send using the configuration set. + * + */ + public Optional> sendingOptions() { + return Optional.ofNullable(this.sendingOptions); + } + + /** + * An object that contains information about the suppression list preferences for your account. + * + */ + @Import(name="suppressionOptions") + private @Nullable Output suppressionOptions; + + /** + * @return An object that contains information about the suppression list preferences for your account. + * + */ + public Optional> suppressionOptions() { + return Optional.ofNullable(this.suppressionOptions); + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + /** + * An object that defines the open and click tracking options for emails that you send using the configuration set. + * + */ + @Import(name="trackingOptions") + private @Nullable Output trackingOptions; + + /** + * @return An object that defines the open and click tracking options for emails that you send using the configuration set. + * + */ + public Optional> trackingOptions() { + return Optional.ofNullable(this.trackingOptions); + } + + private ConfigurationSetState() {} + + private ConfigurationSetState(ConfigurationSetState $) { + this.arn = $.arn; + this.configurationSetName = $.configurationSetName; + this.deliveryOptions = $.deliveryOptions; + this.reputationOptions = $.reputationOptions; + this.sendingOptions = $.sendingOptions; + this.suppressionOptions = $.suppressionOptions; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.trackingOptions = $.trackingOptions; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ConfigurationSetState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ConfigurationSetState $; + + public Builder() { + $ = new ConfigurationSetState(); + } + + public Builder(ConfigurationSetState defaults) { + $ = new ConfigurationSetState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn ARN of the Configuration Set. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn ARN of the Configuration Set. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param configurationSetName The name of the configuration set. + * + * @return builder + * + */ + public Builder configurationSetName(@Nullable Output configurationSetName) { + $.configurationSetName = configurationSetName; + return this; + } + + /** + * @param configurationSetName The name of the configuration set. + * + * @return builder + * + */ + public Builder configurationSetName(String configurationSetName) { + return configurationSetName(Output.of(configurationSetName)); + } + + /** + * @param deliveryOptions An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + * + * @return builder + * + */ + public Builder deliveryOptions(@Nullable Output deliveryOptions) { + $.deliveryOptions = deliveryOptions; + return this; + } + + /** + * @param deliveryOptions An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + * + * @return builder + * + */ + public Builder deliveryOptions(ConfigurationSetDeliveryOptionsArgs deliveryOptions) { + return deliveryOptions(Output.of(deliveryOptions)); + } + + /** + * @param reputationOptions An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + * + * @return builder + * + */ + public Builder reputationOptions(@Nullable Output reputationOptions) { + $.reputationOptions = reputationOptions; + return this; + } + + /** + * @param reputationOptions An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + * + * @return builder + * + */ + public Builder reputationOptions(ConfigurationSetReputationOptionsArgs reputationOptions) { + return reputationOptions(Output.of(reputationOptions)); + } + + /** + * @param sendingOptions An object that defines whether or not Amazon SES can send email that you send using the configuration set. + * + * @return builder + * + */ + public Builder sendingOptions(@Nullable Output sendingOptions) { + $.sendingOptions = sendingOptions; + return this; + } + + /** + * @param sendingOptions An object that defines whether or not Amazon SES can send email that you send using the configuration set. + * + * @return builder + * + */ + public Builder sendingOptions(ConfigurationSetSendingOptionsArgs sendingOptions) { + return sendingOptions(Output.of(sendingOptions)); + } + + /** + * @param suppressionOptions An object that contains information about the suppression list preferences for your account. + * + * @return builder + * + */ + public Builder suppressionOptions(@Nullable Output suppressionOptions) { + $.suppressionOptions = suppressionOptions; + return this; + } + + /** + * @param suppressionOptions An object that contains information about the suppression list preferences for your account. + * + * @return builder + * + */ + public Builder suppressionOptions(ConfigurationSetSuppressionOptionsArgs suppressionOptions) { + return suppressionOptions(Output.of(suppressionOptions)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + /** + * @param trackingOptions An object that defines the open and click tracking options for emails that you send using the configuration set. + * + * @return builder + * + */ + public Builder trackingOptions(@Nullable Output trackingOptions) { + $.trackingOptions = trackingOptions; + return this; + } + + /** + * @param trackingOptions An object that defines the open and click tracking options for emails that you send using the configuration set. + * + * @return builder + * + */ + public Builder trackingOptions(ConfigurationSetTrackingOptionsArgs trackingOptions) { + return trackingOptions(Output.of(trackingOptions)); + } + + public ConfigurationSetState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetSuppressionOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetSuppressionOptionsArgs.java new file mode 100644 index 00000000000..f4927c309b1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetSuppressionOptionsArgs.java @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ConfigurationSetSuppressionOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final ConfigurationSetSuppressionOptionsArgs Empty = new ConfigurationSetSuppressionOptionsArgs(); + + /** + * A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + * + */ + @Import(name="suppressedReasons") + private @Nullable Output> suppressedReasons; + + /** + * @return A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + * + */ + public Optional>> suppressedReasons() { + return Optional.ofNullable(this.suppressedReasons); + } + + private ConfigurationSetSuppressionOptionsArgs() {} + + private ConfigurationSetSuppressionOptionsArgs(ConfigurationSetSuppressionOptionsArgs $) { + this.suppressedReasons = $.suppressedReasons; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ConfigurationSetSuppressionOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ConfigurationSetSuppressionOptionsArgs $; + + public Builder() { + $ = new ConfigurationSetSuppressionOptionsArgs(); + } + + public Builder(ConfigurationSetSuppressionOptionsArgs defaults) { + $ = new ConfigurationSetSuppressionOptionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param suppressedReasons A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + * + * @return builder + * + */ + public Builder suppressedReasons(@Nullable Output> suppressedReasons) { + $.suppressedReasons = suppressedReasons; + return this; + } + + /** + * @param suppressedReasons A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + * + * @return builder + * + */ + public Builder suppressedReasons(List suppressedReasons) { + return suppressedReasons(Output.of(suppressedReasons)); + } + + /** + * @param suppressedReasons A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + * + * @return builder + * + */ + public Builder suppressedReasons(String... suppressedReasons) { + return suppressedReasons(List.of(suppressedReasons)); + } + + public ConfigurationSetSuppressionOptionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetTrackingOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetTrackingOptionsArgs.java new file mode 100644 index 00000000000..b49a9451509 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetTrackingOptionsArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class ConfigurationSetTrackingOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final ConfigurationSetTrackingOptionsArgs Empty = new ConfigurationSetTrackingOptionsArgs(); + + /** + * The domain to use for tracking open and click events. + * + */ + @Import(name="customRedirectDomain", required=true) + private Output customRedirectDomain; + + /** + * @return The domain to use for tracking open and click events. + * + */ + public Output customRedirectDomain() { + return this.customRedirectDomain; + } + + private ConfigurationSetTrackingOptionsArgs() {} + + private ConfigurationSetTrackingOptionsArgs(ConfigurationSetTrackingOptionsArgs $) { + this.customRedirectDomain = $.customRedirectDomain; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ConfigurationSetTrackingOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ConfigurationSetTrackingOptionsArgs $; + + public Builder() { + $ = new ConfigurationSetTrackingOptionsArgs(); + } + + public Builder(ConfigurationSetTrackingOptionsArgs defaults) { + $ = new ConfigurationSetTrackingOptionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param customRedirectDomain The domain to use for tracking open and click events. + * + * @return builder + * + */ + public Builder customRedirectDomain(Output customRedirectDomain) { + $.customRedirectDomain = customRedirectDomain; + return this; + } + + /** + * @param customRedirectDomain The domain to use for tracking open and click events. + * + * @return builder + * + */ + public Builder customRedirectDomain(String customRedirectDomain) { + return customRedirectDomain(Output.of(customRedirectDomain)); + } + + public ConfigurationSetTrackingOptionsArgs build() { + $.customRedirectDomain = Objects.requireNonNull($.customRedirectDomain, "expected parameter 'customRedirectDomain' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetDeliveryOptions.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetDeliveryOptions.java new file mode 100644 index 00000000000..561aa856e47 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetDeliveryOptions.java @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ConfigurationSetDeliveryOptions { + /** + * @return The name of the dedicated IP pool to associate with the configuration set. + * + */ + private @Nullable String sendingPoolName; + /** + * @return Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. + * + */ + private @Nullable String tlsPolicy; + + private ConfigurationSetDeliveryOptions() {} + /** + * @return The name of the dedicated IP pool to associate with the configuration set. + * + */ + public Optional sendingPoolName() { + return Optional.ofNullable(this.sendingPoolName); + } + /** + * @return Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. + * + */ + public Optional tlsPolicy() { + return Optional.ofNullable(this.tlsPolicy); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ConfigurationSetDeliveryOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String sendingPoolName; + private @Nullable String tlsPolicy; + public Builder() {} + public Builder(ConfigurationSetDeliveryOptions defaults) { + Objects.requireNonNull(defaults); + this.sendingPoolName = defaults.sendingPoolName; + this.tlsPolicy = defaults.tlsPolicy; + } + + @CustomType.Setter + public Builder sendingPoolName(@Nullable String sendingPoolName) { + this.sendingPoolName = sendingPoolName; + return this; + } + @CustomType.Setter + public Builder tlsPolicy(@Nullable String tlsPolicy) { + this.tlsPolicy = tlsPolicy; + return this; + } + public ConfigurationSetDeliveryOptions build() { + final var o = new ConfigurationSetDeliveryOptions(); + o.sendingPoolName = sendingPoolName; + o.tlsPolicy = tlsPolicy; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetReputationOptions.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetReputationOptions.java new file mode 100644 index 00000000000..890f38c87c7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetReputationOptions.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ConfigurationSetReputationOptions { + /** + * @return The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. + * + */ + private @Nullable String lastFreshStart; + /** + * @return If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. + * + */ + private @Nullable Boolean reputationMetricsEnabled; + + private ConfigurationSetReputationOptions() {} + /** + * @return The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. + * + */ + public Optional lastFreshStart() { + return Optional.ofNullable(this.lastFreshStart); + } + /** + * @return If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. + * + */ + public Optional reputationMetricsEnabled() { + return Optional.ofNullable(this.reputationMetricsEnabled); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ConfigurationSetReputationOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String lastFreshStart; + private @Nullable Boolean reputationMetricsEnabled; + public Builder() {} + public Builder(ConfigurationSetReputationOptions defaults) { + Objects.requireNonNull(defaults); + this.lastFreshStart = defaults.lastFreshStart; + this.reputationMetricsEnabled = defaults.reputationMetricsEnabled; + } + + @CustomType.Setter + public Builder lastFreshStart(@Nullable String lastFreshStart) { + this.lastFreshStart = lastFreshStart; + return this; + } + @CustomType.Setter + public Builder reputationMetricsEnabled(@Nullable Boolean reputationMetricsEnabled) { + this.reputationMetricsEnabled = reputationMetricsEnabled; + return this; + } + public ConfigurationSetReputationOptions build() { + final var o = new ConfigurationSetReputationOptions(); + o.lastFreshStart = lastFreshStart; + o.reputationMetricsEnabled = reputationMetricsEnabled; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetSendingOptions.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetSendingOptions.java new file mode 100644 index 00000000000..8d3ce378d56 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetSendingOptions.java @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ConfigurationSetSendingOptions { + /** + * @return If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. + * + */ + private @Nullable Boolean sendingEnabled; + + private ConfigurationSetSendingOptions() {} + /** + * @return If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. + * + */ + public Optional sendingEnabled() { + return Optional.ofNullable(this.sendingEnabled); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ConfigurationSetSendingOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean sendingEnabled; + public Builder() {} + public Builder(ConfigurationSetSendingOptions defaults) { + Objects.requireNonNull(defaults); + this.sendingEnabled = defaults.sendingEnabled; + } + + @CustomType.Setter + public Builder sendingEnabled(@Nullable Boolean sendingEnabled) { + this.sendingEnabled = sendingEnabled; + return this; + } + public ConfigurationSetSendingOptions build() { + final var o = new ConfigurationSetSendingOptions(); + o.sendingEnabled = sendingEnabled; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetSuppressionOptions.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetSuppressionOptions.java new file mode 100644 index 00000000000..c96a083c8d1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetSuppressionOptions.java @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class ConfigurationSetSuppressionOptions { + /** + * @return A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + * + */ + private @Nullable List suppressedReasons; + + private ConfigurationSetSuppressionOptions() {} + /** + * @return A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + * + */ + public List suppressedReasons() { + return this.suppressedReasons == null ? List.of() : this.suppressedReasons; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ConfigurationSetSuppressionOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List suppressedReasons; + public Builder() {} + public Builder(ConfigurationSetSuppressionOptions defaults) { + Objects.requireNonNull(defaults); + this.suppressedReasons = defaults.suppressedReasons; + } + + @CustomType.Setter + public Builder suppressedReasons(@Nullable List suppressedReasons) { + this.suppressedReasons = suppressedReasons; + return this; + } + public Builder suppressedReasons(String... suppressedReasons) { + return suppressedReasons(List.of(suppressedReasons)); + } + public ConfigurationSetSuppressionOptions build() { + final var o = new ConfigurationSetSuppressionOptions(); + o.suppressedReasons = suppressedReasons; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetTrackingOptions.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetTrackingOptions.java new file mode 100644 index 00000000000..6b7b0c8c2d2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetTrackingOptions.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class ConfigurationSetTrackingOptions { + /** + * @return The domain to use for tracking open and click events. + * + */ + private String customRedirectDomain; + + private ConfigurationSetTrackingOptions() {} + /** + * @return The domain to use for tracking open and click events. + * + */ + public String customRedirectDomain() { + return this.customRedirectDomain; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ConfigurationSetTrackingOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String customRedirectDomain; + public Builder() {} + public Builder(ConfigurationSetTrackingOptions defaults) { + Objects.requireNonNull(defaults); + this.customRedirectDomain = defaults.customRedirectDomain; + } + + @CustomType.Setter + public Builder customRedirectDomain(String customRedirectDomain) { + this.customRedirectDomain = Objects.requireNonNull(customRedirectDomain); + return this; + } + public ConfigurationSetTrackingOptions build() { + final var o = new ConfigurationSetTrackingOptions(); + o.customRedirectDomain = customRedirectDomain; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/Server.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/Server.java index c708edc858c..e3f110316d0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/Server.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/Server.java @@ -24,6 +24,8 @@ * * > **NOTE on AWS IAM permissions:** If the `endpoint_type` is set to `VPC`, the `ec2:DescribeVpcEndpoints` and `ec2:ModifyVpcEndpoint` [actions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) are used. * + * > **NOTE:** Use the `aws.transfer.Tag` resource to manage the system tags used for [custom hostnames](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-dns.html#tag-custom-hostname-cdk). + * * ## Example Usage * ### Basic * ```java diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/Tag.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/Tag.java new file mode 100644 index 00000000000..3906b0a3a20 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/Tag.java @@ -0,0 +1,163 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.transfer.TagArgs; +import com.pulumi.aws.transfer.inputs.TagState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import javax.annotation.Nullable; + +/** + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.transfer.Server; + * import com.pulumi.aws.transfer.ServerArgs; + * import com.pulumi.aws.transfer.Tag; + * import com.pulumi.aws.transfer.TagArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var example = new Server("example", ServerArgs.builder() + * .identityProviderType("SERVICE_MANAGED") + * .build()); + * + * var zoneId = new Tag("zoneId", TagArgs.builder() + * .resourceArn(example.arn()) + * .key("aws:transfer:route53HostedZoneId") + * .value("/hostedzone/MyHostedZoneId") + * .build()); + * + * var hostname = new Tag("hostname", TagArgs.builder() + * .resourceArn(example.arn()) + * .key("aws:transfer:customHostname") + * .value("example.com") + * .build()); + * + * } + * } + * ``` + * + * ## Import + * + * `aws_transfer_tag` can be imported by using the Transfer Family resource identifier and key, separated by a comma (`,`), e.g., + * + * ```sh + * $ pulumi import aws:transfer/tag:Tag example arn:aws:transfer:us-east-1:123456789012:server/s-1234567890abcdef0,Name + * ``` + * + */ +@ResourceType(type="aws:transfer/tag:Tag") +public class Tag extends com.pulumi.resources.CustomResource { + /** + * Tag name. + * + */ + @Export(name="key", type=String.class, parameters={}) + private Output key; + + /** + * @return Tag name. + * + */ + public Output key() { + return this.key; + } + /** + * Amazon Resource Name (ARN) of the Transfer Family resource to tag. + * + */ + @Export(name="resourceArn", type=String.class, parameters={}) + private Output resourceArn; + + /** + * @return Amazon Resource Name (ARN) of the Transfer Family resource to tag. + * + */ + public Output resourceArn() { + return this.resourceArn; + } + /** + * Tag value. + * + */ + @Export(name="value", type=String.class, parameters={}) + private Output value; + + /** + * @return Tag value. + * + */ + public Output value() { + return this.value; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Tag(String name) { + this(name, TagArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Tag(String name, TagArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public Tag(String name, TagArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:transfer/tag:Tag", name, args == null ? TagArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private Tag(String name, Output id, @Nullable TagState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:transfer/tag:Tag", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Tag get(String name, Output id, @Nullable TagState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Tag(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/TagArgs.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/TagArgs.java new file mode 100644 index 00000000000..a03a428de23 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/TagArgs.java @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class TagArgs extends com.pulumi.resources.ResourceArgs { + + public static final TagArgs Empty = new TagArgs(); + + /** + * Tag name. + * + */ + @Import(name="key", required=true) + private Output key; + + /** + * @return Tag name. + * + */ + public Output key() { + return this.key; + } + + /** + * Amazon Resource Name (ARN) of the Transfer Family resource to tag. + * + */ + @Import(name="resourceArn", required=true) + private Output resourceArn; + + /** + * @return Amazon Resource Name (ARN) of the Transfer Family resource to tag. + * + */ + public Output resourceArn() { + return this.resourceArn; + } + + /** + * Tag value. + * + */ + @Import(name="value", required=true) + private Output value; + + /** + * @return Tag value. + * + */ + public Output value() { + return this.value; + } + + private TagArgs() {} + + private TagArgs(TagArgs $) { + this.key = $.key; + this.resourceArn = $.resourceArn; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TagArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TagArgs $; + + public Builder() { + $ = new TagArgs(); + } + + public Builder(TagArgs defaults) { + $ = new TagArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Tag name. + * + * @return builder + * + */ + public Builder key(Output key) { + $.key = key; + return this; + } + + /** + * @param key Tag name. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param resourceArn Amazon Resource Name (ARN) of the Transfer Family resource to tag. + * + * @return builder + * + */ + public Builder resourceArn(Output resourceArn) { + $.resourceArn = resourceArn; + return this; + } + + /** + * @param resourceArn Amazon Resource Name (ARN) of the Transfer Family resource to tag. + * + * @return builder + * + */ + public Builder resourceArn(String resourceArn) { + return resourceArn(Output.of(resourceArn)); + } + + /** + * @param value Tag value. + * + * @return builder + * + */ + public Builder value(Output value) { + $.value = value; + return this; + } + + /** + * @param value Tag value. + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public TagArgs build() { + $.key = Objects.requireNonNull($.key, "expected parameter 'key' to be non-null"); + $.resourceArn = Objects.requireNonNull($.resourceArn, "expected parameter 'resourceArn' to be non-null"); + $.value = Objects.requireNonNull($.value, "expected parameter 'value' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/TagState.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/TagState.java new file mode 100644 index 00000000000..bf175c25624 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/TagState.java @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.transfer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class TagState extends com.pulumi.resources.ResourceArgs { + + public static final TagState Empty = new TagState(); + + /** + * Tag name. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Tag name. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Amazon Resource Name (ARN) of the Transfer Family resource to tag. + * + */ + @Import(name="resourceArn") + private @Nullable Output resourceArn; + + /** + * @return Amazon Resource Name (ARN) of the Transfer Family resource to tag. + * + */ + public Optional> resourceArn() { + return Optional.ofNullable(this.resourceArn); + } + + /** + * Tag value. + * + */ + @Import(name="value") + private @Nullable Output value; + + /** + * @return Tag value. + * + */ + public Optional> value() { + return Optional.ofNullable(this.value); + } + + private TagState() {} + + private TagState(TagState $) { + this.key = $.key; + this.resourceArn = $.resourceArn; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TagState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TagState $; + + public Builder() { + $ = new TagState(); + } + + public Builder(TagState defaults) { + $ = new TagState(Objects.requireNonNull(defaults)); + } + + /** + * @param key Tag name. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Tag name. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param resourceArn Amazon Resource Name (ARN) of the Transfer Family resource to tag. + * + * @return builder + * + */ + public Builder resourceArn(@Nullable Output resourceArn) { + $.resourceArn = resourceArn; + return this; + } + + /** + * @param resourceArn Amazon Resource Name (ARN) of the Transfer Family resource to tag. + * + * @return builder + * + */ + public Builder resourceArn(String resourceArn) { + return resourceArn(Output.of(resourceArn)); + } + + /** + * @param value Tag value. + * + * @return builder + * + */ + public Builder value(@Nullable Output value) { + $.value = value; + return this; + } + + /** + * @param value Tag value. + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public TagState build() { + return $; + } + } + +} diff --git a/sdk/nodejs/amp/workspace.ts b/sdk/nodejs/amp/workspace.ts index 8788d5c1b7b..45fb864b52c 100644 --- a/sdk/nodejs/amp/workspace.ts +++ b/sdk/nodejs/amp/workspace.ts @@ -2,24 +2,37 @@ // *** 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"; /** * Manages an Amazon Managed Service for Prometheus (AMP) Workspace. * - * > **NOTE:** This AWS functionality is in Preview and may change before General Availability release. Backwards compatibility is not guaranteed between provider releases. - * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * - * const demo = new aws.amp.Workspace("demo", { - * alias: "prometheus-test", + * const example = new aws.amp.Workspace("example", { + * alias: "example", * tags: { * Environment: "production", - * Owner: "abhi", + * }, + * }); + * ``` + * ### CloudWatch Logging + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const exampleLogGroup = new aws.cloudwatch.LogGroup("example", {}); + * const exampleWorkspace = new aws.amp.Workspace("example", { + * loggingConfiguration: { + * logGroupArn: pulumi.interpolate`${exampleLogGroup.arn}:*`, * }, * }); * ``` @@ -68,6 +81,10 @@ export class Workspace extends pulumi.CustomResource { * Amazon Resource Name (ARN) of the workspace. */ public /*out*/ readonly arn!: pulumi.Output; + /** + * Logging configuration for the workspace. See Logging Configuration below for details. + */ + public readonly loggingConfiguration!: pulumi.Output; /** * Prometheus endpoint available for this workspace. */ @@ -96,12 +113,14 @@ export class Workspace extends pulumi.CustomResource { const state = argsOrState as WorkspaceState | undefined; resourceInputs["alias"] = state ? state.alias : undefined; resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["loggingConfiguration"] = state ? state.loggingConfiguration : undefined; resourceInputs["prometheusEndpoint"] = state ? state.prometheusEndpoint : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; } else { const args = argsOrState as WorkspaceArgs | undefined; resourceInputs["alias"] = args ? args.alias : undefined; + resourceInputs["loggingConfiguration"] = args ? args.loggingConfiguration : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["prometheusEndpoint"] = undefined /*out*/; @@ -124,6 +143,10 @@ export interface WorkspaceState { * Amazon Resource Name (ARN) of the workspace. */ arn?: pulumi.Input; + /** + * Logging configuration for the workspace. See Logging Configuration below for details. + */ + loggingConfiguration?: pulumi.Input; /** * Prometheus endpoint available for this workspace. */ @@ -146,6 +169,10 @@ export interface WorkspaceArgs { * The alias of the prometheus workspace. See more [in AWS Docs](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-onboard-create-workspace.html). */ alias?: pulumi.Input; + /** + * Logging configuration for the workspace. See Logging Configuration below for details. + */ + loggingConfiguration?: pulumi.Input; /** * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ diff --git a/sdk/nodejs/cloudfront/distribution.ts b/sdk/nodejs/cloudfront/distribution.ts index 7541e70324c..f1d45956dc0 100644 --- a/sdk/nodejs/cloudfront/distribution.ts +++ b/sdk/nodejs/cloudfront/distribution.ts @@ -39,7 +39,7 @@ import * as utilities from "../utilities"; * const s3Distribution = new aws.cloudfront.Distribution("s3Distribution", { * origins: [{ * domainName: bucketV2.bucketRegionalDomainName, - * originId: s3OriginId, + * originId: locals.s3_origin_id, * s3OriginConfig: { * originAccessIdentity: "origin-access-identity/cloudfront/ABCDEFG1234567", * }, diff --git a/sdk/nodejs/codepipeline/customActionType.ts b/sdk/nodejs/codepipeline/customActionType.ts new file mode 100644 index 00000000000..3ce368e42b6 --- /dev/null +++ b/sdk/nodejs/codepipeline/customActionType.ts @@ -0,0 +1,245 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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"; + +/** + * Provides a CodeDeploy CustomActionType + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.codepipeline.CustomActionType("example", { + * category: "Build", + * inputArtifactDetails: { + * maximumCount: 1, + * minimumCount: 0, + * }, + * outputArtifactDetails: { + * maximumCount: 1, + * minimumCount: 0, + * }, + * providerName: "example", + * version: "1", + * }); + * ``` + * + * ## Import + * + * CodeDeploy CustomActionType can be imported using the `id`, e.g. + * + * ```sh + * $ pulumi import aws:codepipeline/customActionType:CustomActionType example Build:terraform:1 + * ``` + */ +export class CustomActionType extends pulumi.CustomResource { + /** + * Get an existing CustomActionType 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 state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: CustomActionTypeState, opts?: pulumi.CustomResourceOptions): CustomActionType { + return new CustomActionType(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:codepipeline/customActionType:CustomActionType'; + + /** + * Returns true if the given object is an instance of CustomActionType. 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 CustomActionType { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CustomActionType.__pulumiType; + } + + /** + * The action ARN. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + */ + public readonly category!: pulumi.Output; + /** + * The configuration properties for the custom action. Max 10 items. + */ + public readonly configurationProperties!: pulumi.Output; + /** + * The details of the input artifact for the action. + */ + public readonly inputArtifactDetails!: pulumi.Output; + /** + * The details of the output artifact of the action. + */ + public readonly outputArtifactDetails!: pulumi.Output; + /** + * The creator of the action being called. + */ + public /*out*/ readonly owner!: pulumi.Output; + /** + * The provider of the service used in the custom action + */ + public readonly providerName!: pulumi.Output; + /** + * The settings for an action type. + */ + public readonly settings!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + /** + * The version identifier of the custom action. + */ + public readonly version!: pulumi.Output; + + /** + * Create a CustomActionType 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: CustomActionTypeArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CustomActionTypeArgs | CustomActionTypeState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CustomActionTypeState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["category"] = state ? state.category : undefined; + resourceInputs["configurationProperties"] = state ? state.configurationProperties : undefined; + resourceInputs["inputArtifactDetails"] = state ? state.inputArtifactDetails : undefined; + resourceInputs["outputArtifactDetails"] = state ? state.outputArtifactDetails : undefined; + resourceInputs["owner"] = state ? state.owner : undefined; + resourceInputs["providerName"] = state ? state.providerName : undefined; + resourceInputs["settings"] = state ? state.settings : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["version"] = state ? state.version : undefined; + } else { + const args = argsOrState as CustomActionTypeArgs | undefined; + if ((!args || args.category === undefined) && !opts.urn) { + throw new Error("Missing required property 'category'"); + } + if ((!args || args.inputArtifactDetails === undefined) && !opts.urn) { + throw new Error("Missing required property 'inputArtifactDetails'"); + } + if ((!args || args.outputArtifactDetails === undefined) && !opts.urn) { + throw new Error("Missing required property 'outputArtifactDetails'"); + } + if ((!args || args.providerName === undefined) && !opts.urn) { + throw new Error("Missing required property 'providerName'"); + } + if ((!args || args.version === undefined) && !opts.urn) { + throw new Error("Missing required property 'version'"); + } + resourceInputs["category"] = args ? args.category : undefined; + resourceInputs["configurationProperties"] = args ? args.configurationProperties : undefined; + resourceInputs["inputArtifactDetails"] = args ? args.inputArtifactDetails : undefined; + resourceInputs["outputArtifactDetails"] = args ? args.outputArtifactDetails : undefined; + resourceInputs["providerName"] = args ? args.providerName : undefined; + resourceInputs["settings"] = args ? args.settings : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; + resourceInputs["version"] = args ? args.version : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["owner"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CustomActionType.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CustomActionType resources. + */ +export interface CustomActionTypeState { + /** + * The action ARN. + */ + arn?: pulumi.Input; + /** + * The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + */ + category?: pulumi.Input; + /** + * The configuration properties for the custom action. Max 10 items. + */ + configurationProperties?: pulumi.Input[]>; + /** + * The details of the input artifact for the action. + */ + inputArtifactDetails?: pulumi.Input; + /** + * The details of the output artifact of the action. + */ + outputArtifactDetails?: pulumi.Input; + /** + * The creator of the action being called. + */ + owner?: pulumi.Input; + /** + * The provider of the service used in the custom action + */ + providerName?: pulumi.Input; + /** + * The settings for an action type. + */ + settings?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The version identifier of the custom action. + */ + version?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CustomActionType resource. + */ +export interface CustomActionTypeArgs { + /** + * The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + */ + category: pulumi.Input; + /** + * The configuration properties for the custom action. Max 10 items. + */ + configurationProperties?: pulumi.Input[]>; + /** + * The details of the input artifact for the action. + */ + inputArtifactDetails: pulumi.Input; + /** + * The details of the output artifact of the action. + */ + outputArtifactDetails: pulumi.Input; + /** + * The provider of the service used in the custom action + */ + providerName: pulumi.Input; + /** + * The settings for an action type. + */ + settings?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The version identifier of the custom action. + */ + version: pulumi.Input; +} diff --git a/sdk/nodejs/codepipeline/index.ts b/sdk/nodejs/codepipeline/index.ts index ad7afe0c602..00f876fa944 100644 --- a/sdk/nodejs/codepipeline/index.ts +++ b/sdk/nodejs/codepipeline/index.ts @@ -5,6 +5,10 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { CustomActionTypeArgs, CustomActionTypeState } from "./customActionType"; +export type CustomActionType = import("./customActionType").CustomActionType; +export const CustomActionType: typeof import("./customActionType").CustomActionType = null as any; + export { PipelineArgs, PipelineState } from "./pipeline"; export type Pipeline = import("./pipeline").Pipeline; export const Pipeline: typeof import("./pipeline").Pipeline = null as any; @@ -13,6 +17,7 @@ export { WebhookArgs, WebhookState } from "./webhook"; export type Webhook = import("./webhook").Webhook; export const Webhook: typeof import("./webhook").Webhook = null as any; +utilities.lazyLoad(exports, ["CustomActionType"], () => require("./customActionType")); utilities.lazyLoad(exports, ["Pipeline"], () => require("./pipeline")); utilities.lazyLoad(exports, ["Webhook"], () => require("./webhook")); @@ -20,6 +25,8 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "aws:codepipeline/customActionType:CustomActionType": + return new CustomActionType(name, undefined, { urn }) case "aws:codepipeline/pipeline:Pipeline": return new Pipeline(name, undefined, { urn }) case "aws:codepipeline/webhook:Webhook": @@ -29,5 +36,6 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("aws", "codepipeline/customActionType", _module) pulumi.runtime.registerResourceModule("aws", "codepipeline/pipeline", _module) pulumi.runtime.registerResourceModule("aws", "codepipeline/webhook", _module) diff --git a/sdk/nodejs/cognito/userPool.ts b/sdk/nodejs/cognito/userPool.ts index 268bad20794..dda41083633 100644 --- a/sdk/nodejs/cognito/userPool.ts +++ b/sdk/nodejs/cognito/userPool.ts @@ -200,6 +200,10 @@ export class UserPool extends pulumi.CustomResource { * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + /** + * Configuration block for user attribute update settings. Detailed below. + */ + public readonly userAttributeUpdateSettings!: pulumi.Output; /** * Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. */ @@ -256,6 +260,7 @@ export class UserPool extends pulumi.CustomResource { resourceInputs["softwareTokenMfaConfiguration"] = state ? state.softwareTokenMfaConfiguration : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["userAttributeUpdateSettings"] = state ? state.userAttributeUpdateSettings : undefined; resourceInputs["userPoolAddOns"] = state ? state.userPoolAddOns : undefined; resourceInputs["usernameAttributes"] = state ? state.usernameAttributes : undefined; resourceInputs["usernameConfiguration"] = state ? state.usernameConfiguration : undefined; @@ -280,6 +285,7 @@ export class UserPool extends pulumi.CustomResource { resourceInputs["smsVerificationMessage"] = args ? args.smsVerificationMessage : undefined; resourceInputs["softwareTokenMfaConfiguration"] = args ? args.softwareTokenMfaConfiguration : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["userAttributeUpdateSettings"] = args ? args.userAttributeUpdateSettings : undefined; resourceInputs["userPoolAddOns"] = args ? args.userPoolAddOns : undefined; resourceInputs["usernameAttributes"] = args ? args.usernameAttributes : undefined; resourceInputs["usernameConfiguration"] = args ? args.usernameConfiguration : undefined; @@ -406,6 +412,10 @@ export interface UserPoolState { * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Configuration block for user attribute update settings. Detailed below. + */ + userAttributeUpdateSettings?: pulumi.Input; /** * Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. */ @@ -500,6 +510,10 @@ export interface UserPoolArgs { * Map of tags to assign to the User Pool. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Configuration block for user attribute update settings. Detailed below. + */ + userAttributeUpdateSettings?: pulumi.Input; /** * Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. */ diff --git a/sdk/nodejs/comprehend/documentClassifier.ts b/sdk/nodejs/comprehend/documentClassifier.ts new file mode 100644 index 00000000000..b0684892304 --- /dev/null +++ b/sdk/nodejs/comprehend/documentClassifier.ts @@ -0,0 +1,332 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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"; + +/** + * ## Example Usage + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const documents = new aws.s3.BucketObjectv2("documents", {}); + * // ... + * const example = new aws.comprehend.DocumentClassifier("example", { + * dataAccessRoleArn: aws_iam_role.example.arn, + * languageCode: "en", + * inputDataConfig: { + * s3Uri: pulumi.interpolate`s3://${aws_s3_bucket.test.bucket}/${documents.id}`, + * }, + * }, { + * dependsOn: [aws_iam_role_policy.example], + * }); + * const entities = new aws.s3.BucketObjectv2("entities", {}); + * // ... + * ``` + * + * ## Import + * + * Comprehend Document Classifier can be imported using the ARN, e.g., + * + * ```sh + * $ pulumi import aws:comprehend/documentClassifier:DocumentClassifier example arn:aws:comprehend:us-west-2:123456789012:document_classifier/example + * ``` + */ +export class DocumentClassifier extends pulumi.CustomResource { + /** + * Get an existing DocumentClassifier 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 state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: DocumentClassifierState, opts?: pulumi.CustomResourceOptions): DocumentClassifier { + return new DocumentClassifier(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:comprehend/documentClassifier:DocumentClassifier'; + + /** + * Returns true if the given object is an instance of DocumentClassifier. 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 DocumentClassifier { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DocumentClassifier.__pulumiType; + } + + /** + * ARN of the Document Classifier version. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The ARN for an IAM Role which allows Comprehend to read the training and testing data. + */ + public readonly dataAccessRoleArn!: pulumi.Output; + /** + * Configuration for the training and testing data. + * See the `inputDataConfig` Configuration Block section below. + */ + public readonly inputDataConfig!: pulumi.Output; + /** + * Two-letter language code for the language. + * One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + */ + public readonly languageCode!: pulumi.Output; + /** + * The document classification mode. + * One of `MULTI_CLASS` or `MULTI_LABEL`. + * `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + */ + public readonly mode!: pulumi.Output; + /** + * KMS Key used to encrypt trained Document Classifiers. + * Can be a KMS Key ID or a KMS Key ARN. + */ + public readonly modelKmsKeyId!: pulumi.Output; + /** + * Name for the Document Classifier. + * Has a maximum length of 63 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + */ + public readonly name!: pulumi.Output; + /** + * Configuration for the output results of training. + * See the `outputDataConfig` Configuration Block section below. + */ + public readonly outputDataConfig!: pulumi.Output; + /** + * A map of tags to assign to the resource. If configured with a provider [`defaultTags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + */ + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly versionName!: pulumi.Output; + /** + * Creates a unique version name beginning with the specified prefix. + * Has a maximum length of 37 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * Conflicts with `versionName`. + */ + public readonly versionNamePrefix!: pulumi.Output; + /** + * KMS Key used to encrypt storage volumes during job processing. + * Can be a KMS Key ID or a KMS Key ARN. + */ + public readonly volumeKmsKeyId!: pulumi.Output; + /** + * Configuration parameters for VPC to contain Document Classifier resources. + * See the `vpcConfig` Configuration Block section below. + */ + public readonly vpcConfig!: pulumi.Output; + + /** + * Create a DocumentClassifier 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: DocumentClassifierArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DocumentClassifierArgs | DocumentClassifierState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DocumentClassifierState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["dataAccessRoleArn"] = state ? state.dataAccessRoleArn : undefined; + resourceInputs["inputDataConfig"] = state ? state.inputDataConfig : undefined; + resourceInputs["languageCode"] = state ? state.languageCode : undefined; + resourceInputs["mode"] = state ? state.mode : undefined; + resourceInputs["modelKmsKeyId"] = state ? state.modelKmsKeyId : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["outputDataConfig"] = state ? state.outputDataConfig : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["versionName"] = state ? state.versionName : undefined; + resourceInputs["versionNamePrefix"] = state ? state.versionNamePrefix : undefined; + resourceInputs["volumeKmsKeyId"] = state ? state.volumeKmsKeyId : undefined; + resourceInputs["vpcConfig"] = state ? state.vpcConfig : undefined; + } else { + const args = argsOrState as DocumentClassifierArgs | undefined; + if ((!args || args.dataAccessRoleArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'dataAccessRoleArn'"); + } + if ((!args || args.inputDataConfig === undefined) && !opts.urn) { + throw new Error("Missing required property 'inputDataConfig'"); + } + if ((!args || args.languageCode === undefined) && !opts.urn) { + throw new Error("Missing required property 'languageCode'"); + } + resourceInputs["dataAccessRoleArn"] = args ? args.dataAccessRoleArn : undefined; + resourceInputs["inputDataConfig"] = args ? args.inputDataConfig : undefined; + resourceInputs["languageCode"] = args ? args.languageCode : undefined; + resourceInputs["mode"] = args ? args.mode : undefined; + resourceInputs["modelKmsKeyId"] = args ? args.modelKmsKeyId : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["outputDataConfig"] = args ? args.outputDataConfig : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; + resourceInputs["versionName"] = args ? args.versionName : undefined; + resourceInputs["versionNamePrefix"] = args ? args.versionNamePrefix : undefined; + resourceInputs["volumeKmsKeyId"] = args ? args.volumeKmsKeyId : undefined; + resourceInputs["vpcConfig"] = args ? args.vpcConfig : undefined; + resourceInputs["arn"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DocumentClassifier.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DocumentClassifier resources. + */ +export interface DocumentClassifierState { + /** + * ARN of the Document Classifier version. + */ + arn?: pulumi.Input; + /** + * The ARN for an IAM Role which allows Comprehend to read the training and testing data. + */ + dataAccessRoleArn?: pulumi.Input; + /** + * Configuration for the training and testing data. + * See the `inputDataConfig` Configuration Block section below. + */ + inputDataConfig?: pulumi.Input; + /** + * Two-letter language code for the language. + * One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + */ + languageCode?: pulumi.Input; + /** + * The document classification mode. + * One of `MULTI_CLASS` or `MULTI_LABEL`. + * `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + */ + mode?: pulumi.Input; + /** + * KMS Key used to encrypt trained Document Classifiers. + * Can be a KMS Key ID or a KMS Key ARN. + */ + modelKmsKeyId?: pulumi.Input; + /** + * Name for the Document Classifier. + * Has a maximum length of 63 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + */ + name?: pulumi.Input; + /** + * Configuration for the output results of training. + * See the `outputDataConfig` Configuration Block section below. + */ + outputDataConfig?: pulumi.Input; + /** + * A map of tags to assign to the resource. If configured with a provider [`defaultTags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + versionName?: pulumi.Input; + /** + * Creates a unique version name beginning with the specified prefix. + * Has a maximum length of 37 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * Conflicts with `versionName`. + */ + versionNamePrefix?: pulumi.Input; + /** + * KMS Key used to encrypt storage volumes during job processing. + * Can be a KMS Key ID or a KMS Key ARN. + */ + volumeKmsKeyId?: pulumi.Input; + /** + * Configuration parameters for VPC to contain Document Classifier resources. + * See the `vpcConfig` Configuration Block section below. + */ + vpcConfig?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DocumentClassifier resource. + */ +export interface DocumentClassifierArgs { + /** + * The ARN for an IAM Role which allows Comprehend to read the training and testing data. + */ + dataAccessRoleArn: pulumi.Input; + /** + * Configuration for the training and testing data. + * See the `inputDataConfig` Configuration Block section below. + */ + inputDataConfig: pulumi.Input; + /** + * Two-letter language code for the language. + * One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + */ + languageCode: pulumi.Input; + /** + * The document classification mode. + * One of `MULTI_CLASS` or `MULTI_LABEL`. + * `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + */ + mode?: pulumi.Input; + /** + * KMS Key used to encrypt trained Document Classifiers. + * Can be a KMS Key ID or a KMS Key ARN. + */ + modelKmsKeyId?: pulumi.Input; + /** + * Name for the Document Classifier. + * Has a maximum length of 63 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + */ + name?: pulumi.Input; + /** + * Configuration for the output results of training. + * See the `outputDataConfig` Configuration Block section below. + */ + outputDataConfig?: pulumi.Input; + /** + * A map of tags to assign to the resource. If configured with a provider [`defaultTags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + versionName?: pulumi.Input; + /** + * Creates a unique version name beginning with the specified prefix. + * Has a maximum length of 37 characters. + * Can contain upper- and lower-case letters, numbers, and hypen (`-`). + * Conflicts with `versionName`. + */ + versionNamePrefix?: pulumi.Input; + /** + * KMS Key used to encrypt storage volumes during job processing. + * Can be a KMS Key ID or a KMS Key ARN. + */ + volumeKmsKeyId?: pulumi.Input; + /** + * Configuration parameters for VPC to contain Document Classifier resources. + * See the `vpcConfig` Configuration Block section below. + */ + vpcConfig?: pulumi.Input; +} diff --git a/sdk/nodejs/comprehend/index.ts b/sdk/nodejs/comprehend/index.ts index 39710d9a9a8..955be015ba1 100644 --- a/sdk/nodejs/comprehend/index.ts +++ b/sdk/nodejs/comprehend/index.ts @@ -5,16 +5,23 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { DocumentClassifierArgs, DocumentClassifierState } from "./documentClassifier"; +export type DocumentClassifier = import("./documentClassifier").DocumentClassifier; +export const DocumentClassifier: typeof import("./documentClassifier").DocumentClassifier = null as any; + export { EntityRecognizerArgs, EntityRecognizerState } from "./entityRecognizer"; export type EntityRecognizer = import("./entityRecognizer").EntityRecognizer; export const EntityRecognizer: typeof import("./entityRecognizer").EntityRecognizer = null as any; +utilities.lazyLoad(exports, ["DocumentClassifier"], () => require("./documentClassifier")); utilities.lazyLoad(exports, ["EntityRecognizer"], () => require("./entityRecognizer")); const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "aws:comprehend/documentClassifier:DocumentClassifier": + return new DocumentClassifier(name, undefined, { urn }) case "aws:comprehend/entityRecognizer:EntityRecognizer": return new EntityRecognizer(name, undefined, { urn }) default: @@ -22,4 +29,5 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("aws", "comprehend/documentClassifier", _module) pulumi.runtime.registerResourceModule("aws", "comprehend/entityRecognizer", _module) diff --git a/sdk/nodejs/directconnect/connection.ts b/sdk/nodejs/directconnect/connection.ts index cda3da9b0a2..2f4306e3bb3 100644 --- a/sdk/nodejs/directconnect/connection.ts +++ b/sdk/nodejs/directconnect/connection.ts @@ -99,6 +99,10 @@ export class Connection extends pulumi.CustomResource { * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + /** + * The VLAN ID. + */ + public /*out*/ readonly vlanId!: pulumi.Output; /** * Create a Connection resource with the given unique name, arguments, and options. @@ -124,6 +128,7 @@ export class Connection extends pulumi.CustomResource { resourceInputs["providerName"] = state ? state.providerName : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["vlanId"] = state ? state.vlanId : undefined; } else { const args = argsOrState as ConnectionArgs | undefined; if ((!args || args.bandwidth === undefined) && !opts.urn) { @@ -143,6 +148,7 @@ export class Connection extends pulumi.CustomResource { resourceInputs["jumboFrameCapable"] = undefined /*out*/; resourceInputs["ownerAccountId"] = undefined /*out*/; resourceInputs["tagsAll"] = undefined /*out*/; + resourceInputs["vlanId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Connection.__pulumiType, name, resourceInputs, opts); @@ -197,6 +203,10 @@ export interface ConnectionState { * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The VLAN ID. + */ + vlanId?: pulumi.Input; } /** diff --git a/sdk/nodejs/directconnect/getConnection.ts b/sdk/nodejs/directconnect/getConnection.ts index 4066e475871..1acec9d4b1a 100644 --- a/sdk/nodejs/directconnect/getConnection.ts +++ b/sdk/nodejs/directconnect/getConnection.ts @@ -81,6 +81,10 @@ export interface GetConnectionResult { * Map of tags for the resource. */ readonly tags: {[key: string]: string}; + /** + * The VLAN ID. + */ + readonly vlanId: string; } export function getConnectionOutput(args: GetConnectionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { diff --git a/sdk/nodejs/ebs/volume.ts b/sdk/nodejs/ebs/volume.ts index a100ca0a37c..d3fdf29453d 100644 --- a/sdk/nodejs/ebs/volume.ts +++ b/sdk/nodejs/ebs/volume.ts @@ -22,7 +22,7 @@ import * as utilities from "../utilities"; * }); * ``` * - * > **NOTE**: At least one of `size` or `snapshotId` is required when specifying an EBS volume + * > **NOTE:** At least one of `size` or `snapshotId` is required when specifying an EBS volume * * ## Import * diff --git a/sdk/nodejs/ec2/defaultVpc.ts b/sdk/nodejs/ec2/defaultVpc.ts index 1f192ae72dc..6d2bedf69e8 100644 --- a/sdk/nodejs/ec2/defaultVpc.ts +++ b/sdk/nodejs/ec2/defaultVpc.ts @@ -76,6 +76,7 @@ export class DefaultVpc extends pulumi.CustomResource { public readonly enableClassiclinkDnsSupport!: pulumi.Output; public readonly enableDnsHostnames!: pulumi.Output; public readonly enableDnsSupport!: pulumi.Output; + public readonly enableNetworkAddressUsageMetrics!: pulumi.Output; public /*out*/ readonly existingDefaultVpc!: pulumi.Output; /** * Whether destroying the resource deletes the default VPC. Default: `false` @@ -119,6 +120,7 @@ export class DefaultVpc extends pulumi.CustomResource { resourceInputs["enableClassiclinkDnsSupport"] = state ? state.enableClassiclinkDnsSupport : undefined; resourceInputs["enableDnsHostnames"] = state ? state.enableDnsHostnames : undefined; resourceInputs["enableDnsSupport"] = state ? state.enableDnsSupport : undefined; + resourceInputs["enableNetworkAddressUsageMetrics"] = state ? state.enableNetworkAddressUsageMetrics : undefined; resourceInputs["existingDefaultVpc"] = state ? state.existingDefaultVpc : undefined; resourceInputs["forceDestroy"] = state ? state.forceDestroy : undefined; resourceInputs["instanceTenancy"] = state ? state.instanceTenancy : undefined; @@ -138,6 +140,7 @@ export class DefaultVpc extends pulumi.CustomResource { resourceInputs["enableClassiclinkDnsSupport"] = args ? args.enableClassiclinkDnsSupport : undefined; resourceInputs["enableDnsHostnames"] = args ? args.enableDnsHostnames : undefined; resourceInputs["enableDnsSupport"] = args ? args.enableDnsSupport : undefined; + resourceInputs["enableNetworkAddressUsageMetrics"] = args ? args.enableNetworkAddressUsageMetrics : undefined; resourceInputs["forceDestroy"] = args ? args.forceDestroy : undefined; resourceInputs["ipv6CidrBlock"] = args ? args.ipv6CidrBlock : undefined; resourceInputs["ipv6CidrBlockNetworkBorderGroup"] = args ? args.ipv6CidrBlockNetworkBorderGroup : undefined; @@ -186,6 +189,7 @@ export interface DefaultVpcState { enableClassiclinkDnsSupport?: pulumi.Input; enableDnsHostnames?: pulumi.Input; enableDnsSupport?: pulumi.Input; + enableNetworkAddressUsageMetrics?: pulumi.Input; existingDefaultVpc?: pulumi.Input; /** * Whether destroying the resource deletes the default VPC. Default: `false` @@ -221,6 +225,7 @@ export interface DefaultVpcArgs { enableClassiclinkDnsSupport?: pulumi.Input; enableDnsHostnames?: pulumi.Input; enableDnsSupport?: pulumi.Input; + enableNetworkAddressUsageMetrics?: pulumi.Input; /** * Whether destroying the resource deletes the default VPC. Default: `false` */ diff --git a/sdk/nodejs/ec2/getNatGateway.ts b/sdk/nodejs/ec2/getNatGateway.ts index fe646ac395a..56e87e68cc3 100644 --- a/sdk/nodejs/ec2/getNatGateway.ts +++ b/sdk/nodejs/ec2/getNatGateway.ts @@ -16,8 +16,6 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * - * const config = new pulumi.Config(); - * const subnetId = config.requireObject("subnetId"); * const default = aws.ec2.getNatGateway({ * subnetId: aws_subnet["public"].id, * }); diff --git a/sdk/nodejs/ec2/getVpc.ts b/sdk/nodejs/ec2/getVpc.ts index 5f71114a9ea..7ecafe0a22b 100644 --- a/sdk/nodejs/ec2/getVpc.ts +++ b/sdk/nodejs/ec2/getVpc.ts @@ -92,6 +92,10 @@ export interface GetVpcResult { * Whether or not the VPC has DNS support */ readonly enableDnsSupport: boolean; + /** + * Whether Network Address Usage metrics are enabled for your VPC + */ + readonly enableNetworkAddressUsageMetrics: boolean; readonly filters?: outputs.ec2.GetVpcFilter[]; readonly id: string; /** diff --git a/sdk/nodejs/ec2/getVpcIamPools.ts b/sdk/nodejs/ec2/getVpcIamPools.ts new file mode 100644 index 00000000000..1bfddaf4c36 --- /dev/null +++ b/sdk/nodejs/ec2/getVpcIamPools.ts @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.ec2.getVpcIamPools` provides details about IPAM pools. + * + * This resource can prove useful when IPAM pools are created in another root + * module and you need the pool ids as input variables. For example, pools + * can be shared via RAM and used to create vpcs with CIDRs from that pool. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = pulumi.output(aws.ec2.getVpcIamPools({ + * filters: [ + * { + * name: "description", + * values: ["*test*"], + * }, + * { + * name: "address-family", + * values: ["ipv4"], + * }, + * ], + * })); + * ``` + */ +export function getVpcIamPools(args?: GetVpcIamPoolsArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + if (!opts) { + opts = {} + } + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + return pulumi.runtime.invoke("aws:ec2/getVpcIamPools:getVpcIamPools", { + "filters": args.filters, + }, opts); +} + +/** + * A collection of arguments for invoking getVpcIamPools. + */ +export interface GetVpcIamPoolsArgs { + /** + * Custom filter block as described below. + */ + filters?: inputs.ec2.GetVpcIamPoolsFilter[]; +} + +/** + * A collection of values returned by getVpcIamPools. + */ +export interface GetVpcIamPoolsResult { + readonly filters?: outputs.ec2.GetVpcIamPoolsFilter[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * List of IPAM pools and their attributes. See below for details + */ + readonly ipamPools: outputs.ec2.GetVpcIamPoolsIpamPool[]; +} + +export function getVpcIamPoolsOutput(args?: GetVpcIamPoolsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply(a => getVpcIamPools(a, opts)) +} + +/** + * A collection of arguments for invoking getVpcIamPools. + */ +export interface GetVpcIamPoolsOutputArgs { + /** + * Custom filter block as described below. + */ + filters?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/ec2/index.ts b/sdk/nodejs/ec2/index.ts index c5bc07daded..5a6a158d449 100644 --- a/sdk/nodejs/ec2/index.ts +++ b/sdk/nodejs/ec2/index.ts @@ -296,6 +296,10 @@ export { GetVpcIamPoolCidrsArgs, GetVpcIamPoolCidrsResult, GetVpcIamPoolCidrsOut export const getVpcIamPoolCidrs: typeof import("./getVpcIamPoolCidrs").getVpcIamPoolCidrs = null as any; export const getVpcIamPoolCidrsOutput: typeof import("./getVpcIamPoolCidrs").getVpcIamPoolCidrsOutput = null as any; +export { GetVpcIamPoolsArgs, GetVpcIamPoolsResult, GetVpcIamPoolsOutputArgs } from "./getVpcIamPools"; +export const getVpcIamPools: typeof import("./getVpcIamPools").getVpcIamPools = null as any; +export const getVpcIamPoolsOutput: typeof import("./getVpcIamPools").getVpcIamPoolsOutput = null as any; + export { GetVpcPeeringConnectionArgs, GetVpcPeeringConnectionResult, GetVpcPeeringConnectionOutputArgs } from "./getVpcPeeringConnection"; export const getVpcPeeringConnection: typeof import("./getVpcPeeringConnection").getVpcPeeringConnection = null as any; export const getVpcPeeringConnectionOutput: typeof import("./getVpcPeeringConnection").getVpcPeeringConnectionOutput = null as any; @@ -670,6 +674,7 @@ utilities.lazyLoad(exports, ["getVpcEndpoint","getVpcEndpointOutput"], () => req utilities.lazyLoad(exports, ["getVpcEndpointService","getVpcEndpointServiceOutput"], () => require("./getVpcEndpointService")); utilities.lazyLoad(exports, ["getVpcIamPool","getVpcIamPoolOutput"], () => require("./getVpcIamPool")); utilities.lazyLoad(exports, ["getVpcIamPoolCidrs","getVpcIamPoolCidrsOutput"], () => require("./getVpcIamPoolCidrs")); +utilities.lazyLoad(exports, ["getVpcIamPools","getVpcIamPoolsOutput"], () => require("./getVpcIamPools")); utilities.lazyLoad(exports, ["getVpcPeeringConnection","getVpcPeeringConnectionOutput"], () => require("./getVpcPeeringConnection")); utilities.lazyLoad(exports, ["getVpcPeeringConnections","getVpcPeeringConnectionsOutput"], () => require("./getVpcPeeringConnections")); utilities.lazyLoad(exports, ["getVpcs","getVpcsOutput"], () => require("./getVpcs")); diff --git a/sdk/nodejs/ec2/networkInterface.ts b/sdk/nodejs/ec2/networkInterface.ts index 49d11067e73..ad8adcdc945 100644 --- a/sdk/nodejs/ec2/networkInterface.ts +++ b/sdk/nodejs/ec2/networkInterface.ts @@ -107,6 +107,9 @@ export class NetworkInterface extends pulumi.CustomResource { * Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6Addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. */ public readonly ipv6AddressCount!: pulumi.Output; + /** + * Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. + */ public readonly ipv6AddressListEnabled!: pulumi.Output; /** * List of private IPs to assign to the ENI in sequential order. @@ -280,6 +283,9 @@ export interface NetworkInterfaceState { * Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6Addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. */ ipv6AddressCount?: pulumi.Input; + /** + * Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. + */ ipv6AddressListEnabled?: pulumi.Input; /** * List of private IPs to assign to the ENI in sequential order. @@ -374,6 +380,9 @@ export interface NetworkInterfaceArgs { * Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6Addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. */ ipv6AddressCount?: pulumi.Input; + /** + * Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. + */ ipv6AddressListEnabled?: pulumi.Input; /** * List of private IPs to assign to the ENI in sequential order. diff --git a/sdk/nodejs/ec2/securityGroupRule.ts b/sdk/nodejs/ec2/securityGroupRule.ts index 1296713d2f4..bda2a5cdaf2 100644 --- a/sdk/nodejs/ec2/securityGroupRule.ts +++ b/sdk/nodejs/ec2/securityGroupRule.ts @@ -12,8 +12,8 @@ import * as utilities from "../utilities"; * `egress` group rule, which can be added to external Security Groups. * * > **NOTE on Security Groups and Security Group Rules:** This provider currently - * provides both a standalone Security Group Rule resource (a single `ingress` or - * `egress` rule), and a Security Group resource with `ingress` and `egress` rules + * provides both a standalone Security Group Rule resource (one or many `ingress` or + * `egress` rules), and a Security Group resource with `ingress` and `egress` rules * defined in-line. At this time you cannot use a Security Group with in-line rules * in conjunction with any Security Group Rule resources. Doing so will cause * a conflict of rule settings and will overwrite rules. diff --git a/sdk/nodejs/ec2/vpc.ts b/sdk/nodejs/ec2/vpc.ts index 2e7a2dc755e..07c0e1f0fa1 100644 --- a/sdk/nodejs/ec2/vpc.ts +++ b/sdk/nodejs/ec2/vpc.ts @@ -143,9 +143,13 @@ export class Vpc extends pulumi.CustomResource { */ public readonly enableDnsHostnames!: pulumi.Output; /** - * A boolean flag to enable/disable DNS support in the VPC. Defaults true. + * A boolean flag to enable/disable DNS support in the VPC. Defaults to true. */ public readonly enableDnsSupport!: pulumi.Output; + /** + * Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + */ + public readonly enableNetworkAddressUsageMetrics!: pulumi.Output; /** * A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. */ @@ -221,6 +225,7 @@ export class Vpc extends pulumi.CustomResource { resourceInputs["enableClassiclinkDnsSupport"] = state ? state.enableClassiclinkDnsSupport : undefined; resourceInputs["enableDnsHostnames"] = state ? state.enableDnsHostnames : undefined; resourceInputs["enableDnsSupport"] = state ? state.enableDnsSupport : undefined; + resourceInputs["enableNetworkAddressUsageMetrics"] = state ? state.enableNetworkAddressUsageMetrics : undefined; resourceInputs["instanceTenancy"] = state ? state.instanceTenancy : undefined; resourceInputs["ipv4IpamPoolId"] = state ? state.ipv4IpamPoolId : undefined; resourceInputs["ipv4NetmaskLength"] = state ? state.ipv4NetmaskLength : undefined; @@ -241,6 +246,7 @@ export class Vpc extends pulumi.CustomResource { resourceInputs["enableClassiclinkDnsSupport"] = args ? args.enableClassiclinkDnsSupport : undefined; resourceInputs["enableDnsHostnames"] = args ? args.enableDnsHostnames : undefined; resourceInputs["enableDnsSupport"] = args ? args.enableDnsSupport : undefined; + resourceInputs["enableNetworkAddressUsageMetrics"] = args ? args.enableNetworkAddressUsageMetrics : undefined; resourceInputs["instanceTenancy"] = args ? args.instanceTenancy : undefined; resourceInputs["ipv4IpamPoolId"] = args ? args.ipv4IpamPoolId : undefined; resourceInputs["ipv4NetmaskLength"] = args ? args.ipv4NetmaskLength : undefined; @@ -313,9 +319,13 @@ export interface VpcState { */ enableDnsHostnames?: pulumi.Input; /** - * A boolean flag to enable/disable DNS support in the VPC. Defaults true. + * A boolean flag to enable/disable DNS support in the VPC. Defaults to true. */ enableDnsSupport?: pulumi.Input; + /** + * Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + */ + enableNetworkAddressUsageMetrics?: pulumi.Input; /** * A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. */ @@ -400,9 +410,13 @@ export interface VpcArgs { */ enableDnsHostnames?: pulumi.Input; /** - * A boolean flag to enable/disable DNS support in the VPC. Defaults true. + * A boolean flag to enable/disable DNS support in the VPC. Defaults to true. */ enableDnsSupport?: pulumi.Input; + /** + * Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + */ + enableNetworkAddressUsageMetrics?: pulumi.Input; /** * A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. */ diff --git a/sdk/nodejs/ec2clientvpn/route.ts b/sdk/nodejs/ec2clientvpn/route.ts index f6baa79b47d..4c1da52d748 100644 --- a/sdk/nodejs/ec2clientvpn/route.ts +++ b/sdk/nodejs/ec2clientvpn/route.ts @@ -78,7 +78,7 @@ export class Route extends pulumi.CustomResource { */ public readonly clientVpnEndpointId!: pulumi.Output; /** - * A brief description of the authorization rule. + * A brief description of the route. */ public readonly description!: pulumi.Output; /** @@ -149,7 +149,7 @@ export interface RouteState { */ clientVpnEndpointId?: pulumi.Input; /** - * A brief description of the authorization rule. + * A brief description of the route. */ description?: pulumi.Input; /** @@ -179,7 +179,7 @@ export interface RouteArgs { */ clientVpnEndpointId: pulumi.Input; /** - * A brief description of the authorization rule. + * A brief description of the route. */ description?: pulumi.Input; /** diff --git a/sdk/nodejs/ec2transitgateway/connectPeer.ts b/sdk/nodejs/ec2transitgateway/connectPeer.ts index cb4d5009beb..e1fc661d770 100644 --- a/sdk/nodejs/ec2transitgateway/connectPeer.ts +++ b/sdk/nodejs/ec2transitgateway/connectPeer.ts @@ -19,7 +19,7 @@ import * as utilities from "../utilities"; * }); * const exampleConnectPeer = new aws.ec2transitgateway.ConnectPeer("exampleConnectPeer", { * peerAddress: "10.1.2.3", - * insideCidrBlocks: "169.254.100.0/29", + * insideCidrBlocks: ["169.254.100.0/29"], * transitGatewayAttachmentId: exampleConnect.id, * }); * ``` diff --git a/sdk/nodejs/elasticache/getCluster.ts b/sdk/nodejs/elasticache/getCluster.ts index 8122ef3d542..abc8a44f800 100644 --- a/sdk/nodejs/elasticache/getCluster.ts +++ b/sdk/nodejs/elasticache/getCluster.ts @@ -8,7 +8,7 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Use this data source to get information about an Elasticache Cluster + * Use this data source to get information about an ElastiCache Cluster * * ## Example Usage * diff --git a/sdk/nodejs/elasticache/getReplicationGroup.ts b/sdk/nodejs/elasticache/getReplicationGroup.ts index f949f2145c3..b535aa519be 100644 --- a/sdk/nodejs/elasticache/getReplicationGroup.ts +++ b/sdk/nodejs/elasticache/getReplicationGroup.ts @@ -8,7 +8,7 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Use this data source to get information about an Elasticache Replication Group. + * Use this data source to get information about an ElastiCache Replication Group. * * ## Example Usage * diff --git a/sdk/nodejs/elasticache/getUser.ts b/sdk/nodejs/elasticache/getUser.ts index e817a733dd5..c68d1aa1e98 100644 --- a/sdk/nodejs/elasticache/getUser.ts +++ b/sdk/nodejs/elasticache/getUser.ts @@ -5,7 +5,7 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Use this data source to get information about an Elasticache User. + * Use this data source to get information about an ElastiCache User. * * ## Example Usage * diff --git a/sdk/nodejs/elasticache/globalReplicationGroup.ts b/sdk/nodejs/elasticache/globalReplicationGroup.ts index 8a32d48d02a..2d89a51d9fe 100644 --- a/sdk/nodejs/elasticache/globalReplicationGroup.ts +++ b/sdk/nodejs/elasticache/globalReplicationGroup.ts @@ -54,9 +54,17 @@ export class GlobalReplicationGroup extends pulumi.CustomResource { */ public /*out*/ readonly authTokenEnabled!: pulumi.Output; /** - * The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + * When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. */ - public /*out*/ readonly cacheNodeType!: pulumi.Output; + public readonly automaticFailoverEnabled!: pulumi.Output; + /** + * The instance class used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + * and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * When creating, by default the Global Replication Group inherits the node type of the primary replication group. + */ + public readonly cacheNodeType!: pulumi.Output; /** * Indicates whether the Global Datastore is cluster enabled. */ @@ -123,6 +131,7 @@ export class GlobalReplicationGroup extends pulumi.CustomResource { resourceInputs["arn"] = state ? state.arn : undefined; resourceInputs["atRestEncryptionEnabled"] = state ? state.atRestEncryptionEnabled : undefined; resourceInputs["authTokenEnabled"] = state ? state.authTokenEnabled : undefined; + resourceInputs["automaticFailoverEnabled"] = state ? state.automaticFailoverEnabled : undefined; resourceInputs["cacheNodeType"] = state ? state.cacheNodeType : undefined; resourceInputs["clusterEnabled"] = state ? state.clusterEnabled : undefined; resourceInputs["engine"] = state ? state.engine : undefined; @@ -142,6 +151,8 @@ export class GlobalReplicationGroup extends pulumi.CustomResource { if ((!args || args.primaryReplicationGroupId === undefined) && !opts.urn) { throw new Error("Missing required property 'primaryReplicationGroupId'"); } + resourceInputs["automaticFailoverEnabled"] = args ? args.automaticFailoverEnabled : undefined; + resourceInputs["cacheNodeType"] = args ? args.cacheNodeType : undefined; resourceInputs["engineVersion"] = args ? args.engineVersion : undefined; resourceInputs["globalReplicationGroupDescription"] = args ? args.globalReplicationGroupDescription : undefined; resourceInputs["globalReplicationGroupIdSuffix"] = args ? args.globalReplicationGroupIdSuffix : undefined; @@ -150,7 +161,6 @@ export class GlobalReplicationGroup extends pulumi.CustomResource { resourceInputs["arn"] = undefined /*out*/; resourceInputs["atRestEncryptionEnabled"] = undefined /*out*/; resourceInputs["authTokenEnabled"] = undefined /*out*/; - resourceInputs["cacheNodeType"] = undefined /*out*/; resourceInputs["clusterEnabled"] = undefined /*out*/; resourceInputs["engine"] = undefined /*out*/; resourceInputs["engineVersionActual"] = undefined /*out*/; @@ -179,7 +189,15 @@ export interface GlobalReplicationGroupState { */ authTokenEnabled?: pulumi.Input; /** - * The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + * When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + */ + automaticFailoverEnabled?: pulumi.Input; + /** + * The instance class used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + * and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * When creating, by default the Global Replication Group inherits the node type of the primary replication group. */ cacheNodeType?: pulumi.Input; /** @@ -237,6 +255,18 @@ export interface GlobalReplicationGroupState { * The set of arguments for constructing a GlobalReplicationGroup resource. */ export interface GlobalReplicationGroupArgs { + /** + * Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + * When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + */ + automaticFailoverEnabled?: pulumi.Input; + /** + * The instance class used. + * See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + * and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + * When creating, by default the Global Replication Group inherits the node type of the primary replication group. + */ + cacheNodeType?: pulumi.Input; /** * Redis version to use for the Global Replication Group. * When creating, by default the Global Replication Group inherits the version of the primary replication group. diff --git a/sdk/nodejs/elasticache/parameterGroup.ts b/sdk/nodejs/elasticache/parameterGroup.ts index 4bda90ee06d..503b781adc7 100644 --- a/sdk/nodejs/elasticache/parameterGroup.ts +++ b/sdk/nodejs/elasticache/parameterGroup.ts @@ -10,7 +10,7 @@ import * as utilities from "../utilities"; /** * Provides an ElastiCache parameter group resource. * - * > **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an Elasticache API limitation. Leave that parameter configured with any value to workaround the issue. + * > **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an ElastiCache API limitation. Leave that parameter configured with any value to workaround the issue. * * ## Example Usage * diff --git a/sdk/nodejs/elasticache/subnetGroup.ts b/sdk/nodejs/elasticache/subnetGroup.ts index 7afcb8fa45c..041eed1dd2f 100644 --- a/sdk/nodejs/elasticache/subnetGroup.ts +++ b/sdk/nodejs/elasticache/subnetGroup.ts @@ -76,7 +76,7 @@ export class SubnetGroup extends pulumi.CustomResource { */ public readonly description!: pulumi.Output; /** - * Name for the cache subnet group. Elasticache converts this name to lowercase. + * Name for the cache subnet group. ElastiCache converts this name to lowercase. */ public readonly name!: pulumi.Output; /** @@ -138,7 +138,7 @@ export interface SubnetGroupState { */ description?: pulumi.Input; /** - * Name for the cache subnet group. Elasticache converts this name to lowercase. + * Name for the cache subnet group. ElastiCache converts this name to lowercase. */ name?: pulumi.Input; /** @@ -164,7 +164,7 @@ export interface SubnetGroupArgs { */ description?: pulumi.Input; /** - * Name for the cache subnet group. Elasticache converts this name to lowercase. + * Name for the cache subnet group. ElastiCache converts this name to lowercase. */ name?: pulumi.Input; /** diff --git a/sdk/nodejs/emrcontainers/virtualCluster.ts b/sdk/nodejs/emrcontainers/virtualCluster.ts index b4db43d5fc5..13a8a14a600 100644 --- a/sdk/nodejs/emrcontainers/virtualCluster.ts +++ b/sdk/nodejs/emrcontainers/virtualCluster.ts @@ -30,10 +30,10 @@ import * as utilities from "../utilities"; * * ## Import * - * EKS Clusters can be imported using the `name`, e.g. + * EKS Clusters can be imported using the `id`, e.g. * * ```sh - * $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example + * $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example a1b2c3d4e5f6g7h8i9j10k11l * ``` */ export class VirtualCluster extends pulumi.CustomResource { diff --git a/sdk/nodejs/globalaccelerator/accelerator.ts b/sdk/nodejs/globalaccelerator/accelerator.ts index 735c7583cb4..478747467a9 100644 --- a/sdk/nodejs/globalaccelerator/accelerator.ts +++ b/sdk/nodejs/globalaccelerator/accelerator.ts @@ -24,6 +24,7 @@ import * as utilities from "../utilities"; * }, * enabled: true, * ipAddressType: "IPV4", + * ipAddresses: ["1.2.3.4"], * }); * ``` * @@ -83,6 +84,10 @@ export class Accelerator extends pulumi.CustomResource { * The value for the address type. Defaults to `IPV4`. Valid values: `IPV4`, `DUAL_STACK`. */ public readonly ipAddressType!: pulumi.Output; + /** + * The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + */ + public readonly ipAddresses!: pulumi.Output; /** * IP address set associated with the accelerator. */ @@ -118,6 +123,7 @@ export class Accelerator extends pulumi.CustomResource { resourceInputs["enabled"] = state ? state.enabled : undefined; resourceInputs["hostedZoneId"] = state ? state.hostedZoneId : undefined; resourceInputs["ipAddressType"] = state ? state.ipAddressType : undefined; + resourceInputs["ipAddresses"] = state ? state.ipAddresses : undefined; resourceInputs["ipSets"] = state ? state.ipSets : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["tags"] = state ? state.tags : undefined; @@ -127,6 +133,7 @@ export class Accelerator extends pulumi.CustomResource { resourceInputs["attributes"] = args ? args.attributes : undefined; resourceInputs["enabled"] = args ? args.enabled : undefined; resourceInputs["ipAddressType"] = args ? args.ipAddressType : undefined; + resourceInputs["ipAddresses"] = args ? args.ipAddresses : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["dnsName"] = undefined /*out*/; @@ -163,6 +170,10 @@ export interface AcceleratorState { * The value for the address type. Defaults to `IPV4`. Valid values: `IPV4`, `DUAL_STACK`. */ ipAddressType?: pulumi.Input; + /** + * The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + */ + ipAddresses?: pulumi.Input[]>; /** * IP address set associated with the accelerator. */ @@ -197,6 +208,10 @@ export interface AcceleratorArgs { * The value for the address type. Defaults to `IPV4`. Valid values: `IPV4`, `DUAL_STACK`. */ ipAddressType?: pulumi.Input; + /** + * The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + */ + ipAddresses?: pulumi.Input[]>; /** * The name of the accelerator. */ diff --git a/sdk/nodejs/identitystore/group.ts b/sdk/nodejs/identitystore/group.ts index 3b4bfce4e66..0d9a6661bae 100644 --- a/sdk/nodejs/identitystore/group.ts +++ b/sdk/nodejs/identitystore/group.ts @@ -63,7 +63,7 @@ export class Group extends pulumi.CustomResource { */ public /*out*/ readonly groupId!: pulumi.Output; /** - * The globally unique identifier for the identity store.. + * The globally unique identifier for the identity store. */ public readonly identityStoreId!: pulumi.Output; @@ -125,7 +125,7 @@ export interface GroupState { */ groupId?: pulumi.Input; /** - * The globally unique identifier for the identity store.. + * The globally unique identifier for the identity store. */ identityStoreId?: pulumi.Input; } @@ -143,7 +143,7 @@ export interface GroupArgs { */ displayName: pulumi.Input; /** - * The globally unique identifier for the identity store.. + * The globally unique identifier for the identity store. */ identityStoreId: pulumi.Input; } diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 977a94aed74..c5eb649eec4 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -255,6 +255,7 @@ import * as servicecatalog from "./servicecatalog"; import * as servicediscovery from "./servicediscovery"; import * as servicequotas from "./servicequotas"; import * as ses from "./ses"; +import * as sesv2 from "./sesv2"; import * as sfn from "./sfn"; import * as shield from "./shield"; import * as signer from "./signer"; @@ -432,6 +433,7 @@ export { servicediscovery, servicequotas, ses, + sesv2, sfn, shield, signer, diff --git a/sdk/nodejs/inspector2/delegatedAdminAccount.ts b/sdk/nodejs/inspector2/delegatedAdminAccount.ts new file mode 100644 index 00000000000..b9471658fe4 --- /dev/null +++ b/sdk/nodejs/inspector2/delegatedAdminAccount.ts @@ -0,0 +1,114 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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"; + +/** + * ## Example Usage + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const current = aws.getCallerIdentity({}); + * const example = new aws.inspector2.DelegatedAdminAccount("example", {accountId: current.then(current => current.accountId)}); + * ``` + * + * ## Import + * + * Inspector V2 Delegated Admin Account can be imported using the `account_id`, e.g., + * + * ```sh + * $ pulumi import aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount example 012345678901 + * ``` + */ +export class DelegatedAdminAccount extends pulumi.CustomResource { + /** + * Get an existing DelegatedAdminAccount 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 state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: DelegatedAdminAccountState, opts?: pulumi.CustomResourceOptions): DelegatedAdminAccount { + return new DelegatedAdminAccount(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount'; + + /** + * Returns true if the given object is an instance of DelegatedAdminAccount. 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 DelegatedAdminAccount { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DelegatedAdminAccount.__pulumiType; + } + + /** + * Account to enable as delegated admin account. + */ + public readonly accountId!: pulumi.Output; + /** + * Status of this delegated admin account. + */ + public /*out*/ readonly relationshipStatus!: pulumi.Output; + + /** + * Create a DelegatedAdminAccount 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: DelegatedAdminAccountArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DelegatedAdminAccountArgs | DelegatedAdminAccountState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DelegatedAdminAccountState | undefined; + resourceInputs["accountId"] = state ? state.accountId : undefined; + resourceInputs["relationshipStatus"] = state ? state.relationshipStatus : undefined; + } else { + const args = argsOrState as DelegatedAdminAccountArgs | undefined; + if ((!args || args.accountId === undefined) && !opts.urn) { + throw new Error("Missing required property 'accountId'"); + } + resourceInputs["accountId"] = args ? args.accountId : undefined; + resourceInputs["relationshipStatus"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DelegatedAdminAccount.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DelegatedAdminAccount resources. + */ +export interface DelegatedAdminAccountState { + /** + * Account to enable as delegated admin account. + */ + accountId?: pulumi.Input; + /** + * Status of this delegated admin account. + */ + relationshipStatus?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DelegatedAdminAccount resource. + */ +export interface DelegatedAdminAccountArgs { + /** + * Account to enable as delegated admin account. + */ + accountId: pulumi.Input; +} diff --git a/sdk/nodejs/inspector2/index.ts b/sdk/nodejs/inspector2/index.ts index 455c7c76e0d..4b5539f401f 100644 --- a/sdk/nodejs/inspector2/index.ts +++ b/sdk/nodejs/inspector2/index.ts @@ -5,16 +5,23 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { DelegatedAdminAccountArgs, DelegatedAdminAccountState } from "./delegatedAdminAccount"; +export type DelegatedAdminAccount = import("./delegatedAdminAccount").DelegatedAdminAccount; +export const DelegatedAdminAccount: typeof import("./delegatedAdminAccount").DelegatedAdminAccount = null as any; + export { OrganizationConfigurationArgs, OrganizationConfigurationState } from "./organizationConfiguration"; export type OrganizationConfiguration = import("./organizationConfiguration").OrganizationConfiguration; export const OrganizationConfiguration: typeof import("./organizationConfiguration").OrganizationConfiguration = null as any; +utilities.lazyLoad(exports, ["DelegatedAdminAccount"], () => require("./delegatedAdminAccount")); utilities.lazyLoad(exports, ["OrganizationConfiguration"], () => require("./organizationConfiguration")); const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount": + return new DelegatedAdminAccount(name, undefined, { urn }) case "aws:inspector2/organizationConfiguration:OrganizationConfiguration": return new OrganizationConfiguration(name, undefined, { urn }) default: @@ -22,4 +29,5 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("aws", "inspector2/delegatedAdminAccount", _module) pulumi.runtime.registerResourceModule("aws", "inspector2/organizationConfiguration", _module) diff --git a/sdk/nodejs/networkmanager/link.ts b/sdk/nodejs/networkmanager/link.ts index de91d8c4d44..c4e38bdd644 100644 --- a/sdk/nodejs/networkmanager/link.ts +++ b/sdk/nodejs/networkmanager/link.ts @@ -18,7 +18,7 @@ import * as utilities from "../utilities"; * * const example = new aws.networkmanager.Link("example", { * globalNetworkId: aws_networkmanager_global_network.example.id, - * siteId: aws_networkmanager_global_site.example.id, + * siteId: aws_networkmanager_site.example.id, * bandwidth: { * uploadSpeed: 10, * downloadSpeed: 50, diff --git a/sdk/nodejs/opsworks/customLayer.ts b/sdk/nodejs/opsworks/customLayer.ts index 372a85f1ce7..d54d898e64b 100644 --- a/sdk/nodejs/opsworks/customLayer.ts +++ b/sdk/nodejs/opsworks/customLayer.ts @@ -115,6 +115,10 @@ export class CustomLayer extends pulumi.CustomResource { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ public readonly instanceShutdownTimeout!: pulumi.Output; + /** + * Load-based auto scaling configuration. See Load Based AutoScaling + */ + public readonly loadBasedAutoScaling!: pulumi.Output; /** * A human-readable name for the layer. */ @@ -175,6 +179,7 @@ export class CustomLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = state ? state.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = state ? state.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = state ? state.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = state ? state.loadBasedAutoScaling : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["shortName"] = state ? state.shortName : undefined; resourceInputs["stackId"] = state ? state.stackId : undefined; @@ -207,6 +212,7 @@ export class CustomLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = args ? args.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = args ? args.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = args ? args.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = args ? args.loadBasedAutoScaling : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["shortName"] = args ? args.shortName : undefined; resourceInputs["stackId"] = args ? args.stackId : undefined; @@ -282,6 +288,10 @@ export interface CustomLayerState { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + /** + * Load-based auto scaling configuration. See Load Based AutoScaling + */ + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ @@ -369,6 +379,10 @@ export interface CustomLayerArgs { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + /** + * Load-based auto scaling configuration. See Load Based AutoScaling + */ + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ diff --git a/sdk/nodejs/opsworks/ecsClusterLayer.ts b/sdk/nodejs/opsworks/ecsClusterLayer.ts index c340e36f033..56733d01b76 100644 --- a/sdk/nodejs/opsworks/ecsClusterLayer.ts +++ b/sdk/nodejs/opsworks/ecsClusterLayer.ts @@ -108,6 +108,7 @@ export class EcsClusterLayer extends pulumi.CustomResource { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ public readonly instanceShutdownTimeout!: pulumi.Output; + public readonly loadBasedAutoScaling!: pulumi.Output; /** * A human-readable name for the layer. */ @@ -162,6 +163,7 @@ export class EcsClusterLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = state ? state.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = state ? state.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = state ? state.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = state ? state.loadBasedAutoScaling : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["stackId"] = state ? state.stackId : undefined; resourceInputs["systemPackages"] = state ? state.systemPackages : undefined; @@ -194,6 +196,7 @@ export class EcsClusterLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = args ? args.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = args ? args.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = args ? args.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = args ? args.loadBasedAutoScaling : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["stackId"] = args ? args.stackId : undefined; resourceInputs["systemPackages"] = args ? args.systemPackages : undefined; @@ -269,6 +272,7 @@ export interface EcsClusterLayerState { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ @@ -350,6 +354,7 @@ export interface EcsClusterLayerArgs { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ diff --git a/sdk/nodejs/opsworks/gangliaLayer.ts b/sdk/nodejs/opsworks/gangliaLayer.ts index edf64095662..83e4e27be38 100644 --- a/sdk/nodejs/opsworks/gangliaLayer.ts +++ b/sdk/nodejs/opsworks/gangliaLayer.ts @@ -104,6 +104,7 @@ export class GangliaLayer extends pulumi.CustomResource { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ public readonly instanceShutdownTimeout!: pulumi.Output; + public readonly loadBasedAutoScaling!: pulumi.Output; /** * A human-readable name for the layer. */ @@ -172,6 +173,7 @@ export class GangliaLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = state ? state.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = state ? state.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = state ? state.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = state ? state.loadBasedAutoScaling : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["password"] = state ? state.password : undefined; resourceInputs["stackId"] = state ? state.stackId : undefined; @@ -206,6 +208,7 @@ export class GangliaLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = args ? args.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = args ? args.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = args ? args.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = args ? args.loadBasedAutoScaling : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["password"] = args ? args.password : undefined; resourceInputs["stackId"] = args ? args.stackId : undefined; @@ -280,6 +283,7 @@ export interface GangliaLayerState { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ @@ -372,6 +376,7 @@ export interface GangliaLayerArgs { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ diff --git a/sdk/nodejs/opsworks/haproxyLayer.ts b/sdk/nodejs/opsworks/haproxyLayer.ts index 6f507af10b3..1208fa88903 100644 --- a/sdk/nodejs/opsworks/haproxyLayer.ts +++ b/sdk/nodejs/opsworks/haproxyLayer.ts @@ -112,6 +112,7 @@ export class HaproxyLayer extends pulumi.CustomResource { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ public readonly instanceShutdownTimeout!: pulumi.Output; + public readonly loadBasedAutoScaling!: pulumi.Output; /** * A human-readable name for the layer. */ @@ -186,6 +187,7 @@ export class HaproxyLayer extends pulumi.CustomResource { resourceInputs["healthcheckUrl"] = state ? state.healthcheckUrl : undefined; resourceInputs["installUpdatesOnBoot"] = state ? state.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = state ? state.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = state ? state.loadBasedAutoScaling : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["stackId"] = state ? state.stackId : undefined; resourceInputs["statsEnabled"] = state ? state.statsEnabled : undefined; @@ -223,6 +225,7 @@ export class HaproxyLayer extends pulumi.CustomResource { resourceInputs["healthcheckUrl"] = args ? args.healthcheckUrl : undefined; resourceInputs["installUpdatesOnBoot"] = args ? args.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = args ? args.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = args ? args.loadBasedAutoScaling : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["stackId"] = args ? args.stackId : undefined; resourceInputs["statsEnabled"] = args ? args.statsEnabled : undefined; @@ -306,6 +309,7 @@ export interface HaproxyLayerState { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ @@ -410,6 +414,7 @@ export interface HaproxyLayerArgs { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ diff --git a/sdk/nodejs/opsworks/javaAppLayer.ts b/sdk/nodejs/opsworks/javaAppLayer.ts index ecb744bc115..d6fe3f25d0c 100644 --- a/sdk/nodejs/opsworks/javaAppLayer.ts +++ b/sdk/nodejs/opsworks/javaAppLayer.ts @@ -121,6 +121,7 @@ export class JavaAppLayer extends pulumi.CustomResource { * Version of JVM to use. Defaults to "7". */ public readonly jvmVersion!: pulumi.Output; + public readonly loadBasedAutoScaling!: pulumi.Output; /** * A human-readable name for the layer. */ @@ -182,6 +183,7 @@ export class JavaAppLayer extends pulumi.CustomResource { resourceInputs["jvmOptions"] = state ? state.jvmOptions : undefined; resourceInputs["jvmType"] = state ? state.jvmType : undefined; resourceInputs["jvmVersion"] = state ? state.jvmVersion : undefined; + resourceInputs["loadBasedAutoScaling"] = state ? state.loadBasedAutoScaling : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["stackId"] = state ? state.stackId : undefined; resourceInputs["systemPackages"] = state ? state.systemPackages : undefined; @@ -215,6 +217,7 @@ export class JavaAppLayer extends pulumi.CustomResource { resourceInputs["jvmOptions"] = args ? args.jvmOptions : undefined; resourceInputs["jvmType"] = args ? args.jvmType : undefined; resourceInputs["jvmVersion"] = args ? args.jvmVersion : undefined; + resourceInputs["loadBasedAutoScaling"] = args ? args.loadBasedAutoScaling : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["stackId"] = args ? args.stackId : undefined; resourceInputs["systemPackages"] = args ? args.systemPackages : undefined; @@ -306,6 +309,7 @@ export interface JavaAppLayerState { * Version of JVM to use. Defaults to "7". */ jvmVersion?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ @@ -406,6 +410,7 @@ export interface JavaAppLayerArgs { * Version of JVM to use. Defaults to "7". */ jvmVersion?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ diff --git a/sdk/nodejs/opsworks/memcachedLayer.ts b/sdk/nodejs/opsworks/memcachedLayer.ts index 5f192a6e3db..3b0f00f0086 100644 --- a/sdk/nodejs/opsworks/memcachedLayer.ts +++ b/sdk/nodejs/opsworks/memcachedLayer.ts @@ -105,6 +105,7 @@ export class MemcachedLayer extends pulumi.CustomResource { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ public readonly instanceShutdownTimeout!: pulumi.Output; + public readonly loadBasedAutoScaling!: pulumi.Output; /** * A human-readable name for the layer. */ @@ -162,6 +163,7 @@ export class MemcachedLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = state ? state.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = state ? state.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = state ? state.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = state ? state.loadBasedAutoScaling : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["stackId"] = state ? state.stackId : undefined; resourceInputs["systemPackages"] = state ? state.systemPackages : undefined; @@ -191,6 +193,7 @@ export class MemcachedLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = args ? args.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = args ? args.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = args ? args.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = args ? args.loadBasedAutoScaling : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["stackId"] = args ? args.stackId : undefined; resourceInputs["systemPackages"] = args ? args.systemPackages : undefined; @@ -266,6 +269,7 @@ export interface MemcachedLayerState { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ @@ -350,6 +354,7 @@ export interface MemcachedLayerArgs { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ diff --git a/sdk/nodejs/opsworks/mysqlLayer.ts b/sdk/nodejs/opsworks/mysqlLayer.ts index e95e12be708..1e7ce05b262 100644 --- a/sdk/nodejs/opsworks/mysqlLayer.ts +++ b/sdk/nodejs/opsworks/mysqlLayer.ts @@ -101,6 +101,7 @@ export class MysqlLayer extends pulumi.CustomResource { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ public readonly instanceShutdownTimeout!: pulumi.Output; + public readonly loadBasedAutoScaling!: pulumi.Output; /** * A human-readable name for the layer. */ @@ -165,6 +166,7 @@ export class MysqlLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = state ? state.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = state ? state.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = state ? state.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = state ? state.loadBasedAutoScaling : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["rootPassword"] = state ? state.rootPassword : undefined; resourceInputs["rootPasswordOnAllInstances"] = state ? state.rootPasswordOnAllInstances : undefined; @@ -195,6 +197,7 @@ export class MysqlLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = args ? args.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = args ? args.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = args ? args.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = args ? args.loadBasedAutoScaling : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["rootPassword"] = args ? args.rootPassword : undefined; resourceInputs["rootPasswordOnAllInstances"] = args ? args.rootPasswordOnAllInstances : undefined; @@ -268,6 +271,7 @@ export interface MysqlLayerState { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ @@ -356,6 +360,7 @@ export interface MysqlLayerArgs { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ diff --git a/sdk/nodejs/opsworks/nodejsAppLayer.ts b/sdk/nodejs/opsworks/nodejsAppLayer.ts index 388637214f2..557b29fd113 100644 --- a/sdk/nodejs/opsworks/nodejsAppLayer.ts +++ b/sdk/nodejs/opsworks/nodejsAppLayer.ts @@ -101,6 +101,7 @@ export class NodejsAppLayer extends pulumi.CustomResource { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ public readonly instanceShutdownTimeout!: pulumi.Output; + public readonly loadBasedAutoScaling!: pulumi.Output; /** * A human-readable name for the layer. */ @@ -161,6 +162,7 @@ export class NodejsAppLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = state ? state.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = state ? state.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = state ? state.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = state ? state.loadBasedAutoScaling : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["nodejsVersion"] = state ? state.nodejsVersion : undefined; resourceInputs["stackId"] = state ? state.stackId : undefined; @@ -190,6 +192,7 @@ export class NodejsAppLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = args ? args.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = args ? args.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = args ? args.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = args ? args.loadBasedAutoScaling : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["nodejsVersion"] = args ? args.nodejsVersion : undefined; resourceInputs["stackId"] = args ? args.stackId : undefined; @@ -262,6 +265,7 @@ export interface NodejsAppLayerState { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ @@ -346,6 +350,7 @@ export interface NodejsAppLayerArgs { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ diff --git a/sdk/nodejs/opsworks/phpAppLayer.ts b/sdk/nodejs/opsworks/phpAppLayer.ts index b6207baa36f..c1e8c32d5e6 100644 --- a/sdk/nodejs/opsworks/phpAppLayer.ts +++ b/sdk/nodejs/opsworks/phpAppLayer.ts @@ -109,6 +109,7 @@ export class PhpAppLayer extends pulumi.CustomResource { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ public readonly instanceShutdownTimeout!: pulumi.Output; + public readonly loadBasedAutoScaling!: pulumi.Output; /** * A human-readable name for the layer. */ @@ -165,6 +166,7 @@ export class PhpAppLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = state ? state.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = state ? state.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = state ? state.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = state ? state.loadBasedAutoScaling : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["stackId"] = state ? state.stackId : undefined; resourceInputs["systemPackages"] = state ? state.systemPackages : undefined; @@ -193,6 +195,7 @@ export class PhpAppLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = args ? args.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = args ? args.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = args ? args.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = args ? args.loadBasedAutoScaling : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["stackId"] = args ? args.stackId : undefined; resourceInputs["systemPackages"] = args ? args.systemPackages : undefined; @@ -264,6 +267,7 @@ export interface PhpAppLayerState { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ @@ -344,6 +348,7 @@ export interface PhpAppLayerArgs { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ diff --git a/sdk/nodejs/opsworks/railsAppLayer.ts b/sdk/nodejs/opsworks/railsAppLayer.ts index 37e61b205c5..d44b5d00ea8 100644 --- a/sdk/nodejs/opsworks/railsAppLayer.ts +++ b/sdk/nodejs/opsworks/railsAppLayer.ts @@ -109,6 +109,7 @@ export class RailsAppLayer extends pulumi.CustomResource { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ public readonly instanceShutdownTimeout!: pulumi.Output; + public readonly loadBasedAutoScaling!: pulumi.Output; /** * Whether OpsWorks should manage bundler. On by default. */ @@ -183,6 +184,7 @@ export class RailsAppLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = state ? state.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = state ? state.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = state ? state.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = state ? state.loadBasedAutoScaling : undefined; resourceInputs["manageBundler"] = state ? state.manageBundler : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["passengerVersion"] = state ? state.passengerVersion : undefined; @@ -217,6 +219,7 @@ export class RailsAppLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = args ? args.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = args ? args.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = args ? args.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = args ? args.loadBasedAutoScaling : undefined; resourceInputs["manageBundler"] = args ? args.manageBundler : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["passengerVersion"] = args ? args.passengerVersion : undefined; @@ -300,6 +303,7 @@ export interface RailsAppLayerState { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * Whether OpsWorks should manage bundler. On by default. */ @@ -404,6 +408,7 @@ export interface RailsAppLayerArgs { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * Whether OpsWorks should manage bundler. On by default. */ diff --git a/sdk/nodejs/opsworks/staticWebLayer.ts b/sdk/nodejs/opsworks/staticWebLayer.ts index 8c70b53649e..32315257a34 100644 --- a/sdk/nodejs/opsworks/staticWebLayer.ts +++ b/sdk/nodejs/opsworks/staticWebLayer.ts @@ -106,6 +106,7 @@ export class StaticWebLayer extends pulumi.CustomResource { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ public readonly instanceShutdownTimeout!: pulumi.Output; + public readonly loadBasedAutoScaling!: pulumi.Output; /** * A human-readable name for the layer. */ @@ -162,6 +163,7 @@ export class StaticWebLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = state ? state.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = state ? state.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = state ? state.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = state ? state.loadBasedAutoScaling : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["stackId"] = state ? state.stackId : undefined; resourceInputs["systemPackages"] = state ? state.systemPackages : undefined; @@ -190,6 +192,7 @@ export class StaticWebLayer extends pulumi.CustomResource { resourceInputs["elasticLoadBalancer"] = args ? args.elasticLoadBalancer : undefined; resourceInputs["installUpdatesOnBoot"] = args ? args.installUpdatesOnBoot : undefined; resourceInputs["instanceShutdownTimeout"] = args ? args.instanceShutdownTimeout : undefined; + resourceInputs["loadBasedAutoScaling"] = args ? args.loadBasedAutoScaling : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["stackId"] = args ? args.stackId : undefined; resourceInputs["systemPackages"] = args ? args.systemPackages : undefined; @@ -258,6 +261,7 @@ export interface StaticWebLayerState { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ @@ -335,6 +339,7 @@ export interface StaticWebLayerArgs { * The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. */ instanceShutdownTimeout?: pulumi.Input; + loadBasedAutoScaling?: pulumi.Input; /** * A human-readable name for the layer. */ diff --git a/sdk/nodejs/ram/resourceShare.ts b/sdk/nodejs/ram/resourceShare.ts index f9c35025107..15433af1401 100644 --- a/sdk/nodejs/ram/resourceShare.ts +++ b/sdk/nodejs/ram/resourceShare.ts @@ -23,7 +23,7 @@ import * as utilities from "../utilities"; * * ## Import * - * Resource shares can be imported using the `id`, e.g., + * Resource shares can be imported using the `arn` of the resource share, e.g., * * ```sh * $ pulumi import aws:ram/resourceShare:ResourceShare example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 diff --git a/sdk/nodejs/rds/getReservedInstanceOffering.ts b/sdk/nodejs/rds/getReservedInstanceOffering.ts new file mode 100644 index 00000000000..de58f60fe2b --- /dev/null +++ b/sdk/nodejs/rds/getReservedInstanceOffering.ts @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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"; + +/** + * Information about a single RDS Reserved Instance Offering. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = pulumi.output(aws.rds.getReservedInstanceOffering({ + * dbInstanceClass: "db.t2.micro", + * duration: 31536000, + * multiAz: false, + * offeringType: "All Upfront", + * productDescription: "mysql", + * })); + * ``` + */ +export function getReservedInstanceOffering(args: GetReservedInstanceOfferingArgs, opts?: pulumi.InvokeOptions): Promise { + if (!opts) { + opts = {} + } + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + return pulumi.runtime.invoke("aws:rds/getReservedInstanceOffering:getReservedInstanceOffering", { + "dbInstanceClass": args.dbInstanceClass, + "duration": args.duration, + "multiAz": args.multiAz, + "offeringType": args.offeringType, + "productDescription": args.productDescription, + }, opts); +} + +/** + * A collection of arguments for invoking getReservedInstanceOffering. + */ +export interface GetReservedInstanceOfferingArgs { + /** + * DB instance class for the reserved DB instance. + */ + dbInstanceClass: string; + /** + * Duration of the reservation in seconds. + */ + duration: number; + /** + * Whether the reservation applies to Multi-AZ deployments. + */ + multiAz: boolean; + /** + * Offering type of this reserved DB instance. + */ + offeringType: string; + /** + * Description of the reserved DB instance. + */ + productDescription: string; +} + +/** + * A collection of values returned by getReservedInstanceOffering. + */ +export interface GetReservedInstanceOfferingResult { + /** + * Currency code for the reserved DB instance. + */ + readonly currencyCode: string; + readonly dbInstanceClass: string; + readonly duration: number; + /** + * Fixed price charged for this reserved DB instance. + */ + readonly fixedPrice: number; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly multiAz: boolean; + /** + * Unique identifier for the reservation. + */ + readonly offeringId: string; + readonly offeringType: string; + readonly productDescription: string; +} + +export function getReservedInstanceOfferingOutput(args: GetReservedInstanceOfferingOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply(a => getReservedInstanceOffering(a, opts)) +} + +/** + * A collection of arguments for invoking getReservedInstanceOffering. + */ +export interface GetReservedInstanceOfferingOutputArgs { + /** + * DB instance class for the reserved DB instance. + */ + dbInstanceClass: pulumi.Input; + /** + * Duration of the reservation in seconds. + */ + duration: pulumi.Input; + /** + * Whether the reservation applies to Multi-AZ deployments. + */ + multiAz: pulumi.Input; + /** + * Offering type of this reserved DB instance. + */ + offeringType: pulumi.Input; + /** + * Description of the reserved DB instance. + */ + productDescription: pulumi.Input; +} diff --git a/sdk/nodejs/rds/index.ts b/sdk/nodejs/rds/index.ts index 088e4cb05b4..a0df9f327ff 100644 --- a/sdk/nodejs/rds/index.ts +++ b/sdk/nodejs/rds/index.ts @@ -71,6 +71,10 @@ export { GetProxyArgs, GetProxyResult, GetProxyOutputArgs } from "./getProxy"; export const getProxy: typeof import("./getProxy").getProxy = null as any; export const getProxyOutput: typeof import("./getProxy").getProxyOutput = null as any; +export { GetReservedInstanceOfferingArgs, GetReservedInstanceOfferingResult, GetReservedInstanceOfferingOutputArgs } from "./getReservedInstanceOffering"; +export const getReservedInstanceOffering: typeof import("./getReservedInstanceOffering").getReservedInstanceOffering = null as any; +export const getReservedInstanceOfferingOutput: typeof import("./getReservedInstanceOffering").getReservedInstanceOfferingOutput = null as any; + export { GetSnapshotArgs, GetSnapshotResult, GetSnapshotOutputArgs } from "./getSnapshot"; export const getSnapshot: typeof import("./getSnapshot").getSnapshot = null as any; export const getSnapshotOutput: typeof import("./getSnapshot").getSnapshotOutput = null as any; @@ -116,6 +120,10 @@ export { ProxyTargetArgs, ProxyTargetState } from "./proxyTarget"; export type ProxyTarget = import("./proxyTarget").ProxyTarget; export const ProxyTarget: typeof import("./proxyTarget").ProxyTarget = null as any; +export { ReservedInstanceArgs, ReservedInstanceState } from "./reservedInstance"; +export type ReservedInstance = import("./reservedInstance").ReservedInstance; +export const ReservedInstance: typeof import("./reservedInstance").ReservedInstance = null as any; + export { RoleAssociationArgs, RoleAssociationState } from "./roleAssociation"; export type RoleAssociation = import("./roleAssociation").RoleAssociation; export const RoleAssociation: typeof import("./roleAssociation").RoleAssociation = null as any; @@ -153,6 +161,7 @@ utilities.lazyLoad(exports, ["getEventCategories","getEventCategoriesOutput"], ( utilities.lazyLoad(exports, ["getInstance","getInstanceOutput"], () => require("./getInstance")); utilities.lazyLoad(exports, ["getOrderableDbInstance","getOrderableDbInstanceOutput"], () => require("./getOrderableDbInstance")); utilities.lazyLoad(exports, ["getProxy","getProxyOutput"], () => require("./getProxy")); +utilities.lazyLoad(exports, ["getReservedInstanceOffering","getReservedInstanceOfferingOutput"], () => require("./getReservedInstanceOffering")); utilities.lazyLoad(exports, ["getSnapshot","getSnapshotOutput"], () => require("./getSnapshot")); utilities.lazyLoad(exports, ["getSubnetGroup","getSubnetGroupOutput"], () => require("./getSubnetGroup")); utilities.lazyLoad(exports, ["GlobalCluster"], () => require("./globalCluster")); @@ -164,6 +173,7 @@ utilities.lazyLoad(exports, ["Proxy"], () => require("./proxy")); utilities.lazyLoad(exports, ["ProxyDefaultTargetGroup"], () => require("./proxyDefaultTargetGroup")); utilities.lazyLoad(exports, ["ProxyEndpoint"], () => require("./proxyEndpoint")); utilities.lazyLoad(exports, ["ProxyTarget"], () => require("./proxyTarget")); +utilities.lazyLoad(exports, ["ReservedInstance"], () => require("./reservedInstance")); utilities.lazyLoad(exports, ["RoleAssociation"], () => require("./roleAssociation")); utilities.lazyLoad(exports, ["SecurityGroup"], () => require("./securityGroup")); utilities.lazyLoad(exports, ["Snapshot"], () => require("./snapshot")); @@ -211,6 +221,8 @@ const _module = { return new ProxyEndpoint(name, undefined, { urn }) case "aws:rds/proxyTarget:ProxyTarget": return new ProxyTarget(name, undefined, { urn }) + case "aws:rds/reservedInstance:ReservedInstance": + return new ReservedInstance(name, undefined, { urn }) case "aws:rds/roleAssociation:RoleAssociation": return new RoleAssociation(name, undefined, { urn }) case "aws:rds/securityGroup:SecurityGroup": @@ -243,6 +255,7 @@ pulumi.runtime.registerResourceModule("aws", "rds/proxy", _module) pulumi.runtime.registerResourceModule("aws", "rds/proxyDefaultTargetGroup", _module) pulumi.runtime.registerResourceModule("aws", "rds/proxyEndpoint", _module) pulumi.runtime.registerResourceModule("aws", "rds/proxyTarget", _module) +pulumi.runtime.registerResourceModule("aws", "rds/reservedInstance", _module) pulumi.runtime.registerResourceModule("aws", "rds/roleAssociation", _module) pulumi.runtime.registerResourceModule("aws", "rds/securityGroup", _module) pulumi.runtime.registerResourceModule("aws", "rds/snapshot", _module) diff --git a/sdk/nodejs/rds/optionGroup.ts b/sdk/nodejs/rds/optionGroup.ts index 6b8602b6222..9f1ca71025c 100644 --- a/sdk/nodejs/rds/optionGroup.ts +++ b/sdk/nodejs/rds/optionGroup.ts @@ -47,7 +47,7 @@ import * as utilities from "../utilities"; * }); * ``` * - * > **Note**: Any modifications to the `aws.rds.OptionGroup` are set to happen immediately as we default to applying immediately. + * > **Note:** Any modifications to the `aws.rds.OptionGroup` are set to happen immediately as we default to applying immediately. * * > **WARNING:** You can perform a destroy on a `aws.rds.OptionGroup`, as long as it is not associated with any Amazon RDS resource. An option group can be associated with a DB instance, a manual DB snapshot, or an automated DB snapshot. * diff --git a/sdk/nodejs/rds/reservedInstance.ts b/sdk/nodejs/rds/reservedInstance.ts new file mode 100644 index 00000000000..2e2d14e8189 --- /dev/null +++ b/sdk/nodejs/rds/reservedInstance.ts @@ -0,0 +1,278 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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"; + +/** + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = aws.rds.getReservedInstanceOffering({ + * dbInstanceClass: "db.t2.micro", + * duration: 31536000, + * multiAz: false, + * offeringType: "All Upfront", + * productDescription: "mysql", + * }); + * const example = new aws.rds.ReservedInstance("example", { + * offeringId: test.then(test => test.offeringId), + * reservationId: "optionalCustomReservationID", + * instanceCount: 3, + * }); + * ``` + * + * ## Import + * + * RDS DB Instance Reservations can be imported using the `instance_id`, e.g., + * + * ```sh + * $ pulumi import aws:rds/reservedInstance:ReservedInstance reservation_instance CustomReservationID + * ``` + */ +export class ReservedInstance extends pulumi.CustomResource { + /** + * Get an existing ReservedInstance 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 state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: ReservedInstanceState, opts?: pulumi.CustomResourceOptions): ReservedInstance { + return new ReservedInstance(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:rds/reservedInstance:ReservedInstance'; + + /** + * Returns true if the given object is an instance of ReservedInstance. 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 ReservedInstance { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ReservedInstance.__pulumiType; + } + + /** + * ARN for the reserved DB instance. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * Currency code for the reserved DB instance. + */ + public /*out*/ readonly currencyCode!: pulumi.Output; + public /*out*/ readonly dbInstanceClass!: pulumi.Output; + /** + * Duration of the reservation in seconds. + */ + public /*out*/ readonly duration!: pulumi.Output; + /** + * Fixed price charged for this reserved DB instance. + */ + public /*out*/ readonly fixedPrice!: pulumi.Output; + /** + * Number of instances to reserve. Default value is `1`. + */ + public readonly instanceCount!: pulumi.Output; + /** + * Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. + */ + public /*out*/ readonly leaseId!: pulumi.Output; + /** + * Whether the reservation applies to Multi-AZ deployments. + */ + public /*out*/ readonly multiAz!: pulumi.Output; + /** + * ID of the Reserved DB instance offering to purchase. To determine an `offeringId`, see the `aws.rds.getReservedInstanceOffering` data source. + */ + public readonly offeringId!: pulumi.Output; + /** + * Offering type of this reserved DB instance. + */ + public /*out*/ readonly offeringType!: pulumi.Output; + /** + * Description of the reserved DB instance. + */ + public /*out*/ readonly productDescription!: pulumi.Output; + /** + * Recurring price charged to run this reserved DB instance. + */ + public /*out*/ readonly recurringCharges!: pulumi.Output; + public readonly reservationId!: pulumi.Output; + /** + * Time the reservation started. + */ + public /*out*/ readonly startTime!: pulumi.Output; + /** + * State of the reserved DB instance. + */ + public /*out*/ readonly state!: pulumi.Output; + /** + * Map of tags to assign to the DB reservation. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + /** + * Hourly price charged for this reserved DB instance. + */ + public /*out*/ readonly usagePrice!: pulumi.Output; + + /** + * Create a ReservedInstance 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: ReservedInstanceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ReservedInstanceArgs | ReservedInstanceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ReservedInstanceState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["currencyCode"] = state ? state.currencyCode : undefined; + resourceInputs["dbInstanceClass"] = state ? state.dbInstanceClass : undefined; + resourceInputs["duration"] = state ? state.duration : undefined; + resourceInputs["fixedPrice"] = state ? state.fixedPrice : undefined; + resourceInputs["instanceCount"] = state ? state.instanceCount : undefined; + resourceInputs["leaseId"] = state ? state.leaseId : undefined; + resourceInputs["multiAz"] = state ? state.multiAz : undefined; + resourceInputs["offeringId"] = state ? state.offeringId : undefined; + resourceInputs["offeringType"] = state ? state.offeringType : undefined; + resourceInputs["productDescription"] = state ? state.productDescription : undefined; + resourceInputs["recurringCharges"] = state ? state.recurringCharges : undefined; + resourceInputs["reservationId"] = state ? state.reservationId : undefined; + resourceInputs["startTime"] = state ? state.startTime : undefined; + resourceInputs["state"] = state ? state.state : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["usagePrice"] = state ? state.usagePrice : undefined; + } else { + const args = argsOrState as ReservedInstanceArgs | undefined; + if ((!args || args.offeringId === undefined) && !opts.urn) { + throw new Error("Missing required property 'offeringId'"); + } + resourceInputs["instanceCount"] = args ? args.instanceCount : undefined; + resourceInputs["offeringId"] = args ? args.offeringId : undefined; + resourceInputs["reservationId"] = args ? args.reservationId : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["currencyCode"] = undefined /*out*/; + resourceInputs["dbInstanceClass"] = undefined /*out*/; + resourceInputs["duration"] = undefined /*out*/; + resourceInputs["fixedPrice"] = undefined /*out*/; + resourceInputs["leaseId"] = undefined /*out*/; + resourceInputs["multiAz"] = undefined /*out*/; + resourceInputs["offeringType"] = undefined /*out*/; + resourceInputs["productDescription"] = undefined /*out*/; + resourceInputs["recurringCharges"] = undefined /*out*/; + resourceInputs["startTime"] = undefined /*out*/; + resourceInputs["state"] = undefined /*out*/; + resourceInputs["usagePrice"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ReservedInstance.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ReservedInstance resources. + */ +export interface ReservedInstanceState { + /** + * ARN for the reserved DB instance. + */ + arn?: pulumi.Input; + /** + * Currency code for the reserved DB instance. + */ + currencyCode?: pulumi.Input; + dbInstanceClass?: pulumi.Input; + /** + * Duration of the reservation in seconds. + */ + duration?: pulumi.Input; + /** + * Fixed price charged for this reserved DB instance. + */ + fixedPrice?: pulumi.Input; + /** + * Number of instances to reserve. Default value is `1`. + */ + instanceCount?: pulumi.Input; + /** + * Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. + */ + leaseId?: pulumi.Input; + /** + * Whether the reservation applies to Multi-AZ deployments. + */ + multiAz?: pulumi.Input; + /** + * ID of the Reserved DB instance offering to purchase. To determine an `offeringId`, see the `aws.rds.getReservedInstanceOffering` data source. + */ + offeringId?: pulumi.Input; + /** + * Offering type of this reserved DB instance. + */ + offeringType?: pulumi.Input; + /** + * Description of the reserved DB instance. + */ + productDescription?: pulumi.Input; + /** + * Recurring price charged to run this reserved DB instance. + */ + recurringCharges?: pulumi.Input[]>; + reservationId?: pulumi.Input; + /** + * Time the reservation started. + */ + startTime?: pulumi.Input; + /** + * State of the reserved DB instance. + */ + state?: pulumi.Input; + /** + * Map of tags to assign to the DB reservation. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Hourly price charged for this reserved DB instance. + */ + usagePrice?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ReservedInstance resource. + */ +export interface ReservedInstanceArgs { + /** + * Number of instances to reserve. Default value is `1`. + */ + instanceCount?: pulumi.Input; + /** + * ID of the Reserved DB instance offering to purchase. To determine an `offeringId`, see the `aws.rds.getReservedInstanceOffering` data source. + */ + offeringId: pulumi.Input; + reservationId?: pulumi.Input; + /** + * Map of tags to assign to the DB reservation. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/s3control/index.ts b/sdk/nodejs/s3control/index.ts index b7e793bd75d..3459cce5dab 100644 --- a/sdk/nodejs/s3control/index.ts +++ b/sdk/nodejs/s3control/index.ts @@ -37,6 +37,10 @@ export { ObjectLambdaAccessPointPolicyArgs, ObjectLambdaAccessPointPolicyState } export type ObjectLambdaAccessPointPolicy = import("./objectLambdaAccessPointPolicy").ObjectLambdaAccessPointPolicy; export const ObjectLambdaAccessPointPolicy: typeof import("./objectLambdaAccessPointPolicy").ObjectLambdaAccessPointPolicy = null as any; +export { StorageLensConfigurationArgs, StorageLensConfigurationState } from "./storageLensConfiguration"; +export type StorageLensConfiguration = import("./storageLensConfiguration").StorageLensConfiguration; +export const StorageLensConfiguration: typeof import("./storageLensConfiguration").StorageLensConfiguration = null as any; + utilities.lazyLoad(exports, ["AccessPointPolicy"], () => require("./accessPointPolicy")); utilities.lazyLoad(exports, ["Bucket"], () => require("./bucket")); utilities.lazyLoad(exports, ["BucketLifecycleConfiguration"], () => require("./bucketLifecycleConfiguration")); @@ -45,6 +49,7 @@ utilities.lazyLoad(exports, ["MultiRegionAccessPoint"], () => require("./multiRe utilities.lazyLoad(exports, ["MultiRegionAccessPointPolicy"], () => require("./multiRegionAccessPointPolicy")); utilities.lazyLoad(exports, ["ObjectLambdaAccessPoint"], () => require("./objectLambdaAccessPoint")); utilities.lazyLoad(exports, ["ObjectLambdaAccessPointPolicy"], () => require("./objectLambdaAccessPointPolicy")); +utilities.lazyLoad(exports, ["StorageLensConfiguration"], () => require("./storageLensConfiguration")); const _module = { version: utilities.getVersion(), @@ -66,6 +71,8 @@ const _module = { return new ObjectLambdaAccessPoint(name, undefined, { urn }) case "aws:s3control/objectLambdaAccessPointPolicy:ObjectLambdaAccessPointPolicy": return new ObjectLambdaAccessPointPolicy(name, undefined, { urn }) + case "aws:s3control/storageLensConfiguration:StorageLensConfiguration": + return new StorageLensConfiguration(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } @@ -79,3 +86,4 @@ pulumi.runtime.registerResourceModule("aws", "s3control/multiRegionAccessPoint", pulumi.runtime.registerResourceModule("aws", "s3control/multiRegionAccessPointPolicy", _module) pulumi.runtime.registerResourceModule("aws", "s3control/objectLambdaAccessPoint", _module) pulumi.runtime.registerResourceModule("aws", "s3control/objectLambdaAccessPointPolicy", _module) +pulumi.runtime.registerResourceModule("aws", "s3control/storageLensConfiguration", _module) diff --git a/sdk/nodejs/s3control/storageLensConfiguration.ts b/sdk/nodejs/s3control/storageLensConfiguration.ts new file mode 100644 index 00000000000..5a3f41ce5fc --- /dev/null +++ b/sdk/nodejs/s3control/storageLensConfiguration.ts @@ -0,0 +1,195 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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"; + +/** + * Provides a resource to manage an S3 Storage Lens configuration. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const current = aws.getCallerIdentity({}); + * const example = new aws.s3control.StorageLensConfiguration("example", { + * configId: "example-1", + * storageLensConfiguration: { + * enabled: true, + * accountLevel: { + * activityMetrics: { + * enabled: true, + * }, + * bucketLevel: { + * activityMetrics: { + * enabled: true, + * }, + * }, + * }, + * dataExport: { + * cloudWatchMetrics: { + * enabled: true, + * }, + * s3BucketDestination: { + * accountId: current.then(current => current.accountId), + * arn: aws_s3_bucket.target.arn, + * format: "CSV", + * outputSchemaVersion: "V_1", + * encryption: { + * sseS3s: [{}], + * }, + * }, + * }, + * exclude: { + * buckets: [ + * aws_s3_bucket.b1.arn, + * aws_s3_bucket.b2.arn, + * ], + * regions: ["us-east-2"], + * }, + * }, + * }); + * ``` + * + * ## Import + * + * S3 Storage Lens configurations can be imported using the `account_id` and `config_id`, separated by a colon (`:`), e.g. + * + * ```sh + * $ pulumi import aws:s3control/storageLensConfiguration:StorageLensConfiguration example 123456789012:example-1 + * ``` + */ +export class StorageLensConfiguration extends pulumi.CustomResource { + /** + * Get an existing StorageLensConfiguration 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 state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: StorageLensConfigurationState, opts?: pulumi.CustomResourceOptions): StorageLensConfiguration { + return new StorageLensConfiguration(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:s3control/storageLensConfiguration:StorageLensConfiguration'; + + /** + * Returns true if the given object is an instance of StorageLensConfiguration. 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 StorageLensConfiguration { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === StorageLensConfiguration.__pulumiType; + } + + /** + * The account ID of the owner of the S3 Storage Lens metrics export bucket. + */ + public readonly accountId!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the bucket. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The ID of the S3 Storage Lens configuration. + */ + public readonly configId!: pulumi.Output; + /** + * The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + */ + public readonly storageLensConfiguration!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + + /** + * Create a StorageLensConfiguration 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: StorageLensConfigurationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: StorageLensConfigurationArgs | StorageLensConfigurationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as StorageLensConfigurationState | undefined; + resourceInputs["accountId"] = state ? state.accountId : undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["configId"] = state ? state.configId : undefined; + resourceInputs["storageLensConfiguration"] = state ? state.storageLensConfiguration : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + } else { + const args = argsOrState as StorageLensConfigurationArgs | undefined; + if ((!args || args.configId === undefined) && !opts.urn) { + throw new Error("Missing required property 'configId'"); + } + if ((!args || args.storageLensConfiguration === undefined) && !opts.urn) { + throw new Error("Missing required property 'storageLensConfiguration'"); + } + resourceInputs["accountId"] = args ? args.accountId : undefined; + resourceInputs["configId"] = args ? args.configId : undefined; + resourceInputs["storageLensConfiguration"] = args ? args.storageLensConfiguration : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; + resourceInputs["arn"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(StorageLensConfiguration.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering StorageLensConfiguration resources. + */ +export interface StorageLensConfigurationState { + /** + * The account ID of the owner of the S3 Storage Lens metrics export bucket. + */ + accountId?: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the bucket. + */ + arn?: pulumi.Input; + /** + * The ID of the S3 Storage Lens configuration. + */ + configId?: pulumi.Input; + /** + * The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + */ + storageLensConfiguration?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; +} + +/** + * The set of arguments for constructing a StorageLensConfiguration resource. + */ +export interface StorageLensConfigurationArgs { + /** + * The account ID of the owner of the S3 Storage Lens metrics export bucket. + */ + accountId?: pulumi.Input; + /** + * The ID of the S3 Storage Lens configuration. + */ + configId: pulumi.Input; + /** + * The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + */ + storageLensConfiguration: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/servicecatalog/product.ts b/sdk/nodejs/servicecatalog/product.ts index c2848a0bcb5..76913fa4651 100644 --- a/sdk/nodejs/servicecatalog/product.ts +++ b/sdk/nodejs/servicecatalog/product.ts @@ -15,6 +15,23 @@ import * as utilities from "../utilities"; * > A "provisioning artifact" is also referred to as a "version." A "distributor" is also referred to as a "vendor." * * ## Example Usage + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.servicecatalog.Product("example", { + * owner: "example-owner", + * provisioningArtifactParameters: { + * templateUrl: "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json", + * }, + * tags: { + * foo: "bar", + * }, + * type: "CLOUD_FORMATION_TEMPLATE", + * }); + * ``` * * ## Import * diff --git a/sdk/nodejs/ses/domainDkim.ts b/sdk/nodejs/ses/domainDkim.ts index 3f313febf1a..e5ae4a30dd4 100644 --- a/sdk/nodejs/ses/domainDkim.ts +++ b/sdk/nodejs/ses/domainDkim.ts @@ -21,10 +21,10 @@ import * as utilities from "../utilities"; * for (const range = {value: 0}; range.value < 3; range.value++) { * exampleAmazonsesDkimRecord.push(new aws.route53.Record(`exampleAmazonsesDkimRecord-${range.value}`, { * zoneId: "ABCDEFGHIJ123", - * name: exampleDomainDkim.dkimTokens[range.value].apply(dkimTokens => `${dkimTokens}._domainkey`), + * name: pulumi.interpolate`${exampleDomainDkim.dkimTokens}._domainkey`, * type: "CNAME", * ttl: 600, - * records: [exampleDomainDkim.dkimTokens[range.value].apply(dkimTokens => `${dkimTokens}.dkim.amazonses.com`)], + * records: [pulumi.interpolate`${exampleDomainDkim.dkimTokens}.dkim.amazonses.com`], * })); * } * ``` diff --git a/sdk/nodejs/sesv2/configurationSet.ts b/sdk/nodejs/sesv2/configurationSet.ts new file mode 100644 index 00000000000..79b894081b3 --- /dev/null +++ b/sdk/nodejs/sesv2/configurationSet.ts @@ -0,0 +1,216 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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"; + +/** + * ## Example Usage + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.sesv2.ConfigurationSet("example", { + * configurationSetName: "example", + * deliveryOptions: { + * tlsPolicy: "REQUIRE", + * }, + * reputationOptions: { + * reputationMetricsEnabled: false, + * }, + * sendigOptions: [{ + * sendingEnabled: true, + * }], + * suppressionOptions: { + * suppressedReasons: [ + * "BOUNCE", + * "COMPLAINT", + * ], + * }, + * trackingOptions: { + * customRedirectDomain: "example.com", + * }, + * }); + * ``` + * + * ## Import + * + * SESv2 (Simple Email V2) Configuration Set can be imported using the `configuration_set_name`, e.g., + * + * ```sh + * $ pulumi import aws:sesv2/configurationSet:ConfigurationSet example example + * ``` + */ +export class ConfigurationSet extends pulumi.CustomResource { + /** + * Get an existing ConfigurationSet 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 state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: ConfigurationSetState, opts?: pulumi.CustomResourceOptions): ConfigurationSet { + return new ConfigurationSet(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:sesv2/configurationSet:ConfigurationSet'; + + /** + * Returns true if the given object is an instance of ConfigurationSet. 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 ConfigurationSet { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ConfigurationSet.__pulumiType; + } + + /** + * ARN of the Configuration Set. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The name of the configuration set. + */ + public readonly configurationSetName!: pulumi.Output; + /** + * An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + */ + public readonly deliveryOptions!: pulumi.Output; + /** + * An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + */ + public readonly reputationOptions!: pulumi.Output; + /** + * An object that defines whether or not Amazon SES can send email that you send using the configuration set. + */ + public readonly sendingOptions!: pulumi.Output; + /** + * An object that contains information about the suppression list preferences for your account. + */ + public readonly suppressionOptions!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + /** + * An object that defines the open and click tracking options for emails that you send using the configuration set. + */ + public readonly trackingOptions!: pulumi.Output; + + /** + * Create a ConfigurationSet 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: ConfigurationSetArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ConfigurationSetArgs | ConfigurationSetState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ConfigurationSetState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["configurationSetName"] = state ? state.configurationSetName : undefined; + resourceInputs["deliveryOptions"] = state ? state.deliveryOptions : undefined; + resourceInputs["reputationOptions"] = state ? state.reputationOptions : undefined; + resourceInputs["sendingOptions"] = state ? state.sendingOptions : undefined; + resourceInputs["suppressionOptions"] = state ? state.suppressionOptions : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["trackingOptions"] = state ? state.trackingOptions : undefined; + } else { + const args = argsOrState as ConfigurationSetArgs | undefined; + if ((!args || args.configurationSetName === undefined) && !opts.urn) { + throw new Error("Missing required property 'configurationSetName'"); + } + resourceInputs["configurationSetName"] = args ? args.configurationSetName : undefined; + resourceInputs["deliveryOptions"] = args ? args.deliveryOptions : undefined; + resourceInputs["reputationOptions"] = args ? args.reputationOptions : undefined; + resourceInputs["sendingOptions"] = args ? args.sendingOptions : undefined; + resourceInputs["suppressionOptions"] = args ? args.suppressionOptions : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; + resourceInputs["trackingOptions"] = args ? args.trackingOptions : undefined; + resourceInputs["arn"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ConfigurationSet.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ConfigurationSet resources. + */ +export interface ConfigurationSetState { + /** + * ARN of the Configuration Set. + */ + arn?: pulumi.Input; + /** + * The name of the configuration set. + */ + configurationSetName?: pulumi.Input; + /** + * An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + */ + deliveryOptions?: pulumi.Input; + /** + * An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + */ + reputationOptions?: pulumi.Input; + /** + * An object that defines whether or not Amazon SES can send email that you send using the configuration set. + */ + sendingOptions?: pulumi.Input; + /** + * An object that contains information about the suppression list preferences for your account. + */ + suppressionOptions?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * An object that defines the open and click tracking options for emails that you send using the configuration set. + */ + trackingOptions?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ConfigurationSet resource. + */ +export interface ConfigurationSetArgs { + /** + * The name of the configuration set. + */ + configurationSetName: pulumi.Input; + /** + * An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + */ + deliveryOptions?: pulumi.Input; + /** + * An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + */ + reputationOptions?: pulumi.Input; + /** + * An object that defines whether or not Amazon SES can send email that you send using the configuration set. + */ + sendingOptions?: pulumi.Input; + /** + * An object that contains information about the suppression list preferences for your account. + */ + suppressionOptions?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * An object that defines the open and click tracking options for emails that you send using the configuration set. + */ + trackingOptions?: pulumi.Input; +} diff --git a/sdk/nodejs/sesv2/index.ts b/sdk/nodejs/sesv2/index.ts new file mode 100644 index 00000000000..af8a86433b1 --- /dev/null +++ b/sdk/nodejs/sesv2/index.ts @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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 { ConfigurationSetArgs, ConfigurationSetState } from "./configurationSet"; +export type ConfigurationSet = import("./configurationSet").ConfigurationSet; +export const ConfigurationSet: typeof import("./configurationSet").ConfigurationSet = null as any; + +utilities.lazyLoad(exports, ["ConfigurationSet"], () => require("./configurationSet")); + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "aws:sesv2/configurationSet:ConfigurationSet": + return new ConfigurationSet(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("aws", "sesv2/configurationSet", _module) diff --git a/sdk/nodejs/transfer/index.ts b/sdk/nodejs/transfer/index.ts index 4767f1de002..f177207153f 100644 --- a/sdk/nodejs/transfer/index.ts +++ b/sdk/nodejs/transfer/index.ts @@ -21,6 +21,10 @@ export { SshKeyArgs, SshKeyState } from "./sshKey"; export type SshKey = import("./sshKey").SshKey; export const SshKey: typeof import("./sshKey").SshKey = null as any; +export { TagArgs, TagState } from "./tag"; +export type Tag = import("./tag").Tag; +export const Tag: typeof import("./tag").Tag = null as any; + export { UserArgs, UserState } from "./user"; export type User = import("./user").User; export const User: typeof import("./user").User = null as any; @@ -33,6 +37,7 @@ utilities.lazyLoad(exports, ["Access"], () => require("./access")); utilities.lazyLoad(exports, ["getServer","getServerOutput"], () => require("./getServer")); utilities.lazyLoad(exports, ["Server"], () => require("./server")); utilities.lazyLoad(exports, ["SshKey"], () => require("./sshKey")); +utilities.lazyLoad(exports, ["Tag"], () => require("./tag")); utilities.lazyLoad(exports, ["User"], () => require("./user")); utilities.lazyLoad(exports, ["Workflow"], () => require("./workflow")); @@ -46,6 +51,8 @@ const _module = { return new Server(name, undefined, { urn }) case "aws:transfer/sshKey:SshKey": return new SshKey(name, undefined, { urn }) + case "aws:transfer/tag:Tag": + return new Tag(name, undefined, { urn }) case "aws:transfer/user:User": return new User(name, undefined, { urn }) case "aws:transfer/workflow:Workflow": @@ -58,5 +65,6 @@ const _module = { pulumi.runtime.registerResourceModule("aws", "transfer/access", _module) pulumi.runtime.registerResourceModule("aws", "transfer/server", _module) pulumi.runtime.registerResourceModule("aws", "transfer/sshKey", _module) +pulumi.runtime.registerResourceModule("aws", "transfer/tag", _module) pulumi.runtime.registerResourceModule("aws", "transfer/user", _module) pulumi.runtime.registerResourceModule("aws", "transfer/workflow", _module) diff --git a/sdk/nodejs/transfer/server.ts b/sdk/nodejs/transfer/server.ts index 1ec9a795303..b7a547023aa 100644 --- a/sdk/nodejs/transfer/server.ts +++ b/sdk/nodejs/transfer/server.ts @@ -12,6 +12,8 @@ import * as utilities from "../utilities"; * * > **NOTE on AWS IAM permissions:** If the `endpointType` is set to `VPC`, the `ec2:DescribeVpcEndpoints` and `ec2:ModifyVpcEndpoint` [actions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) are used. * + * > **NOTE:** Use the `aws.transfer.Tag` resource to manage the system tags used for [custom hostnames](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-dns.html#tag-custom-hostname-cdk). + * * ## Example Usage * ### Basic * diff --git a/sdk/nodejs/transfer/tag.ts b/sdk/nodejs/transfer/tag.ts new file mode 100644 index 00000000000..5fc89bab094 --- /dev/null +++ b/sdk/nodejs/transfer/tag.ts @@ -0,0 +1,146 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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"; + +/** + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.transfer.Server("example", {identityProviderType: "SERVICE_MANAGED"}); + * const zoneId = new aws.transfer.Tag("zoneId", { + * resourceArn: example.arn, + * key: "aws:transfer:route53HostedZoneId", + * value: "/hostedzone/MyHostedZoneId", + * }); + * const hostname = new aws.transfer.Tag("hostname", { + * resourceArn: example.arn, + * key: "aws:transfer:customHostname", + * value: "example.com", + * }); + * ``` + * + * ## Import + * + * `aws_transfer_tag` can be imported by using the Transfer Family resource identifier and key, separated by a comma (`,`), e.g., + * + * ```sh + * $ pulumi import aws:transfer/tag:Tag example arn:aws:transfer:us-east-1:123456789012:server/s-1234567890abcdef0,Name + * ``` + */ +export class Tag extends pulumi.CustomResource { + /** + * Get an existing Tag 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 state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: TagState, opts?: pulumi.CustomResourceOptions): Tag { + return new Tag(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:transfer/tag:Tag'; + + /** + * Returns true if the given object is an instance of Tag. 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 Tag { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Tag.__pulumiType; + } + + /** + * Tag name. + */ + public readonly key!: pulumi.Output; + /** + * Amazon Resource Name (ARN) of the Transfer Family resource to tag. + */ + public readonly resourceArn!: pulumi.Output; + /** + * Tag value. + */ + public readonly value!: pulumi.Output; + + /** + * Create a Tag 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: TagArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: TagArgs | TagState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as TagState | undefined; + resourceInputs["key"] = state ? state.key : undefined; + resourceInputs["resourceArn"] = state ? state.resourceArn : undefined; + resourceInputs["value"] = state ? state.value : undefined; + } else { + const args = argsOrState as TagArgs | undefined; + if ((!args || args.key === undefined) && !opts.urn) { + throw new Error("Missing required property 'key'"); + } + if ((!args || args.resourceArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceArn'"); + } + if ((!args || args.value === undefined) && !opts.urn) { + throw new Error("Missing required property 'value'"); + } + resourceInputs["key"] = args ? args.key : undefined; + resourceInputs["resourceArn"] = args ? args.resourceArn : undefined; + resourceInputs["value"] = args ? args.value : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Tag.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Tag resources. + */ +export interface TagState { + /** + * Tag name. + */ + key?: pulumi.Input; + /** + * Amazon Resource Name (ARN) of the Transfer Family resource to tag. + */ + resourceArn?: pulumi.Input; + /** + * Tag value. + */ + value?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Tag resource. + */ +export interface TagArgs { + /** + * Tag name. + */ + key: pulumi.Input; + /** + * Amazon Resource Name (ARN) of the Transfer Family resource to tag. + */ + resourceArn: pulumi.Input; + /** + * Tag value. + */ + value: pulumi.Input; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index fb80fce2eb2..bfc3648a29d 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -338,6 +338,7 @@ "codedeploy/deploymentConfig.ts", "codedeploy/deploymentGroup.ts", "codedeploy/index.ts", + "codepipeline/customActionType.ts", "codepipeline/index.ts", "codepipeline/pipeline.ts", "codepipeline/webhook.ts", @@ -365,6 +366,7 @@ "cognito/userPoolClient.ts", "cognito/userPoolDomain.ts", "cognito/userPoolUICustomization.ts", + "comprehend/documentClassifier.ts", "comprehend/entityRecognizer.ts", "comprehend/index.ts", "config/index.ts", @@ -590,6 +592,7 @@ "ec2/getVpcEndpointService.ts", "ec2/getVpcIamPool.ts", "ec2/getVpcIamPoolCidrs.ts", + "ec2/getVpcIamPools.ts", "ec2/getVpcPeeringConnection.ts", "ec2/getVpcPeeringConnections.ts", "ec2/getVpcs.ts", @@ -1007,6 +1010,7 @@ "inspector/getRulesPackages.ts", "inspector/index.ts", "inspector/resourceGroup.ts", + "inspector2/delegatedAdminAccount.ts", "inspector2/index.ts", "inspector2/organizationConfiguration.ts", "iot/authorizer.ts", @@ -1341,6 +1345,7 @@ "rds/getInstance.ts", "rds/getOrderableDbInstance.ts", "rds/getProxy.ts", + "rds/getReservedInstanceOffering.ts", "rds/getSnapshot.ts", "rds/getSubnetGroup.ts", "rds/globalCluster.ts", @@ -1354,6 +1359,7 @@ "rds/proxyDefaultTargetGroup.ts", "rds/proxyEndpoint.ts", "rds/proxyTarget.ts", + "rds/reservedInstance.ts", "rds/roleAssociation.ts", "rds/securityGroup.ts", "rds/snapshot.ts", @@ -1487,6 +1493,7 @@ "s3control/multiRegionAccessPointPolicy.ts", "s3control/objectLambdaAccessPoint.ts", "s3control/objectLambdaAccessPointPolicy.ts", + "s3control/storageLensConfiguration.ts", "s3outposts/endpoint.ts", "s3outposts/index.ts", "sagemaker/app.ts", @@ -1596,6 +1603,8 @@ "ses/receiptRule.ts", "ses/receiptRuleSet.ts", "ses/template.ts", + "sesv2/configurationSet.ts", + "sesv2/index.ts", "sfn/activity.ts", "sfn/getActivity.ts", "sfn/getStateMachine.ts", @@ -1686,6 +1695,7 @@ "transfer/index.ts", "transfer/server.ts", "transfer/sshKey.ts", + "transfer/tag.ts", "transfer/user.ts", "transfer/workflow.ts", "types/enums/alb/index.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 02d24cf970b..48f2f4c1629 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -1356,6 +1356,15 @@ export namespace alb { } } +export namespace amp { + export interface WorkspaceLoggingConfiguration { + /** + * The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. + */ + logGroupArn: pulumi.Input; + } +} + export namespace amplify { export interface AppAutoBranchCreationConfig { /** @@ -1735,7 +1744,7 @@ export namespace apigatewayv2 { export interface IntegrationResponseParameter { /** - * Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. + * Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. * See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. */ mappings: pulumi.Input<{[key: string]: pulumi.Input}>; @@ -11407,6 +11416,78 @@ export namespace codedeploy { } export namespace codepipeline { + export interface CustomActionTypeConfigurationProperty { + /** + * The description of the action configuration property. + */ + description?: pulumi.Input; + /** + * Whether the configuration property is a key. + */ + key: pulumi.Input; + /** + * The name of the action configuration property. + */ + name: pulumi.Input; + /** + * Indicates that the property will be used in conjunction with PollForJobs. + */ + queryable?: pulumi.Input; + /** + * Whether the configuration property is a required value. + */ + required: pulumi.Input; + /** + * Whether the configuration property is secret. + */ + secret: pulumi.Input; + /** + * The type of the configuration property. Valid values: `String`, `Number`, `Boolean` + */ + type?: pulumi.Input; + } + + export interface CustomActionTypeInputArtifactDetails { + /** + * The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + */ + maximumCount: pulumi.Input; + /** + * The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + */ + minimumCount: pulumi.Input; + } + + export interface CustomActionTypeOutputArtifactDetails { + /** + * The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + */ + maximumCount: pulumi.Input; + /** + * The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + */ + minimumCount: pulumi.Input; + } + + export interface CustomActionTypeSettings { + /** + * The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. + */ + entityUrlTemplate?: pulumi.Input; + /** + * The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. + */ + executionUrlTemplate?: pulumi.Input; + /** + * The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. + */ + revisionUrlTemplate?: pulumi.Input; + /** + * The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. + */ + thirdPartyConfigurationUrl?: pulumi.Input; + } + export interface PipelineArtifactStore { /** * The encryption key block AWS CodePipeline uses to encrypt the data in the artifact store, such as an AWS Key Management Service (AWS KMS) key. If you don't specify a key, AWS CodePipeline uses the default key for Amazon Simple Storage Service (Amazon S3). An `encryptionKey` block is documented below. @@ -12067,6 +12148,13 @@ export namespace cognito { enabled: pulumi.Input; } + export interface UserPoolUserAttributeUpdateSettings { + /** + * A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `autoVerifiedAttributes`. Valid values: `email`, `phoneNumber`. + */ + attributesRequireVerificationBeforeUpdates: pulumi.Input[]>; + } + export interface UserPoolUserPoolAddOns { /** * Mode for advanced security, must be one of `OFF`, `AUDIT` or `ENFORCED`. @@ -12110,6 +12198,90 @@ export namespace cognito { } export namespace comprehend { + export interface DocumentClassifierInputDataConfig { + /** + * List of training datasets produced by Amazon SageMaker Ground Truth. + * Used if `dataFormat` is `AUGMENTED_MANIFEST`. + * See the `augmentedManifests` Configuration Block section below. + */ + augmentedManifests?: pulumi.Input[]>; + /** + * The format for the training data. + * One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. + */ + dataFormat?: pulumi.Input; + /** + * Delimiter between labels when training a multi-label classifier. + * Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\`, `:`, `;`, `>`, `?`, `/`, ``, and ``. + * Default is `|`. + */ + labelDelimiter?: pulumi.Input; + /** + * Destination path for the output documents. + * The full path to the output file will be returned in `outputS3Uri`. + */ + s3Uri?: pulumi.Input; + testS3Uri?: pulumi.Input; + } + + export interface DocumentClassifierInputDataConfigAugmentedManifest { + /** + * Location of annotation files. + */ + annotationDataS3Uri?: pulumi.Input; + /** + * The JSON attribute that contains the annotations for the training documents. + */ + attributeNames: pulumi.Input[]>; + /** + * Type of augmented manifest. + * One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. + */ + documentType?: pulumi.Input; + /** + * Destination path for the output documents. + * The full path to the output file will be returned in `outputS3Uri`. + */ + s3Uri: pulumi.Input; + /** + * Location of source PDF files. + */ + sourceDocumentsS3Uri?: pulumi.Input; + /** + * Purpose of data in augmented manifest. + * One of `TRAIN` or `TEST`. + */ + split?: pulumi.Input; + } + + export interface DocumentClassifierOutputDataConfig { + /** + * KMS Key used to encrypt the output documents. + * Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. + */ + kmsKeyId?: pulumi.Input; + /** + * Full path for the output documents. + */ + outputS3Uri?: pulumi.Input; + /** + * Destination path for the output documents. + * The full path to the output file will be returned in `outputS3Uri`. + */ + s3Uri: pulumi.Input; + } + + export interface DocumentClassifierVpcConfig { + /** + * List of security group IDs. + */ + securityGroupIds: pulumi.Input[]>; + /** + * List of VPC subnets. + */ + subnets: pulumi.Input[]>; + } + export interface EntityRecognizerInputDataConfig { /** * Specifies location of the document annotation data. @@ -15716,28 +15888,28 @@ export namespace ec2 { values: pulumi.Input[]>; } - export interface GetEipsFilter { + export interface GetEipsFilterArgs { /** * Name of the field to filter by, as defined by * [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html). */ - name: string; + name: pulumi.Input; /** * Set of values that are accepted for the given field. An Elastic IP will be selected if any one of the given values matches. */ - values: string[]; + values: pulumi.Input[]>; } - export interface GetEipsFilterArgs { + export interface GetEipsFilter { /** * Name of the field to filter by, as defined by * [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html). */ - name: pulumi.Input; + name: string; /** * Set of values that are accepted for the given field. An Elastic IP will be selected if any one of the given values matches. */ - values: pulumi.Input[]>; + values: string[]; } export interface GetElasticIpFilter { @@ -15750,16 +15922,16 @@ export namespace ec2 { values: pulumi.Input[]>; } - export interface GetInstanceFilterArgs { - name: pulumi.Input; - values: pulumi.Input[]>; - } - export interface GetInstanceFilter { name: string; values: string[]; } + export interface GetInstanceFilterArgs { + name: pulumi.Input; + values: pulumi.Input[]>; + } + export interface GetInstanceTypeOfferingFilter { /** * Name of the filter. The `location` filter depends on the top-level `locationType` argument and if not specified, defaults to the current region. @@ -15932,30 +16104,30 @@ export namespace ec2 { values: pulumi.Input[]>; } - export interface GetLocalGatewayRouteTableFilterArgs { + export interface GetLocalGatewayRouteTableFilter { /** * Name of the field to filter by, as defined by * [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLocalGatewayRouteTables.html). */ - name: pulumi.Input; + name: string; /** * Set of values that are accepted for the given field. * A local gateway route table will be selected if any one of the given values matches. */ - values: pulumi.Input[]>; + values: string[]; } - export interface GetLocalGatewayRouteTableFilter { + export interface GetLocalGatewayRouteTableFilterArgs { /** * Name of the field to filter by, as defined by * [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLocalGatewayRouteTables.html). */ - name: string; + name: pulumi.Input; /** * Set of values that are accepted for the given field. * A local gateway route table will be selected if any one of the given values matches. */ - values: string[]; + values: pulumi.Input[]>; } export interface GetLocalGatewayRouteTablesFilter { @@ -16608,22 +16780,32 @@ export namespace ec2 { values: pulumi.Input[]>; } + export interface GetVpcIamPoolCidrsFilter { + name: string; + values: string[]; + } + export interface GetVpcIamPoolCidrsFilterArgs { name: pulumi.Input; values: pulumi.Input[]>; } - export interface GetVpcIamPoolCidrsFilter { + export interface GetVpcIamPoolFilterArgs { + name: pulumi.Input; + values: pulumi.Input[]>; + } + + export interface GetVpcIamPoolFilter { name: string; values: string[]; } - export interface GetVpcIamPoolFilter { + export interface GetVpcIamPoolsFilter { name: string; values: string[]; } - export interface GetVpcIamPoolFilterArgs { + export interface GetVpcIamPoolsFilterArgs { name: pulumi.Input; values: pulumi.Input[]>; } @@ -23564,7 +23746,7 @@ export namespace globalaccelerator { export interface AcceleratorIpSet { /** - * A list of IP addresses in the IP address set. + * The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. */ ipAddresses?: pulumi.Input[]>; /** @@ -25005,7 +25187,7 @@ export namespace identitystore { /** * The identifier issued to this resource by an external identity provider. */ - id?: pulumi.Input; + id?: pulumi.Input; /** * The issuer for an external identifier. */ @@ -33503,6 +33685,83 @@ export namespace opsworks { type?: pulumi.Input; } + export interface CustomLayerLoadBasedAutoScaling { + /** + * The downscaling settings, as defined below, used for load-based autoscaling + */ + downscaling?: pulumi.Input; + /** + * Whether load-based auto scaling is enabled for the layer. + */ + enable?: pulumi.Input; + /** + * The upscaling settings, as defined below, used for load-based autoscaling + */ + upscaling?: pulumi.Input; + } + + export interface CustomLayerLoadBasedAutoScalingDownscaling { + /** + * Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + */ + alarms?: pulumi.Input[]>; + /** + * The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + */ + cpuThreshold?: pulumi.Input; + /** + * The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + */ + ignoreMetricsTime?: pulumi.Input; + /** + * The number of instances to add or remove when the load exceeds a threshold. + */ + instanceCount?: pulumi.Input; + /** + * The load threshold. A value of -1 disables the threshold. + */ + loadThreshold?: pulumi.Input; + /** + * The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + */ + memoryThreshold?: pulumi.Input; + /** + * The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + */ + thresholdsWaitTime?: pulumi.Input; + } + + export interface CustomLayerLoadBasedAutoScalingUpscaling { + /** + * Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + */ + alarms?: pulumi.Input[]>; + /** + * The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + */ + cpuThreshold?: pulumi.Input; + /** + * The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + */ + ignoreMetricsTime?: pulumi.Input; + /** + * The number of instances to add or remove when the load exceeds a threshold. + */ + instanceCount?: pulumi.Input; + /** + * The load threshold. A value of -1 disables the threshold. + */ + loadThreshold?: pulumi.Input; + /** + * The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + */ + memoryThreshold?: pulumi.Input; + /** + * The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + */ + thresholdsWaitTime?: pulumi.Input; + } + export interface EcsClusterLayerCloudwatchConfiguration { enabled?: pulumi.Input; logStreams?: pulumi.Input[]>; @@ -33550,6 +33809,32 @@ export namespace opsworks { type?: pulumi.Input; } + export interface EcsClusterLayerLoadBasedAutoScaling { + downscaling?: pulumi.Input; + enable?: pulumi.Input; + upscaling?: pulumi.Input; + } + + export interface EcsClusterLayerLoadBasedAutoScalingDownscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + + export interface EcsClusterLayerLoadBasedAutoScalingUpscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + export interface GangliaLayerCloudwatchConfiguration { enabled?: pulumi.Input; logStreams?: pulumi.Input[]>; @@ -33597,6 +33882,32 @@ export namespace opsworks { type?: pulumi.Input; } + export interface GangliaLayerLoadBasedAutoScaling { + downscaling?: pulumi.Input; + enable?: pulumi.Input; + upscaling?: pulumi.Input; + } + + export interface GangliaLayerLoadBasedAutoScalingDownscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + + export interface GangliaLayerLoadBasedAutoScalingUpscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + export interface HaproxyLayerCloudwatchConfiguration { enabled?: pulumi.Input; logStreams?: pulumi.Input[]>; @@ -33644,6 +33955,32 @@ export namespace opsworks { type?: pulumi.Input; } + export interface HaproxyLayerLoadBasedAutoScaling { + downscaling?: pulumi.Input; + enable?: pulumi.Input; + upscaling?: pulumi.Input; + } + + export interface HaproxyLayerLoadBasedAutoScalingDownscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + + export interface HaproxyLayerLoadBasedAutoScalingUpscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + export interface InstanceEbsBlockDevice { deleteOnTermination?: pulumi.Input; deviceName: pulumi.Input; @@ -33712,6 +34049,32 @@ export namespace opsworks { type?: pulumi.Input; } + export interface JavaAppLayerLoadBasedAutoScaling { + downscaling?: pulumi.Input; + enable?: pulumi.Input; + upscaling?: pulumi.Input; + } + + export interface JavaAppLayerLoadBasedAutoScalingDownscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + + export interface JavaAppLayerLoadBasedAutoScalingUpscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + export interface MemcachedLayerCloudwatchConfiguration { enabled?: pulumi.Input; logStreams?: pulumi.Input[]>; @@ -33759,6 +34122,32 @@ export namespace opsworks { type?: pulumi.Input; } + export interface MemcachedLayerLoadBasedAutoScaling { + downscaling?: pulumi.Input; + enable?: pulumi.Input; + upscaling?: pulumi.Input; + } + + export interface MemcachedLayerLoadBasedAutoScalingDownscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + + export interface MemcachedLayerLoadBasedAutoScalingUpscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + export interface MysqlLayerCloudwatchConfiguration { enabled?: pulumi.Input; logStreams?: pulumi.Input[]>; @@ -33806,6 +34195,32 @@ export namespace opsworks { type?: pulumi.Input; } + export interface MysqlLayerLoadBasedAutoScaling { + downscaling?: pulumi.Input; + enable?: pulumi.Input; + upscaling?: pulumi.Input; + } + + export interface MysqlLayerLoadBasedAutoScalingDownscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + + export interface MysqlLayerLoadBasedAutoScalingUpscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + export interface NodejsAppLayerCloudwatchConfiguration { enabled?: pulumi.Input; logStreams?: pulumi.Input[]>; @@ -33853,6 +34268,32 @@ export namespace opsworks { type?: pulumi.Input; } + export interface NodejsAppLayerLoadBasedAutoScaling { + downscaling?: pulumi.Input; + enable?: pulumi.Input; + upscaling?: pulumi.Input; + } + + export interface NodejsAppLayerLoadBasedAutoScalingDownscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + + export interface NodejsAppLayerLoadBasedAutoScalingUpscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + export interface PhpAppLayerCloudwatchConfiguration { enabled?: pulumi.Input; logStreams?: pulumi.Input[]>; @@ -33900,6 +34341,32 @@ export namespace opsworks { type?: pulumi.Input; } + export interface PhpAppLayerLoadBasedAutoScaling { + downscaling?: pulumi.Input; + enable?: pulumi.Input; + upscaling?: pulumi.Input; + } + + export interface PhpAppLayerLoadBasedAutoScalingDownscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + + export interface PhpAppLayerLoadBasedAutoScalingUpscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + export interface RailsAppLayerCloudwatchConfiguration { enabled?: pulumi.Input; logStreams?: pulumi.Input[]>; @@ -33947,6 +34414,32 @@ export namespace opsworks { type?: pulumi.Input; } + export interface RailsAppLayerLoadBasedAutoScaling { + downscaling?: pulumi.Input; + enable?: pulumi.Input; + upscaling?: pulumi.Input; + } + + export interface RailsAppLayerLoadBasedAutoScalingDownscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + + export interface RailsAppLayerLoadBasedAutoScalingUpscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + export interface StackCustomCookbooksSource { /** * Password to use when authenticating to the source. The provider cannot perform drift detection of this configuration. @@ -34020,6 +34513,32 @@ export namespace opsworks { */ type?: pulumi.Input; } + + export interface StaticWebLayerLoadBasedAutoScaling { + downscaling?: pulumi.Input; + enable?: pulumi.Input; + upscaling?: pulumi.Input; + } + + export interface StaticWebLayerLoadBasedAutoScalingDownscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } + + export interface StaticWebLayerLoadBasedAutoScalingUpscaling { + alarms?: pulumi.Input[]>; + cpuThreshold?: pulumi.Input; + ignoreMetricsTime?: pulumi.Input; + instanceCount?: pulumi.Input; + loadThreshold?: pulumi.Input; + memoryThreshold?: pulumi.Input; + thresholdsWaitTime?: pulumi.Input; + } } export namespace organizations { @@ -34876,6 +35395,11 @@ export namespace rds { sessionPinningFilters?: pulumi.Input[]>; } + export interface ReservedInstanceRecurringCharge { + recurringChargeAmount?: pulumi.Input; + recurringChargeFrequency?: pulumi.Input; + } + export interface SecurityGroupIngress { /** * The CIDR block to accept @@ -34895,6 +35419,7 @@ export namespace rds { */ securityGroupOwnerId?: pulumi.Input; } + } export namespace redshift { @@ -37795,6 +38320,197 @@ export namespace s3control { */ functionPayload?: pulumi.Input; } + + export interface StorageLensConfigurationStorageLensConfiguration { + /** + * The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. + */ + accountLevel: pulumi.Input; + /** + * The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. + */ + awsOrg?: pulumi.Input; + /** + * Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. + */ + dataExport?: pulumi.Input; + /** + * Whether the S3 Storage Lens configuration is enabled. + */ + enabled: pulumi.Input; + /** + * What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. + */ + exclude?: pulumi.Input; + /** + * What is included in this configuration. Conflicts with `exclude`. See Include below for more details. + */ + include?: pulumi.Input; + } + + export interface StorageLensConfigurationStorageLensConfigurationAccountLevel { + /** + * S3 Storage Lens activity metrics. See Activity Metrics below for more details. + */ + activityMetrics?: pulumi.Input; + /** + * S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. + */ + bucketLevel: pulumi.Input; + } + + export interface StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics { + /** + * Whether the activity metrics are enabled. + */ + enabled?: pulumi.Input; + } + + export interface StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel { + /** + * S3 Storage Lens activity metrics. See Activity Metrics above for more details. + */ + activityMetrics?: pulumi.Input; + /** + * Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. + */ + prefixLevel?: pulumi.Input; + } + + export interface StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics { + /** + * Whether the activity metrics are enabled. + */ + enabled?: pulumi.Input; + } + + export interface StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel { + /** + * Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. + */ + storageMetrics: pulumi.Input; + } + + export interface StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics { + /** + * Whether prefix-level storage metrics are enabled. + */ + enabled?: pulumi.Input; + /** + * Selection criteria. See Selection Criteria below for more details. + */ + selectionCriteria?: pulumi.Input; + } + + export interface StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria { + /** + * The delimiter of the selection criteria being used. + */ + delimiter?: pulumi.Input; + /** + * The max depth of the selection criteria. + */ + maxDepth?: pulumi.Input; + /** + * The minimum number of storage bytes percentage whose metrics will be selected. + */ + minStorageBytesPercentage?: pulumi.Input; + } + + export interface StorageLensConfigurationStorageLensConfigurationAwsOrg { + /** + * The Amazon Resource Name (ARN) of the Amazon Web Services organization. + */ + arn: pulumi.Input; + } + + export interface StorageLensConfigurationStorageLensConfigurationDataExport { + /** + * Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. + */ + cloudWatchMetrics?: pulumi.Input; + /** + * The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. + */ + s3BucketDestination?: pulumi.Input; + } + + export interface StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics { + /** + * Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. + */ + enabled: pulumi.Input; + } + + export interface StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination { + /** + * The account ID of the owner of the S3 Storage Lens metrics export bucket. + */ + accountId: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the bucket. + */ + arn: pulumi.Input; + /** + * Encryption of the metrics exports in this bucket. See Encryption below for more details. + */ + encryption?: pulumi.Input; + /** + * The export format. Valid values: `CSV`, `Parquet`. + */ + format: pulumi.Input; + /** + * The schema version of the export file. Valid values: `V_1`. + */ + outputSchemaVersion: pulumi.Input; + /** + * The prefix of the destination bucket where the metrics export will be delivered. + */ + prefix?: pulumi.Input; + } + + export interface StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption { + /** + * SSE-KMS encryption. See SSE KMS below for more details. + */ + sseKms?: pulumi.Input; + /** + * SSE-S3 encryption. An empty configuration block `{}` should be used. + */ + sseS3s?: pulumi.Input[]>; + } + + export interface StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms { + /** + * KMS key ARN. + */ + keyId: pulumi.Input; + } + + export interface StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3 { + } + + export interface StorageLensConfigurationStorageLensConfigurationExclude { + /** + * List of S3 bucket ARNs. + */ + buckets?: pulumi.Input[]>; + /** + * List of AWS Regions. + */ + regions?: pulumi.Input[]>; + } + + export interface StorageLensConfigurationStorageLensConfigurationInclude { + /** + * List of S3 bucket ARNs. + */ + buckets?: pulumi.Input[]>; + /** + * List of AWS Regions. + */ + regions?: pulumi.Input[]>; + } } export namespace s3outposts { @@ -40753,6 +41469,51 @@ export namespace ses { } } +export namespace sesv2 { + export interface ConfigurationSetDeliveryOptions { + /** + * The name of the dedicated IP pool to associate with the configuration set. + */ + sendingPoolName?: pulumi.Input; + /** + * Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. + */ + tlsPolicy?: pulumi.Input; + } + + export interface ConfigurationSetReputationOptions { + /** + * The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. + */ + lastFreshStart?: pulumi.Input; + /** + * If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. + */ + reputationMetricsEnabled?: pulumi.Input; + } + + export interface ConfigurationSetSendingOptions { + /** + * If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. + */ + sendingEnabled?: pulumi.Input; + } + + export interface ConfigurationSetSuppressionOptions { + /** + * A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + */ + suppressedReasons?: pulumi.Input[]>; + } + + export interface ConfigurationSetTrackingOptions { + /** + * The domain to use for tracking open and click events. + */ + customRedirectDomain: pulumi.Input; + } +} + export namespace sfn { export interface StateMachineLoggingConfiguration { /** diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 7ea4c8d91a8..53aba332f38 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -990,6 +990,16 @@ export namespace alb { } +export namespace amp { + export interface WorkspaceLoggingConfiguration { + /** + * The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. + */ + logGroupArn: string; + } + +} + export namespace amplify { export interface AppAutoBranchCreationConfig { /** @@ -1410,7 +1420,7 @@ export namespace apigatewayv2 { export interface IntegrationResponseParameter { /** - * Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. + * Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. * See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. */ mappings: {[key: string]: string}; @@ -11701,6 +11711,78 @@ export namespace codedeploy { } export namespace codepipeline { + export interface CustomActionTypeConfigurationProperty { + /** + * The description of the action configuration property. + */ + description?: string; + /** + * Whether the configuration property is a key. + */ + key: boolean; + /** + * The name of the action configuration property. + */ + name: string; + /** + * Indicates that the property will be used in conjunction with PollForJobs. + */ + queryable?: boolean; + /** + * Whether the configuration property is a required value. + */ + required: boolean; + /** + * Whether the configuration property is secret. + */ + secret: boolean; + /** + * The type of the configuration property. Valid values: `String`, `Number`, `Boolean` + */ + type?: string; + } + + export interface CustomActionTypeInputArtifactDetails { + /** + * The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + */ + maximumCount: number; + /** + * The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + */ + minimumCount: number; + } + + export interface CustomActionTypeOutputArtifactDetails { + /** + * The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + */ + maximumCount: number; + /** + * The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + */ + minimumCount: number; + } + + export interface CustomActionTypeSettings { + /** + * The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. + */ + entityUrlTemplate?: string; + /** + * The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. + */ + executionUrlTemplate?: string; + /** + * The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. + */ + revisionUrlTemplate?: string; + /** + * The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. + */ + thirdPartyConfigurationUrl?: string; + } + export interface PipelineArtifactStore { /** * The encryption key block AWS CodePipeline uses to encrypt the data in the artifact store, such as an AWS Key Management Service (AWS KMS) key. If you don't specify a key, AWS CodePipeline uses the default key for Amazon Simple Storage Service (Amazon S3). An `encryptionKey` block is documented below. @@ -12400,6 +12482,13 @@ export namespace cognito { enabled: boolean; } + export interface UserPoolUserAttributeUpdateSettings { + /** + * A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `autoVerifiedAttributes`. Valid values: `email`, `phoneNumber`. + */ + attributesRequireVerificationBeforeUpdates: string[]; + } + export interface UserPoolUserPoolAddOns { /** * Mode for advanced security, must be one of `OFF`, `AUDIT` or `ENFORCED`. @@ -12444,6 +12533,90 @@ export namespace cognito { } export namespace comprehend { + export interface DocumentClassifierInputDataConfig { + /** + * List of training datasets produced by Amazon SageMaker Ground Truth. + * Used if `dataFormat` is `AUGMENTED_MANIFEST`. + * See the `augmentedManifests` Configuration Block section below. + */ + augmentedManifests?: outputs.comprehend.DocumentClassifierInputDataConfigAugmentedManifest[]; + /** + * The format for the training data. + * One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. + */ + dataFormat?: string; + /** + * Delimiter between labels when training a multi-label classifier. + * Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\`, `:`, `;`, `>`, `?`, `/`, ``, and ``. + * Default is `|`. + */ + labelDelimiter: string; + /** + * Destination path for the output documents. + * The full path to the output file will be returned in `outputS3Uri`. + */ + s3Uri?: string; + testS3Uri?: string; + } + + export interface DocumentClassifierInputDataConfigAugmentedManifest { + /** + * Location of annotation files. + */ + annotationDataS3Uri?: string; + /** + * The JSON attribute that contains the annotations for the training documents. + */ + attributeNames: string[]; + /** + * Type of augmented manifest. + * One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. + */ + documentType?: string; + /** + * Destination path for the output documents. + * The full path to the output file will be returned in `outputS3Uri`. + */ + s3Uri: string; + /** + * Location of source PDF files. + */ + sourceDocumentsS3Uri?: string; + /** + * Purpose of data in augmented manifest. + * One of `TRAIN` or `TEST`. + */ + split?: string; + } + + export interface DocumentClassifierOutputDataConfig { + /** + * KMS Key used to encrypt the output documents. + * Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. + */ + kmsKeyId?: string; + /** + * Full path for the output documents. + */ + outputS3Uri: string; + /** + * Destination path for the output documents. + * The full path to the output file will be returned in `outputS3Uri`. + */ + s3Uri: string; + } + + export interface DocumentClassifierVpcConfig { + /** + * List of security group IDs. + */ + securityGroupIds: string[]; + /** + * List of VPC subnets. + */ + subnets: string[]; + } + export interface EntityRecognizerInputDataConfig { /** * Specifies location of the document annotation data. @@ -18858,6 +19031,78 @@ export namespace ec2 { values: string[]; } + export interface GetVpcIamPoolsFilter { + name: string; + values: string[]; + } + + export interface GetVpcIamPoolsIpamPool { + /** + * IP protocol assigned to this pool. + */ + addressFamily: string; + /** + * A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. + */ + allocationDefaultNetmaskLength: number; + /** + * The maximum netmask length that will be required for CIDR allocations in this pool. + */ + allocationMaxNetmaskLength: number; + /** + * The minimum netmask length that will be required for CIDR allocations in this pool. + */ + allocationMinNetmaskLength: number; + /** + * Tags that are required to create resources in using this pool. + */ + allocationResourceTags: {[key: string]: string}; + /** + * ARN of the pool + */ + arn: string; + /** + * If enabled, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. + */ + autoImport: boolean; + /** + * Limits which service in AWS that the pool can be used in. "ec2", for example, allows users to use space for Elastic IP addresses and VPCs. + */ + awsService: string; + /** + * Description for the IPAM pool. + */ + description: string; + /** + * ID of the IPAM pool. + */ + id?: string; + ipamPoolId: string; + /** + * ID of the scope the pool belongs to. + */ + ipamScopeId: string; + ipamScopeType: string; + /** + * Locale is the Region where your pool is available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region. + */ + locale: string; + poolDepth: number; + /** + * Defines whether or not IPv6 pool space is publicly ∂advertisable over the internet. + */ + publiclyAdvertisable: boolean; + /** + * ID of the source IPAM pool. + */ + sourceIpamPoolId: string; + state: string; + /** + * Map of tags to assigned to the resource. + */ + tags: {[key: string]: string}; + } + export interface GetVpcPeeringConnectionCidrBlockSet { /** * Primary CIDR block of the requester VPC of the specific VPC Peering Connection to retrieve. @@ -26318,7 +26563,7 @@ export namespace globalaccelerator { export interface AcceleratorIpSet { /** - * A list of IP addresses in the IP address set. + * The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. */ ipAddresses: string[]; /** @@ -27630,7 +27875,7 @@ export namespace identitystore { /** * The identifier issued to this resource by an external identity provider. */ - id: boolean; + id: string; /** * The issuer for an external identifier. */ @@ -27755,7 +28000,7 @@ export namespace identitystore { /** * The identifier issued to this resource by an external identity provider. */ - id: boolean; + id: string; /** * The issuer for an external identifier. */ @@ -37437,6 +37682,83 @@ export namespace opsworks { type?: string; } + export interface CustomLayerLoadBasedAutoScaling { + /** + * The downscaling settings, as defined below, used for load-based autoscaling + */ + downscaling: outputs.opsworks.CustomLayerLoadBasedAutoScalingDownscaling; + /** + * Whether load-based auto scaling is enabled for the layer. + */ + enable?: boolean; + /** + * The upscaling settings, as defined below, used for load-based autoscaling + */ + upscaling: outputs.opsworks.CustomLayerLoadBasedAutoScalingUpscaling; + } + + export interface CustomLayerLoadBasedAutoScalingDownscaling { + /** + * Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + */ + alarms?: string[]; + /** + * The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + */ + cpuThreshold?: number; + /** + * The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + */ + ignoreMetricsTime?: number; + /** + * The number of instances to add or remove when the load exceeds a threshold. + */ + instanceCount?: number; + /** + * The load threshold. A value of -1 disables the threshold. + */ + loadThreshold?: number; + /** + * The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + */ + memoryThreshold?: number; + /** + * The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + */ + thresholdsWaitTime?: number; + } + + export interface CustomLayerLoadBasedAutoScalingUpscaling { + /** + * Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + */ + alarms?: string[]; + /** + * The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + */ + cpuThreshold?: number; + /** + * The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + */ + ignoreMetricsTime?: number; + /** + * The number of instances to add or remove when the load exceeds a threshold. + */ + instanceCount?: number; + /** + * The load threshold. A value of -1 disables the threshold. + */ + loadThreshold?: number; + /** + * The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + */ + memoryThreshold?: number; + /** + * The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + */ + thresholdsWaitTime?: number; + } + export interface EcsClusterLayerCloudwatchConfiguration { enabled?: boolean; logStreams?: outputs.opsworks.EcsClusterLayerCloudwatchConfigurationLogStream[]; @@ -37484,6 +37806,32 @@ export namespace opsworks { type?: string; } + export interface EcsClusterLayerLoadBasedAutoScaling { + downscaling: outputs.opsworks.EcsClusterLayerLoadBasedAutoScalingDownscaling; + enable?: boolean; + upscaling: outputs.opsworks.EcsClusterLayerLoadBasedAutoScalingUpscaling; + } + + export interface EcsClusterLayerLoadBasedAutoScalingDownscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + + export interface EcsClusterLayerLoadBasedAutoScalingUpscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + export interface GangliaLayerCloudwatchConfiguration { enabled?: boolean; logStreams?: outputs.opsworks.GangliaLayerCloudwatchConfigurationLogStream[]; @@ -37531,6 +37879,32 @@ export namespace opsworks { type?: string; } + export interface GangliaLayerLoadBasedAutoScaling { + downscaling: outputs.opsworks.GangliaLayerLoadBasedAutoScalingDownscaling; + enable?: boolean; + upscaling: outputs.opsworks.GangliaLayerLoadBasedAutoScalingUpscaling; + } + + export interface GangliaLayerLoadBasedAutoScalingDownscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + + export interface GangliaLayerLoadBasedAutoScalingUpscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + export interface HaproxyLayerCloudwatchConfiguration { enabled?: boolean; logStreams?: outputs.opsworks.HaproxyLayerCloudwatchConfigurationLogStream[]; @@ -37578,6 +37952,32 @@ export namespace opsworks { type?: string; } + export interface HaproxyLayerLoadBasedAutoScaling { + downscaling: outputs.opsworks.HaproxyLayerLoadBasedAutoScalingDownscaling; + enable?: boolean; + upscaling: outputs.opsworks.HaproxyLayerLoadBasedAutoScalingUpscaling; + } + + export interface HaproxyLayerLoadBasedAutoScalingDownscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + + export interface HaproxyLayerLoadBasedAutoScalingUpscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + export interface InstanceEbsBlockDevice { deleteOnTermination?: boolean; deviceName: string; @@ -37646,6 +38046,32 @@ export namespace opsworks { type?: string; } + export interface JavaAppLayerLoadBasedAutoScaling { + downscaling: outputs.opsworks.JavaAppLayerLoadBasedAutoScalingDownscaling; + enable?: boolean; + upscaling: outputs.opsworks.JavaAppLayerLoadBasedAutoScalingUpscaling; + } + + export interface JavaAppLayerLoadBasedAutoScalingDownscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + + export interface JavaAppLayerLoadBasedAutoScalingUpscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + export interface MemcachedLayerCloudwatchConfiguration { enabled?: boolean; logStreams?: outputs.opsworks.MemcachedLayerCloudwatchConfigurationLogStream[]; @@ -37693,6 +38119,32 @@ export namespace opsworks { type?: string; } + export interface MemcachedLayerLoadBasedAutoScaling { + downscaling: outputs.opsworks.MemcachedLayerLoadBasedAutoScalingDownscaling; + enable?: boolean; + upscaling: outputs.opsworks.MemcachedLayerLoadBasedAutoScalingUpscaling; + } + + export interface MemcachedLayerLoadBasedAutoScalingDownscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + + export interface MemcachedLayerLoadBasedAutoScalingUpscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + export interface MysqlLayerCloudwatchConfiguration { enabled?: boolean; logStreams?: outputs.opsworks.MysqlLayerCloudwatchConfigurationLogStream[]; @@ -37740,6 +38192,32 @@ export namespace opsworks { type?: string; } + export interface MysqlLayerLoadBasedAutoScaling { + downscaling: outputs.opsworks.MysqlLayerLoadBasedAutoScalingDownscaling; + enable?: boolean; + upscaling: outputs.opsworks.MysqlLayerLoadBasedAutoScalingUpscaling; + } + + export interface MysqlLayerLoadBasedAutoScalingDownscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + + export interface MysqlLayerLoadBasedAutoScalingUpscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + export interface NodejsAppLayerCloudwatchConfiguration { enabled?: boolean; logStreams?: outputs.opsworks.NodejsAppLayerCloudwatchConfigurationLogStream[]; @@ -37787,6 +38265,32 @@ export namespace opsworks { type?: string; } + export interface NodejsAppLayerLoadBasedAutoScaling { + downscaling: outputs.opsworks.NodejsAppLayerLoadBasedAutoScalingDownscaling; + enable?: boolean; + upscaling: outputs.opsworks.NodejsAppLayerLoadBasedAutoScalingUpscaling; + } + + export interface NodejsAppLayerLoadBasedAutoScalingDownscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + + export interface NodejsAppLayerLoadBasedAutoScalingUpscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + export interface PhpAppLayerCloudwatchConfiguration { enabled?: boolean; logStreams?: outputs.opsworks.PhpAppLayerCloudwatchConfigurationLogStream[]; @@ -37834,6 +38338,32 @@ export namespace opsworks { type?: string; } + export interface PhpAppLayerLoadBasedAutoScaling { + downscaling: outputs.opsworks.PhpAppLayerLoadBasedAutoScalingDownscaling; + enable?: boolean; + upscaling: outputs.opsworks.PhpAppLayerLoadBasedAutoScalingUpscaling; + } + + export interface PhpAppLayerLoadBasedAutoScalingDownscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + + export interface PhpAppLayerLoadBasedAutoScalingUpscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + export interface RailsAppLayerCloudwatchConfiguration { enabled?: boolean; logStreams?: outputs.opsworks.RailsAppLayerCloudwatchConfigurationLogStream[]; @@ -37881,6 +38411,32 @@ export namespace opsworks { type?: string; } + export interface RailsAppLayerLoadBasedAutoScaling { + downscaling: outputs.opsworks.RailsAppLayerLoadBasedAutoScalingDownscaling; + enable?: boolean; + upscaling: outputs.opsworks.RailsAppLayerLoadBasedAutoScalingUpscaling; + } + + export interface RailsAppLayerLoadBasedAutoScalingDownscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + + export interface RailsAppLayerLoadBasedAutoScalingUpscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + export interface StackCustomCookbooksSource { /** * Password to use when authenticating to the source. The provider cannot perform drift detection of this configuration. @@ -37955,6 +38511,32 @@ export namespace opsworks { type?: string; } + export interface StaticWebLayerLoadBasedAutoScaling { + downscaling: outputs.opsworks.StaticWebLayerLoadBasedAutoScalingDownscaling; + enable?: boolean; + upscaling: outputs.opsworks.StaticWebLayerLoadBasedAutoScalingUpscaling; + } + + export interface StaticWebLayerLoadBasedAutoScalingDownscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + + export interface StaticWebLayerLoadBasedAutoScalingUpscaling { + alarms?: string[]; + cpuThreshold?: number; + ignoreMetricsTime?: number; + instanceCount?: number; + loadThreshold?: number; + memoryThreshold?: number; + thresholdsWaitTime?: number; + } + } export namespace organizations { @@ -38930,6 +39512,11 @@ export namespace rds { sessionPinningFilters?: string[]; } + export interface ReservedInstanceRecurringCharge { + recurringChargeAmount: number; + recurringChargeFrequency: string; + } + export interface SecurityGroupIngress { /** * The CIDR block to accept @@ -38949,7 +39536,6 @@ export namespace rds { */ securityGroupOwnerId: string; } - } export namespace redshift { @@ -41690,6 +42276,197 @@ export namespace s3control { functionPayload?: string; } + export interface StorageLensConfigurationStorageLensConfiguration { + /** + * The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. + */ + accountLevel: outputs.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevel; + /** + * The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. + */ + awsOrg?: outputs.s3control.StorageLensConfigurationStorageLensConfigurationAwsOrg; + /** + * Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. + */ + dataExport?: outputs.s3control.StorageLensConfigurationStorageLensConfigurationDataExport; + /** + * Whether the S3 Storage Lens configuration is enabled. + */ + enabled: boolean; + /** + * What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. + */ + exclude?: outputs.s3control.StorageLensConfigurationStorageLensConfigurationExclude; + /** + * What is included in this configuration. Conflicts with `exclude`. See Include below for more details. + */ + include?: outputs.s3control.StorageLensConfigurationStorageLensConfigurationInclude; + } + + export interface StorageLensConfigurationStorageLensConfigurationAccountLevel { + /** + * S3 Storage Lens activity metrics. See Activity Metrics below for more details. + */ + activityMetrics?: outputs.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics; + /** + * S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. + */ + bucketLevel: outputs.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel; + } + + export interface StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics { + /** + * Whether the activity metrics are enabled. + */ + enabled?: boolean; + } + + export interface StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel { + /** + * S3 Storage Lens activity metrics. See Activity Metrics above for more details. + */ + activityMetrics?: outputs.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics; + /** + * Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. + */ + prefixLevel?: outputs.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel; + } + + export interface StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics { + /** + * Whether the activity metrics are enabled. + */ + enabled?: boolean; + } + + export interface StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel { + /** + * Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. + */ + storageMetrics: outputs.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics; + } + + export interface StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics { + /** + * Whether prefix-level storage metrics are enabled. + */ + enabled?: boolean; + /** + * Selection criteria. See Selection Criteria below for more details. + */ + selectionCriteria?: outputs.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria; + } + + export interface StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria { + /** + * The delimiter of the selection criteria being used. + */ + delimiter?: string; + /** + * The max depth of the selection criteria. + */ + maxDepth?: number; + /** + * The minimum number of storage bytes percentage whose metrics will be selected. + */ + minStorageBytesPercentage?: number; + } + + export interface StorageLensConfigurationStorageLensConfigurationAwsOrg { + /** + * The Amazon Resource Name (ARN) of the Amazon Web Services organization. + */ + arn: string; + } + + export interface StorageLensConfigurationStorageLensConfigurationDataExport { + /** + * Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. + */ + cloudWatchMetrics?: outputs.s3control.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics; + /** + * The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. + */ + s3BucketDestination?: outputs.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination; + } + + export interface StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics { + /** + * Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. + */ + enabled: boolean; + } + + export interface StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination { + /** + * The account ID of the owner of the S3 Storage Lens metrics export bucket. + */ + accountId: string; + /** + * The Amazon Resource Name (ARN) of the bucket. + */ + arn: string; + /** + * Encryption of the metrics exports in this bucket. See Encryption below for more details. + */ + encryption?: outputs.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption; + /** + * The export format. Valid values: `CSV`, `Parquet`. + */ + format: string; + /** + * The schema version of the export file. Valid values: `V_1`. + */ + outputSchemaVersion: string; + /** + * The prefix of the destination bucket where the metrics export will be delivered. + */ + prefix?: string; + } + + export interface StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption { + /** + * SSE-KMS encryption. See SSE KMS below for more details. + */ + sseKms?: outputs.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms; + /** + * SSE-S3 encryption. An empty configuration block `{}` should be used. + */ + sseS3s?: outputs.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3[]; + } + + export interface StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms { + /** + * KMS key ARN. + */ + keyId: string; + } + + export interface StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3 { + } + + export interface StorageLensConfigurationStorageLensConfigurationExclude { + /** + * List of S3 bucket ARNs. + */ + buckets?: string[]; + /** + * List of AWS Regions. + */ + regions?: string[]; + } + + export interface StorageLensConfigurationStorageLensConfigurationInclude { + /** + * List of S3 bucket ARNs. + */ + buckets?: string[]; + /** + * List of AWS Regions. + */ + regions?: string[]; + } + } export namespace s3outposts { @@ -44752,6 +45529,52 @@ export namespace ses { } +export namespace sesv2 { + export interface ConfigurationSetDeliveryOptions { + /** + * The name of the dedicated IP pool to associate with the configuration set. + */ + sendingPoolName?: string; + /** + * Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. + */ + tlsPolicy?: string; + } + + export interface ConfigurationSetReputationOptions { + /** + * The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. + */ + lastFreshStart: string; + /** + * If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. + */ + reputationMetricsEnabled: boolean; + } + + export interface ConfigurationSetSendingOptions { + /** + * If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. + */ + sendingEnabled: boolean; + } + + export interface ConfigurationSetSuppressionOptions { + /** + * A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + */ + suppressedReasons?: string[]; + } + + export interface ConfigurationSetTrackingOptions { + /** + * The domain to use for tracking open and click events. + */ + customRedirectDomain: string; + } + +} + export namespace sfn { export interface StateMachineLoggingConfiguration { /** diff --git a/sdk/nodejs/waf/getSubscribedRuleGroup.ts b/sdk/nodejs/waf/getSubscribedRuleGroup.ts index 2499c38c46c..246cb78a7d3 100644 --- a/sdk/nodejs/waf/getSubscribedRuleGroup.ts +++ b/sdk/nodejs/waf/getSubscribedRuleGroup.ts @@ -13,26 +13,25 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * - * const byName = pulumi.output(aws.waf.getSubscribedRuleGroup({ + * const byName = aws.waf.getSubscribedRuleGroup({ * name: "F5 Bot Detection Signatures For AWS WAF", - * })); - * const byMetricName = pulumi.output(aws.waf.getSubscribedRuleGroup({ + * }); + * const byMetricName = aws.waf.getSubscribedRuleGroup({ * metricName: "F5BotDetectionSignatures", - * })); - * const acl = new aws.waf.WebAcl("acl", { - * rules: [ - * { - * priority: 1, - * ruleId: byName.id, - * type: "GROUP", - * }, - * { - * priority: 2, - * ruleId: byMetricName.id, - * type: "GROUP", - * }, - * ], * }); + * // ... + * const acl = new aws.waf.WebAcl("acl", {rules: [ + * { + * priority: 1, + * ruleId: byName.then(byName => byName.id), + * type: "GROUP", + * }, + * { + * priority: 2, + * ruleId: byMetricName.then(byMetricName => byMetricName.id), + * type: "GROUP", + * }, + * ]}); * ``` */ export function getSubscribedRuleGroup(args?: GetSubscribedRuleGroupArgs, opts?: pulumi.InvokeOptions): Promise { diff --git a/sdk/nodejs/wafregional/getSubscribedRuleGroup.ts b/sdk/nodejs/wafregional/getSubscribedRuleGroup.ts index 7ae23099243..d62da608641 100644 --- a/sdk/nodejs/wafregional/getSubscribedRuleGroup.ts +++ b/sdk/nodejs/wafregional/getSubscribedRuleGroup.ts @@ -13,26 +13,25 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * - * const byName = pulumi.output(aws.wafregional.getSubscribedRuleGroup({ + * const byName = aws.wafregional.getSubscribedRuleGroup({ * name: "F5 Bot Detection Signatures For AWS WAF", - * })); - * const byMetricName = pulumi.output(aws.wafregional.getSubscribedRuleGroup({ + * }); + * const byMetricName = aws.wafregional.getSubscribedRuleGroup({ * metricName: "F5BotDetectionSignatures", - * })); - * const acl = new aws.wafregional.WebAcl("acl", { - * rules: [ - * { - * priority: 1, - * ruleId: byName.id, - * type: "GROUP", - * }, - * { - * priority: 2, - * ruleId: byMetricName.id, - * type: "GROUP", - * }, - * ], * }); + * // ... + * const acl = new aws.wafregional.WebAcl("acl", {rules: [ + * { + * priority: 1, + * ruleId: byName.then(byName => byName.id), + * type: "GROUP", + * }, + * { + * priority: 2, + * ruleId: byMetricName.then(byMetricName => byMetricName.id), + * type: "GROUP", + * }, + * ]}); * ``` */ export function getSubscribedRuleGroup(args?: GetSubscribedRuleGroupArgs, opts?: pulumi.InvokeOptions): Promise { diff --git a/sdk/python/pulumi_aws/__init__.py b/sdk/python/pulumi_aws/__init__.py index 564c5410e31..8cc0424af5b 100644 --- a/sdk/python/pulumi_aws/__init__.py +++ b/sdk/python/pulumi_aws/__init__.py @@ -335,6 +335,8 @@ servicequotas = __servicequotas import pulumi_aws.ses as __ses ses = __ses + import pulumi_aws.sesv2 as __sesv2 + sesv2 = __sesv2 import pulumi_aws.sfn as __sfn sfn = __sfn import pulumi_aws.shield as __shield @@ -529,6 +531,7 @@ servicediscovery = _utilities.lazy_import('pulumi_aws.servicediscovery') servicequotas = _utilities.lazy_import('pulumi_aws.servicequotas') ses = _utilities.lazy_import('pulumi_aws.ses') + sesv2 = _utilities.lazy_import('pulumi_aws.sesv2') sfn = _utilities.lazy_import('pulumi_aws.sfn') shield = _utilities.lazy_import('pulumi_aws.shield') signer = _utilities.lazy_import('pulumi_aws.signer') @@ -2273,6 +2276,14 @@ "aws:codedeploy/deploymentGroup:DeploymentGroup": "DeploymentGroup" } }, + { + "pkg": "aws", + "mod": "codepipeline/customActionType", + "fqn": "pulumi_aws.codepipeline", + "classes": { + "aws:codepipeline/customActionType:CustomActionType": "CustomActionType" + } + }, { "pkg": "aws", "mod": "codepipeline/pipeline", @@ -2417,6 +2428,14 @@ "aws:cognito/userPoolUICustomization:UserPoolUICustomization": "UserPoolUICustomization" } }, + { + "pkg": "aws", + "mod": "comprehend/documentClassifier", + "fqn": "pulumi_aws.comprehend", + "classes": { + "aws:comprehend/documentClassifier:DocumentClassifier": "DocumentClassifier" + } + }, { "pkg": "aws", "mod": "comprehend/entityRecognizer", @@ -5489,6 +5508,14 @@ "aws:inspector/resourceGroup:ResourceGroup": "ResourceGroup" } }, + { + "pkg": "aws", + "mod": "inspector2/delegatedAdminAccount", + "fqn": "pulumi_aws.inspector2", + "classes": { + "aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount": "DelegatedAdminAccount" + } + }, { "pkg": "aws", "mod": "inspector2/organizationConfiguration", @@ -7129,6 +7156,14 @@ "aws:rds/proxyTarget:ProxyTarget": "ProxyTarget" } }, + { + "pkg": "aws", + "mod": "rds/reservedInstance", + "fqn": "pulumi_aws.rds", + "classes": { + "aws:rds/reservedInstance:ReservedInstance": "ReservedInstance" + } + }, { "pkg": "aws", "mod": "rds/roleAssociation", @@ -7881,6 +7916,14 @@ "aws:s3control/objectLambdaAccessPointPolicy:ObjectLambdaAccessPointPolicy": "ObjectLambdaAccessPointPolicy" } }, + { + "pkg": "aws", + "mod": "s3control/storageLensConfiguration", + "fqn": "pulumi_aws.s3control", + "classes": { + "aws:s3control/storageLensConfiguration:StorageLensConfiguration": "StorageLensConfiguration" + } + }, { "pkg": "aws", "mod": "s3outposts/endpoint", @@ -8497,6 +8540,14 @@ "aws:ses/template:Template": "Template" } }, + { + "pkg": "aws", + "mod": "sesv2/configurationSet", + "fqn": "pulumi_aws.sesv2", + "classes": { + "aws:sesv2/configurationSet:ConfigurationSet": "ConfigurationSet" + } + }, { "pkg": "aws", "mod": "sfn/activity", @@ -8937,6 +8988,14 @@ "aws:transfer/sshKey:SshKey": "SshKey" } }, + { + "pkg": "aws", + "mod": "transfer/tag", + "fqn": "pulumi_aws.transfer", + "classes": { + "aws:transfer/tag:Tag": "Tag" + } + }, { "pkg": "aws", "mod": "transfer/user", diff --git a/sdk/python/pulumi_aws/amp/__init__.py b/sdk/python/pulumi_aws/amp/__init__.py index 0584bfc03b9..388e6908a4f 100644 --- a/sdk/python/pulumi_aws/amp/__init__.py +++ b/sdk/python/pulumi_aws/amp/__init__.py @@ -9,3 +9,5 @@ from .get_workspace import * from .rule_group_namespace import * from .workspace import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_aws/amp/_inputs.py b/sdk/python/pulumi_aws/amp/_inputs.py new file mode 100644 index 00000000000..f6cbeefbb3d --- /dev/null +++ b/sdk/python/pulumi_aws/amp/_inputs.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'WorkspaceLoggingConfigurationArgs', +] + +@pulumi.input_type +class WorkspaceLoggingConfigurationArgs: + def __init__(__self__, *, + log_group_arn: pulumi.Input[str]): + """ + :param pulumi.Input[str] log_group_arn: The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. + """ + pulumi.set(__self__, "log_group_arn", log_group_arn) + + @property + @pulumi.getter(name="logGroupArn") + def log_group_arn(self) -> pulumi.Input[str]: + """ + The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. + """ + return pulumi.get(self, "log_group_arn") + + @log_group_arn.setter + def log_group_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "log_group_arn", value) + + diff --git a/sdk/python/pulumi_aws/amp/outputs.py b/sdk/python/pulumi_aws/amp/outputs.py new file mode 100644 index 00000000000..cb6637e671c --- /dev/null +++ b/sdk/python/pulumi_aws/amp/outputs.py @@ -0,0 +1,50 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'WorkspaceLoggingConfiguration', +] + +@pulumi.output_type +class WorkspaceLoggingConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "logGroupArn": + suggest = "log_group_arn" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkspaceLoggingConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkspaceLoggingConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkspaceLoggingConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + log_group_arn: str): + """ + :param str log_group_arn: The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. + """ + pulumi.set(__self__, "log_group_arn", log_group_arn) + + @property + @pulumi.getter(name="logGroupArn") + def log_group_arn(self) -> str: + """ + The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist. + """ + return pulumi.get(self, "log_group_arn") + + diff --git a/sdk/python/pulumi_aws/amp/workspace.py b/sdk/python/pulumi_aws/amp/workspace.py index 41aceb4a2d7..11683a0d35f 100644 --- a/sdk/python/pulumi_aws/amp/workspace.py +++ b/sdk/python/pulumi_aws/amp/workspace.py @@ -8,6 +8,8 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities +from . import outputs +from ._inputs import * __all__ = ['WorkspaceArgs', 'Workspace'] @@ -15,14 +17,18 @@ class WorkspaceArgs: def __init__(__self__, *, alias: Optional[pulumi.Input[str]] = None, + logging_configuration: Optional[pulumi.Input['WorkspaceLoggingConfigurationArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a Workspace resource. :param pulumi.Input[str] alias: The alias of the prometheus workspace. See more [in AWS Docs](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-onboard-create-workspace.html). + :param pulumi.Input['WorkspaceLoggingConfigurationArgs'] logging_configuration: Logging configuration for the workspace. See Logging Configuration below for details. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ if alias is not None: pulumi.set(__self__, "alias", alias) + if logging_configuration is not None: + pulumi.set(__self__, "logging_configuration", logging_configuration) if tags is not None: pulumi.set(__self__, "tags", tags) @@ -38,6 +44,18 @@ def alias(self) -> Optional[pulumi.Input[str]]: def alias(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "alias", value) + @property + @pulumi.getter(name="loggingConfiguration") + def logging_configuration(self) -> Optional[pulumi.Input['WorkspaceLoggingConfigurationArgs']]: + """ + Logging configuration for the workspace. See Logging Configuration below for details. + """ + return pulumi.get(self, "logging_configuration") + + @logging_configuration.setter + def logging_configuration(self, value: Optional[pulumi.Input['WorkspaceLoggingConfigurationArgs']]): + pulumi.set(self, "logging_configuration", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -56,6 +74,7 @@ class _WorkspaceState: def __init__(__self__, *, alias: Optional[pulumi.Input[str]] = None, arn: Optional[pulumi.Input[str]] = None, + logging_configuration: Optional[pulumi.Input['WorkspaceLoggingConfigurationArgs']] = None, prometheus_endpoint: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): @@ -63,6 +82,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering Workspace resources. :param pulumi.Input[str] alias: The alias of the prometheus workspace. See more [in AWS Docs](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-onboard-create-workspace.html). :param pulumi.Input[str] arn: Amazon Resource Name (ARN) of the workspace. + :param pulumi.Input['WorkspaceLoggingConfigurationArgs'] logging_configuration: Logging configuration for the workspace. See Logging Configuration below for details. :param pulumi.Input[str] prometheus_endpoint: Prometheus endpoint available for this workspace. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. @@ -71,6 +91,8 @@ def __init__(__self__, *, pulumi.set(__self__, "alias", alias) if arn is not None: pulumi.set(__self__, "arn", arn) + if logging_configuration is not None: + pulumi.set(__self__, "logging_configuration", logging_configuration) if prometheus_endpoint is not None: pulumi.set(__self__, "prometheus_endpoint", prometheus_endpoint) if tags is not None: @@ -102,6 +124,18 @@ def arn(self) -> Optional[pulumi.Input[str]]: def arn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "arn", value) + @property + @pulumi.getter(name="loggingConfiguration") + def logging_configuration(self) -> Optional[pulumi.Input['WorkspaceLoggingConfigurationArgs']]: + """ + Logging configuration for the workspace. See Logging Configuration below for details. + """ + return pulumi.get(self, "logging_configuration") + + @logging_configuration.setter + def logging_configuration(self, value: Optional[pulumi.Input['WorkspaceLoggingConfigurationArgs']]): + pulumi.set(self, "logging_configuration", value) + @property @pulumi.getter(name="prometheusEndpoint") def prometheus_endpoint(self) -> Optional[pulumi.Input[str]]: @@ -145,26 +179,35 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, alias: Optional[pulumi.Input[str]] = None, + logging_configuration: Optional[pulumi.Input[pulumi.InputType['WorkspaceLoggingConfigurationArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Manages an Amazon Managed Service for Prometheus (AMP) Workspace. - > **NOTE:** This AWS functionality is in Preview and may change before General Availability release. Backwards compatibility is not guaranteed between provider releases. - ## Example Usage ```python import pulumi import pulumi_aws as aws - demo = aws.amp.Workspace("demo", - alias="prometheus-test", + example = aws.amp.Workspace("example", + alias="example", tags={ "Environment": "production", - "Owner": "abhi", }) ``` + ### CloudWatch Logging + + ```python + import pulumi + import pulumi_aws as aws + + example_log_group = aws.cloudwatch.LogGroup("exampleLogGroup") + example_workspace = aws.amp.Workspace("exampleWorkspace", logging_configuration=aws.amp.WorkspaceLoggingConfigurationArgs( + log_group_arn=example_log_group.arn.apply(lambda arn: f"{arn}:*"), + )) + ``` ## Import @@ -177,6 +220,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] alias: The alias of the prometheus workspace. See more [in AWS Docs](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-onboard-create-workspace.html). + :param pulumi.Input[pulumi.InputType['WorkspaceLoggingConfigurationArgs']] logging_configuration: Logging configuration for the workspace. See Logging Configuration below for details. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ ... @@ -188,21 +232,29 @@ def __init__(__self__, """ Manages an Amazon Managed Service for Prometheus (AMP) Workspace. - > **NOTE:** This AWS functionality is in Preview and may change before General Availability release. Backwards compatibility is not guaranteed between provider releases. - ## Example Usage ```python import pulumi import pulumi_aws as aws - demo = aws.amp.Workspace("demo", - alias="prometheus-test", + example = aws.amp.Workspace("example", + alias="example", tags={ "Environment": "production", - "Owner": "abhi", }) ``` + ### CloudWatch Logging + + ```python + import pulumi + import pulumi_aws as aws + + example_log_group = aws.cloudwatch.LogGroup("exampleLogGroup") + example_workspace = aws.amp.Workspace("exampleWorkspace", logging_configuration=aws.amp.WorkspaceLoggingConfigurationArgs( + log_group_arn=example_log_group.arn.apply(lambda arn: f"{arn}:*"), + )) + ``` ## Import @@ -228,6 +280,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, alias: Optional[pulumi.Input[str]] = None, + logging_configuration: Optional[pulumi.Input[pulumi.InputType['WorkspaceLoggingConfigurationArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -239,6 +292,7 @@ def _internal_init(__self__, __props__ = WorkspaceArgs.__new__(WorkspaceArgs) __props__.__dict__["alias"] = alias + __props__.__dict__["logging_configuration"] = logging_configuration __props__.__dict__["tags"] = tags __props__.__dict__["arn"] = None __props__.__dict__["prometheus_endpoint"] = None @@ -255,6 +309,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, alias: Optional[pulumi.Input[str]] = None, arn: Optional[pulumi.Input[str]] = None, + logging_configuration: Optional[pulumi.Input[pulumi.InputType['WorkspaceLoggingConfigurationArgs']]] = None, prometheus_endpoint: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'Workspace': @@ -267,6 +322,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] alias: The alias of the prometheus workspace. See more [in AWS Docs](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-onboard-create-workspace.html). :param pulumi.Input[str] arn: Amazon Resource Name (ARN) of the workspace. + :param pulumi.Input[pulumi.InputType['WorkspaceLoggingConfigurationArgs']] logging_configuration: Logging configuration for the workspace. See Logging Configuration below for details. :param pulumi.Input[str] prometheus_endpoint: Prometheus endpoint available for this workspace. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. @@ -277,6 +333,7 @@ def get(resource_name: str, __props__.__dict__["alias"] = alias __props__.__dict__["arn"] = arn + __props__.__dict__["logging_configuration"] = logging_configuration __props__.__dict__["prometheus_endpoint"] = prometheus_endpoint __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all @@ -298,6 +355,14 @@ def arn(self) -> pulumi.Output[str]: """ return pulumi.get(self, "arn") + @property + @pulumi.getter(name="loggingConfiguration") + def logging_configuration(self) -> pulumi.Output[Optional['outputs.WorkspaceLoggingConfiguration']]: + """ + Logging configuration for the workspace. See Logging Configuration below for details. + """ + return pulumi.get(self, "logging_configuration") + @property @pulumi.getter(name="prometheusEndpoint") def prometheus_endpoint(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/apigatewayv2/_inputs.py b/sdk/python/pulumi_aws/apigatewayv2/_inputs.py index ad081926d66..361b3ff97a4 100644 --- a/sdk/python/pulumi_aws/apigatewayv2/_inputs.py +++ b/sdk/python/pulumi_aws/apigatewayv2/_inputs.py @@ -308,7 +308,7 @@ def __init__(__self__, *, mappings: pulumi.Input[Mapping[str, pulumi.Input[str]]], status_code: pulumi.Input[str]): """ - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] mappings: Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] mappings: Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. :param pulumi.Input[str] status_code: HTTP status code in the range 200-599. """ @@ -319,7 +319,7 @@ def __init__(__self__, *, @pulumi.getter def mappings(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: """ - Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. + Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. """ return pulumi.get(self, "mappings") diff --git a/sdk/python/pulumi_aws/apigatewayv2/outputs.py b/sdk/python/pulumi_aws/apigatewayv2/outputs.py index a5241253a77..baafbaf9d97 100644 --- a/sdk/python/pulumi_aws/apigatewayv2/outputs.py +++ b/sdk/python/pulumi_aws/apigatewayv2/outputs.py @@ -335,7 +335,7 @@ def __init__(__self__, *, mappings: Mapping[str, str], status_code: str): """ - :param Mapping[str, str] mappings: Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. + :param Mapping[str, str] mappings: Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. :param str status_code: HTTP status code in the range 200-599. """ @@ -346,7 +346,7 @@ def __init__(__self__, *, @pulumi.getter def mappings(self) -> Mapping[str, str]: """ - Key-value map. The key of ths map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. + Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details. """ return pulumi.get(self, "mappings") diff --git a/sdk/python/pulumi_aws/cloudfront/distribution.py b/sdk/python/pulumi_aws/cloudfront/distribution.py index cc9a391bb6e..190dc87c739 100644 --- a/sdk/python/pulumi_aws/cloudfront/distribution.py +++ b/sdk/python/pulumi_aws/cloudfront/distribution.py @@ -988,7 +988,7 @@ def __init__(__self__, s3_distribution = aws.cloudfront.Distribution("s3Distribution", origins=[aws.cloudfront.DistributionOriginArgs( domain_name=bucket_v2.bucket_regional_domain_name, - origin_id=s3_origin_id, + origin_id=locals["s3_origin_id"], s3_origin_config=aws.cloudfront.DistributionOriginS3OriginConfigArgs( origin_access_identity="origin-access-identity/cloudfront/ABCDEFG1234567", ), @@ -1245,7 +1245,7 @@ def __init__(__self__, s3_distribution = aws.cloudfront.Distribution("s3Distribution", origins=[aws.cloudfront.DistributionOriginArgs( domain_name=bucket_v2.bucket_regional_domain_name, - origin_id=s3_origin_id, + origin_id=locals["s3_origin_id"], s3_origin_config=aws.cloudfront.DistributionOriginS3OriginConfigArgs( origin_access_identity="origin-access-identity/cloudfront/ABCDEFG1234567", ), diff --git a/sdk/python/pulumi_aws/codepipeline/__init__.py b/sdk/python/pulumi_aws/codepipeline/__init__.py index 5b0af697ab1..2e437422a17 100644 --- a/sdk/python/pulumi_aws/codepipeline/__init__.py +++ b/sdk/python/pulumi_aws/codepipeline/__init__.py @@ -5,6 +5,7 @@ from .. import _utilities import typing # Export this package's modules as members: +from .custom_action_type import * from .pipeline import * from .webhook import * from ._inputs import * diff --git a/sdk/python/pulumi_aws/codepipeline/_inputs.py b/sdk/python/pulumi_aws/codepipeline/_inputs.py index 4a3a625d7a1..d9e5c858ef5 100644 --- a/sdk/python/pulumi_aws/codepipeline/_inputs.py +++ b/sdk/python/pulumi_aws/codepipeline/_inputs.py @@ -10,6 +10,10 @@ from .. import _utilities __all__ = [ + 'CustomActionTypeConfigurationPropertyArgs', + 'CustomActionTypeInputArtifactDetailsArgs', + 'CustomActionTypeOutputArtifactDetailsArgs', + 'CustomActionTypeSettingsArgs', 'PipelineArtifactStoreArgs', 'PipelineArtifactStoreEncryptionKeyArgs', 'PipelineStageArgs', @@ -18,6 +22,266 @@ 'WebhookFilterArgs', ] +@pulumi.input_type +class CustomActionTypeConfigurationPropertyArgs: + def __init__(__self__, *, + key: pulumi.Input[bool], + name: pulumi.Input[str], + required: pulumi.Input[bool], + secret: pulumi.Input[bool], + description: Optional[pulumi.Input[str]] = None, + queryable: Optional[pulumi.Input[bool]] = None, + type: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[bool] key: Whether the configuration property is a key. + :param pulumi.Input[str] name: The name of the action configuration property. + :param pulumi.Input[bool] required: Whether the configuration property is a required value. + :param pulumi.Input[bool] secret: Whether the configuration property is secret. + :param pulumi.Input[str] description: The description of the action configuration property. + :param pulumi.Input[bool] queryable: Indicates that the property will be used in conjunction with PollForJobs. + :param pulumi.Input[str] type: The type of the configuration property. Valid values: `String`, `Number`, `Boolean` + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "required", required) + pulumi.set(__self__, "secret", secret) + if description is not None: + pulumi.set(__self__, "description", description) + if queryable is not None: + pulumi.set(__self__, "queryable", queryable) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[bool]: + """ + Whether the configuration property is a key. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[bool]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the action configuration property. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def required(self) -> pulumi.Input[bool]: + """ + Whether the configuration property is a required value. + """ + return pulumi.get(self, "required") + + @required.setter + def required(self, value: pulumi.Input[bool]): + pulumi.set(self, "required", value) + + @property + @pulumi.getter + def secret(self) -> pulumi.Input[bool]: + """ + Whether the configuration property is secret. + """ + return pulumi.get(self, "secret") + + @secret.setter + def secret(self, value: pulumi.Input[bool]): + pulumi.set(self, "secret", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The description of the action configuration property. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def queryable(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates that the property will be used in conjunction with PollForJobs. + """ + return pulumi.get(self, "queryable") + + @queryable.setter + def queryable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "queryable", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + The type of the configuration property. Valid values: `String`, `Number`, `Boolean` + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + +@pulumi.input_type +class CustomActionTypeInputArtifactDetailsArgs: + def __init__(__self__, *, + maximum_count: pulumi.Input[int], + minimum_count: pulumi.Input[int]): + """ + :param pulumi.Input[int] maximum_count: The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + :param pulumi.Input[int] minimum_count: The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + """ + pulumi.set(__self__, "maximum_count", maximum_count) + pulumi.set(__self__, "minimum_count", minimum_count) + + @property + @pulumi.getter(name="maximumCount") + def maximum_count(self) -> pulumi.Input[int]: + """ + The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + """ + return pulumi.get(self, "maximum_count") + + @maximum_count.setter + def maximum_count(self, value: pulumi.Input[int]): + pulumi.set(self, "maximum_count", value) + + @property + @pulumi.getter(name="minimumCount") + def minimum_count(self) -> pulumi.Input[int]: + """ + The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + """ + return pulumi.get(self, "minimum_count") + + @minimum_count.setter + def minimum_count(self, value: pulumi.Input[int]): + pulumi.set(self, "minimum_count", value) + + +@pulumi.input_type +class CustomActionTypeOutputArtifactDetailsArgs: + def __init__(__self__, *, + maximum_count: pulumi.Input[int], + minimum_count: pulumi.Input[int]): + """ + :param pulumi.Input[int] maximum_count: The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + :param pulumi.Input[int] minimum_count: The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + """ + pulumi.set(__self__, "maximum_count", maximum_count) + pulumi.set(__self__, "minimum_count", minimum_count) + + @property + @pulumi.getter(name="maximumCount") + def maximum_count(self) -> pulumi.Input[int]: + """ + The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + """ + return pulumi.get(self, "maximum_count") + + @maximum_count.setter + def maximum_count(self, value: pulumi.Input[int]): + pulumi.set(self, "maximum_count", value) + + @property + @pulumi.getter(name="minimumCount") + def minimum_count(self) -> pulumi.Input[int]: + """ + The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + """ + return pulumi.get(self, "minimum_count") + + @minimum_count.setter + def minimum_count(self, value: pulumi.Input[int]): + pulumi.set(self, "minimum_count", value) + + +@pulumi.input_type +class CustomActionTypeSettingsArgs: + def __init__(__self__, *, + entity_url_template: Optional[pulumi.Input[str]] = None, + execution_url_template: Optional[pulumi.Input[str]] = None, + revision_url_template: Optional[pulumi.Input[str]] = None, + third_party_configuration_url: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] entity_url_template: The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. + :param pulumi.Input[str] execution_url_template: The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. + :param pulumi.Input[str] revision_url_template: The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. + :param pulumi.Input[str] third_party_configuration_url: The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. + """ + if entity_url_template is not None: + pulumi.set(__self__, "entity_url_template", entity_url_template) + if execution_url_template is not None: + pulumi.set(__self__, "execution_url_template", execution_url_template) + if revision_url_template is not None: + pulumi.set(__self__, "revision_url_template", revision_url_template) + if third_party_configuration_url is not None: + pulumi.set(__self__, "third_party_configuration_url", third_party_configuration_url) + + @property + @pulumi.getter(name="entityUrlTemplate") + def entity_url_template(self) -> Optional[pulumi.Input[str]]: + """ + The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. + """ + return pulumi.get(self, "entity_url_template") + + @entity_url_template.setter + def entity_url_template(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "entity_url_template", value) + + @property + @pulumi.getter(name="executionUrlTemplate") + def execution_url_template(self) -> Optional[pulumi.Input[str]]: + """ + The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. + """ + return pulumi.get(self, "execution_url_template") + + @execution_url_template.setter + def execution_url_template(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "execution_url_template", value) + + @property + @pulumi.getter(name="revisionUrlTemplate") + def revision_url_template(self) -> Optional[pulumi.Input[str]]: + """ + The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. + """ + return pulumi.get(self, "revision_url_template") + + @revision_url_template.setter + def revision_url_template(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "revision_url_template", value) + + @property + @pulumi.getter(name="thirdPartyConfigurationUrl") + def third_party_configuration_url(self) -> Optional[pulumi.Input[str]]: + """ + The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. + """ + return pulumi.get(self, "third_party_configuration_url") + + @third_party_configuration_url.setter + def third_party_configuration_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "third_party_configuration_url", value) + + @pulumi.input_type class PipelineArtifactStoreArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/codepipeline/custom_action_type.py b/sdk/python/pulumi_aws/codepipeline/custom_action_type.py new file mode 100644 index 00000000000..8d2723f4dd5 --- /dev/null +++ b/sdk/python/pulumi_aws/codepipeline/custom_action_type.py @@ -0,0 +1,614 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['CustomActionTypeArgs', 'CustomActionType'] + +@pulumi.input_type +class CustomActionTypeArgs: + def __init__(__self__, *, + category: pulumi.Input[str], + input_artifact_details: pulumi.Input['CustomActionTypeInputArtifactDetailsArgs'], + output_artifact_details: pulumi.Input['CustomActionTypeOutputArtifactDetailsArgs'], + provider_name: pulumi.Input[str], + version: pulumi.Input[str], + configuration_properties: Optional[pulumi.Input[Sequence[pulumi.Input['CustomActionTypeConfigurationPropertyArgs']]]] = None, + settings: Optional[pulumi.Input['CustomActionTypeSettingsArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a CustomActionType resource. + :param pulumi.Input[str] category: The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + :param pulumi.Input['CustomActionTypeInputArtifactDetailsArgs'] input_artifact_details: The details of the input artifact for the action. + :param pulumi.Input['CustomActionTypeOutputArtifactDetailsArgs'] output_artifact_details: The details of the output artifact of the action. + :param pulumi.Input[str] provider_name: The provider of the service used in the custom action + :param pulumi.Input[str] version: The version identifier of the custom action. + :param pulumi.Input[Sequence[pulumi.Input['CustomActionTypeConfigurationPropertyArgs']]] configuration_properties: The configuration properties for the custom action. Max 10 items. + :param pulumi.Input['CustomActionTypeSettingsArgs'] settings: The settings for an action type. + """ + pulumi.set(__self__, "category", category) + pulumi.set(__self__, "input_artifact_details", input_artifact_details) + pulumi.set(__self__, "output_artifact_details", output_artifact_details) + pulumi.set(__self__, "provider_name", provider_name) + pulumi.set(__self__, "version", version) + if configuration_properties is not None: + pulumi.set(__self__, "configuration_properties", configuration_properties) + if settings is not None: + pulumi.set(__self__, "settings", settings) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + + @property + @pulumi.getter + def category(self) -> pulumi.Input[str]: + """ + The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + """ + return pulumi.get(self, "category") + + @category.setter + def category(self, value: pulumi.Input[str]): + pulumi.set(self, "category", value) + + @property + @pulumi.getter(name="inputArtifactDetails") + def input_artifact_details(self) -> pulumi.Input['CustomActionTypeInputArtifactDetailsArgs']: + """ + The details of the input artifact for the action. + """ + return pulumi.get(self, "input_artifact_details") + + @input_artifact_details.setter + def input_artifact_details(self, value: pulumi.Input['CustomActionTypeInputArtifactDetailsArgs']): + pulumi.set(self, "input_artifact_details", value) + + @property + @pulumi.getter(name="outputArtifactDetails") + def output_artifact_details(self) -> pulumi.Input['CustomActionTypeOutputArtifactDetailsArgs']: + """ + The details of the output artifact of the action. + """ + return pulumi.get(self, "output_artifact_details") + + @output_artifact_details.setter + def output_artifact_details(self, value: pulumi.Input['CustomActionTypeOutputArtifactDetailsArgs']): + pulumi.set(self, "output_artifact_details", value) + + @property + @pulumi.getter(name="providerName") + def provider_name(self) -> pulumi.Input[str]: + """ + The provider of the service used in the custom action + """ + return pulumi.get(self, "provider_name") + + @provider_name.setter + def provider_name(self, value: pulumi.Input[str]): + pulumi.set(self, "provider_name", value) + + @property + @pulumi.getter + def version(self) -> pulumi.Input[str]: + """ + The version identifier of the custom action. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: pulumi.Input[str]): + pulumi.set(self, "version", value) + + @property + @pulumi.getter(name="configurationProperties") + def configuration_properties(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CustomActionTypeConfigurationPropertyArgs']]]]: + """ + The configuration properties for the custom action. Max 10 items. + """ + return pulumi.get(self, "configuration_properties") + + @configuration_properties.setter + def configuration_properties(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CustomActionTypeConfigurationPropertyArgs']]]]): + pulumi.set(self, "configuration_properties", value) + + @property + @pulumi.getter + def settings(self) -> Optional[pulumi.Input['CustomActionTypeSettingsArgs']]: + """ + The settings for an action type. + """ + return pulumi.get(self, "settings") + + @settings.setter + def settings(self, value: Optional[pulumi.Input['CustomActionTypeSettingsArgs']]): + pulumi.set(self, "settings", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + +@pulumi.input_type +class _CustomActionTypeState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + category: Optional[pulumi.Input[str]] = None, + configuration_properties: Optional[pulumi.Input[Sequence[pulumi.Input['CustomActionTypeConfigurationPropertyArgs']]]] = None, + input_artifact_details: Optional[pulumi.Input['CustomActionTypeInputArtifactDetailsArgs']] = None, + output_artifact_details: Optional[pulumi.Input['CustomActionTypeOutputArtifactDetailsArgs']] = None, + owner: Optional[pulumi.Input[str]] = None, + provider_name: Optional[pulumi.Input[str]] = None, + settings: Optional[pulumi.Input['CustomActionTypeSettingsArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + version: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CustomActionType resources. + :param pulumi.Input[str] arn: The action ARN. + :param pulumi.Input[str] category: The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + :param pulumi.Input[Sequence[pulumi.Input['CustomActionTypeConfigurationPropertyArgs']]] configuration_properties: The configuration properties for the custom action. Max 10 items. + :param pulumi.Input['CustomActionTypeInputArtifactDetailsArgs'] input_artifact_details: The details of the input artifact for the action. + :param pulumi.Input['CustomActionTypeOutputArtifactDetailsArgs'] output_artifact_details: The details of the output artifact of the action. + :param pulumi.Input[str] owner: The creator of the action being called. + :param pulumi.Input[str] provider_name: The provider of the service used in the custom action + :param pulumi.Input['CustomActionTypeSettingsArgs'] settings: The settings for an action type. + :param pulumi.Input[str] version: The version identifier of the custom action. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if category is not None: + pulumi.set(__self__, "category", category) + if configuration_properties is not None: + pulumi.set(__self__, "configuration_properties", configuration_properties) + if input_artifact_details is not None: + pulumi.set(__self__, "input_artifact_details", input_artifact_details) + if output_artifact_details is not None: + pulumi.set(__self__, "output_artifact_details", output_artifact_details) + if owner is not None: + pulumi.set(__self__, "owner", owner) + if provider_name is not None: + pulumi.set(__self__, "provider_name", provider_name) + if settings is not None: + pulumi.set(__self__, "settings", settings) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + The action ARN. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter + def category(self) -> Optional[pulumi.Input[str]]: + """ + The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + """ + return pulumi.get(self, "category") + + @category.setter + def category(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "category", value) + + @property + @pulumi.getter(name="configurationProperties") + def configuration_properties(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CustomActionTypeConfigurationPropertyArgs']]]]: + """ + The configuration properties for the custom action. Max 10 items. + """ + return pulumi.get(self, "configuration_properties") + + @configuration_properties.setter + def configuration_properties(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CustomActionTypeConfigurationPropertyArgs']]]]): + pulumi.set(self, "configuration_properties", value) + + @property + @pulumi.getter(name="inputArtifactDetails") + def input_artifact_details(self) -> Optional[pulumi.Input['CustomActionTypeInputArtifactDetailsArgs']]: + """ + The details of the input artifact for the action. + """ + return pulumi.get(self, "input_artifact_details") + + @input_artifact_details.setter + def input_artifact_details(self, value: Optional[pulumi.Input['CustomActionTypeInputArtifactDetailsArgs']]): + pulumi.set(self, "input_artifact_details", value) + + @property + @pulumi.getter(name="outputArtifactDetails") + def output_artifact_details(self) -> Optional[pulumi.Input['CustomActionTypeOutputArtifactDetailsArgs']]: + """ + The details of the output artifact of the action. + """ + return pulumi.get(self, "output_artifact_details") + + @output_artifact_details.setter + def output_artifact_details(self, value: Optional[pulumi.Input['CustomActionTypeOutputArtifactDetailsArgs']]): + pulumi.set(self, "output_artifact_details", value) + + @property + @pulumi.getter + def owner(self) -> Optional[pulumi.Input[str]]: + """ + The creator of the action being called. + """ + return pulumi.get(self, "owner") + + @owner.setter + def owner(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "owner", value) + + @property + @pulumi.getter(name="providerName") + def provider_name(self) -> Optional[pulumi.Input[str]]: + """ + The provider of the service used in the custom action + """ + return pulumi.get(self, "provider_name") + + @provider_name.setter + def provider_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "provider_name", value) + + @property + @pulumi.getter + def settings(self) -> Optional[pulumi.Input['CustomActionTypeSettingsArgs']]: + """ + The settings for an action type. + """ + return pulumi.get(self, "settings") + + @settings.setter + def settings(self, value: Optional[pulumi.Input['CustomActionTypeSettingsArgs']]): + pulumi.set(self, "settings", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + The version identifier of the custom action. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + +class CustomActionType(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + category: Optional[pulumi.Input[str]] = None, + configuration_properties: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CustomActionTypeConfigurationPropertyArgs']]]]] = None, + input_artifact_details: Optional[pulumi.Input[pulumi.InputType['CustomActionTypeInputArtifactDetailsArgs']]] = None, + output_artifact_details: Optional[pulumi.Input[pulumi.InputType['CustomActionTypeOutputArtifactDetailsArgs']]] = None, + provider_name: Optional[pulumi.Input[str]] = None, + settings: Optional[pulumi.Input[pulumi.InputType['CustomActionTypeSettingsArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + version: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a CodeDeploy CustomActionType + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.codepipeline.CustomActionType("example", + category="Build", + input_artifact_details=aws.codepipeline.CustomActionTypeInputArtifactDetailsArgs( + maximum_count=1, + minimum_count=0, + ), + output_artifact_details=aws.codepipeline.CustomActionTypeOutputArtifactDetailsArgs( + maximum_count=1, + minimum_count=0, + ), + provider_name="example", + version="1") + ``` + + ## Import + + CodeDeploy CustomActionType can be imported using the `id`, e.g. + + ```sh + $ pulumi import aws:codepipeline/customActionType:CustomActionType example Build:terraform:1 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] category: The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CustomActionTypeConfigurationPropertyArgs']]]] configuration_properties: The configuration properties for the custom action. Max 10 items. + :param pulumi.Input[pulumi.InputType['CustomActionTypeInputArtifactDetailsArgs']] input_artifact_details: The details of the input artifact for the action. + :param pulumi.Input[pulumi.InputType['CustomActionTypeOutputArtifactDetailsArgs']] output_artifact_details: The details of the output artifact of the action. + :param pulumi.Input[str] provider_name: The provider of the service used in the custom action + :param pulumi.Input[pulumi.InputType['CustomActionTypeSettingsArgs']] settings: The settings for an action type. + :param pulumi.Input[str] version: The version identifier of the custom action. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CustomActionTypeArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a CodeDeploy CustomActionType + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.codepipeline.CustomActionType("example", + category="Build", + input_artifact_details=aws.codepipeline.CustomActionTypeInputArtifactDetailsArgs( + maximum_count=1, + minimum_count=0, + ), + output_artifact_details=aws.codepipeline.CustomActionTypeOutputArtifactDetailsArgs( + maximum_count=1, + minimum_count=0, + ), + provider_name="example", + version="1") + ``` + + ## Import + + CodeDeploy CustomActionType can be imported using the `id`, e.g. + + ```sh + $ pulumi import aws:codepipeline/customActionType:CustomActionType example Build:terraform:1 + ``` + + :param str resource_name: The name of the resource. + :param CustomActionTypeArgs 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(CustomActionTypeArgs, 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, + category: Optional[pulumi.Input[str]] = None, + configuration_properties: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CustomActionTypeConfigurationPropertyArgs']]]]] = None, + input_artifact_details: Optional[pulumi.Input[pulumi.InputType['CustomActionTypeInputArtifactDetailsArgs']]] = None, + output_artifact_details: Optional[pulumi.Input[pulumi.InputType['CustomActionTypeOutputArtifactDetailsArgs']]] = None, + provider_name: Optional[pulumi.Input[str]] = None, + settings: Optional[pulumi.Input[pulumi.InputType['CustomActionTypeSettingsArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + version: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = CustomActionTypeArgs.__new__(CustomActionTypeArgs) + + if category is None and not opts.urn: + raise TypeError("Missing required property 'category'") + __props__.__dict__["category"] = category + __props__.__dict__["configuration_properties"] = configuration_properties + if input_artifact_details is None and not opts.urn: + raise TypeError("Missing required property 'input_artifact_details'") + __props__.__dict__["input_artifact_details"] = input_artifact_details + if output_artifact_details is None and not opts.urn: + raise TypeError("Missing required property 'output_artifact_details'") + __props__.__dict__["output_artifact_details"] = output_artifact_details + if provider_name is None and not opts.urn: + raise TypeError("Missing required property 'provider_name'") + __props__.__dict__["provider_name"] = provider_name + __props__.__dict__["settings"] = settings + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + if version is None and not opts.urn: + raise TypeError("Missing required property 'version'") + __props__.__dict__["version"] = version + __props__.__dict__["arn"] = None + __props__.__dict__["owner"] = None + super(CustomActionType, __self__).__init__( + 'aws:codepipeline/customActionType:CustomActionType', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + category: Optional[pulumi.Input[str]] = None, + configuration_properties: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CustomActionTypeConfigurationPropertyArgs']]]]] = None, + input_artifact_details: Optional[pulumi.Input[pulumi.InputType['CustomActionTypeInputArtifactDetailsArgs']]] = None, + output_artifact_details: Optional[pulumi.Input[pulumi.InputType['CustomActionTypeOutputArtifactDetailsArgs']]] = None, + owner: Optional[pulumi.Input[str]] = None, + provider_name: Optional[pulumi.Input[str]] = None, + settings: Optional[pulumi.Input[pulumi.InputType['CustomActionTypeSettingsArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + version: Optional[pulumi.Input[str]] = None) -> 'CustomActionType': + """ + Get an existing CustomActionType 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. + :param pulumi.Input[str] arn: The action ARN. + :param pulumi.Input[str] category: The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CustomActionTypeConfigurationPropertyArgs']]]] configuration_properties: The configuration properties for the custom action. Max 10 items. + :param pulumi.Input[pulumi.InputType['CustomActionTypeInputArtifactDetailsArgs']] input_artifact_details: The details of the input artifact for the action. + :param pulumi.Input[pulumi.InputType['CustomActionTypeOutputArtifactDetailsArgs']] output_artifact_details: The details of the output artifact of the action. + :param pulumi.Input[str] owner: The creator of the action being called. + :param pulumi.Input[str] provider_name: The provider of the service used in the custom action + :param pulumi.Input[pulumi.InputType['CustomActionTypeSettingsArgs']] settings: The settings for an action type. + :param pulumi.Input[str] version: The version identifier of the custom action. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CustomActionTypeState.__new__(_CustomActionTypeState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["category"] = category + __props__.__dict__["configuration_properties"] = configuration_properties + __props__.__dict__["input_artifact_details"] = input_artifact_details + __props__.__dict__["output_artifact_details"] = output_artifact_details + __props__.__dict__["owner"] = owner + __props__.__dict__["provider_name"] = provider_name + __props__.__dict__["settings"] = settings + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["version"] = version + return CustomActionType(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The action ARN. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def category(self) -> pulumi.Output[str]: + """ + The category of the custom action. Valid values: `Source`, `Build`, `Deploy`, `Test`, `Invoke`, `Approval` + """ + return pulumi.get(self, "category") + + @property + @pulumi.getter(name="configurationProperties") + def configuration_properties(self) -> pulumi.Output[Optional[Sequence['outputs.CustomActionTypeConfigurationProperty']]]: + """ + The configuration properties for the custom action. Max 10 items. + """ + return pulumi.get(self, "configuration_properties") + + @property + @pulumi.getter(name="inputArtifactDetails") + def input_artifact_details(self) -> pulumi.Output['outputs.CustomActionTypeInputArtifactDetails']: + """ + The details of the input artifact for the action. + """ + return pulumi.get(self, "input_artifact_details") + + @property + @pulumi.getter(name="outputArtifactDetails") + def output_artifact_details(self) -> pulumi.Output['outputs.CustomActionTypeOutputArtifactDetails']: + """ + The details of the output artifact of the action. + """ + return pulumi.get(self, "output_artifact_details") + + @property + @pulumi.getter + def owner(self) -> pulumi.Output[str]: + """ + The creator of the action being called. + """ + return pulumi.get(self, "owner") + + @property + @pulumi.getter(name="providerName") + def provider_name(self) -> pulumi.Output[str]: + """ + The provider of the service used in the custom action + """ + return pulumi.get(self, "provider_name") + + @property + @pulumi.getter + def settings(self) -> pulumi.Output[Optional['outputs.CustomActionTypeSettings']]: + """ + The settings for an action type. + """ + return pulumi.get(self, "settings") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + return pulumi.get(self, "tags_all") + + @property + @pulumi.getter + def version(self) -> pulumi.Output[str]: + """ + The version identifier of the custom action. + """ + return pulumi.get(self, "version") + diff --git a/sdk/python/pulumi_aws/codepipeline/outputs.py b/sdk/python/pulumi_aws/codepipeline/outputs.py index dc8dcb3f56c..ba20f4b308d 100644 --- a/sdk/python/pulumi_aws/codepipeline/outputs.py +++ b/sdk/python/pulumi_aws/codepipeline/outputs.py @@ -11,6 +11,10 @@ from . import outputs __all__ = [ + 'CustomActionTypeConfigurationProperty', + 'CustomActionTypeInputArtifactDetails', + 'CustomActionTypeOutputArtifactDetails', + 'CustomActionTypeSettings', 'PipelineArtifactStore', 'PipelineArtifactStoreEncryptionKey', 'PipelineStage', @@ -19,6 +23,267 @@ 'WebhookFilter', ] +@pulumi.output_type +class CustomActionTypeConfigurationProperty(dict): + def __init__(__self__, *, + key: bool, + name: str, + required: bool, + secret: bool, + description: Optional[str] = None, + queryable: Optional[bool] = None, + type: Optional[str] = None): + """ + :param bool key: Whether the configuration property is a key. + :param str name: The name of the action configuration property. + :param bool required: Whether the configuration property is a required value. + :param bool secret: Whether the configuration property is secret. + :param str description: The description of the action configuration property. + :param bool queryable: Indicates that the property will be used in conjunction with PollForJobs. + :param str type: The type of the configuration property. Valid values: `String`, `Number`, `Boolean` + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "required", required) + pulumi.set(__self__, "secret", secret) + if description is not None: + pulumi.set(__self__, "description", description) + if queryable is not None: + pulumi.set(__self__, "queryable", queryable) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def key(self) -> bool: + """ + Whether the configuration property is a key. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the action configuration property. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def required(self) -> bool: + """ + Whether the configuration property is a required value. + """ + return pulumi.get(self, "required") + + @property + @pulumi.getter + def secret(self) -> bool: + """ + Whether the configuration property is secret. + """ + return pulumi.get(self, "secret") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + The description of the action configuration property. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def queryable(self) -> Optional[bool]: + """ + Indicates that the property will be used in conjunction with PollForJobs. + """ + return pulumi.get(self, "queryable") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The type of the configuration property. Valid values: `String`, `Number`, `Boolean` + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class CustomActionTypeInputArtifactDetails(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maximumCount": + suggest = "maximum_count" + elif key == "minimumCount": + suggest = "minimum_count" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CustomActionTypeInputArtifactDetails. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CustomActionTypeInputArtifactDetails.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CustomActionTypeInputArtifactDetails.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + maximum_count: int, + minimum_count: int): + """ + :param int maximum_count: The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + :param int minimum_count: The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + """ + pulumi.set(__self__, "maximum_count", maximum_count) + pulumi.set(__self__, "minimum_count", minimum_count) + + @property + @pulumi.getter(name="maximumCount") + def maximum_count(self) -> int: + """ + The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + """ + return pulumi.get(self, "maximum_count") + + @property + @pulumi.getter(name="minimumCount") + def minimum_count(self) -> int: + """ + The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + """ + return pulumi.get(self, "minimum_count") + + +@pulumi.output_type +class CustomActionTypeOutputArtifactDetails(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maximumCount": + suggest = "maximum_count" + elif key == "minimumCount": + suggest = "minimum_count" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CustomActionTypeOutputArtifactDetails. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CustomActionTypeOutputArtifactDetails.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CustomActionTypeOutputArtifactDetails.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + maximum_count: int, + minimum_count: int): + """ + :param int maximum_count: The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + :param int minimum_count: The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + """ + pulumi.set(__self__, "maximum_count", maximum_count) + pulumi.set(__self__, "minimum_count", minimum_count) + + @property + @pulumi.getter(name="maximumCount") + def maximum_count(self) -> int: + """ + The maximum number of artifacts allowed for the action type. Min: 0, Max: 5 + """ + return pulumi.get(self, "maximum_count") + + @property + @pulumi.getter(name="minimumCount") + def minimum_count(self) -> int: + """ + The minimum number of artifacts allowed for the action type. Min: 0, Max: 5 + """ + return pulumi.get(self, "minimum_count") + + +@pulumi.output_type +class CustomActionTypeSettings(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "entityUrlTemplate": + suggest = "entity_url_template" + elif key == "executionUrlTemplate": + suggest = "execution_url_template" + elif key == "revisionUrlTemplate": + suggest = "revision_url_template" + elif key == "thirdPartyConfigurationUrl": + suggest = "third_party_configuration_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CustomActionTypeSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CustomActionTypeSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CustomActionTypeSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + entity_url_template: Optional[str] = None, + execution_url_template: Optional[str] = None, + revision_url_template: Optional[str] = None, + third_party_configuration_url: Optional[str] = None): + """ + :param str entity_url_template: The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. + :param str execution_url_template: The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. + :param str revision_url_template: The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. + :param str third_party_configuration_url: The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. + """ + if entity_url_template is not None: + pulumi.set(__self__, "entity_url_template", entity_url_template) + if execution_url_template is not None: + pulumi.set(__self__, "execution_url_template", execution_url_template) + if revision_url_template is not None: + pulumi.set(__self__, "revision_url_template", revision_url_template) + if third_party_configuration_url is not None: + pulumi.set(__self__, "third_party_configuration_url", third_party_configuration_url) + + @property + @pulumi.getter(name="entityUrlTemplate") + def entity_url_template(self) -> Optional[str]: + """ + The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system. + """ + return pulumi.get(self, "entity_url_template") + + @property + @pulumi.getter(name="executionUrlTemplate") + def execution_url_template(self) -> Optional[str]: + """ + The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system. + """ + return pulumi.get(self, "execution_url_template") + + @property + @pulumi.getter(name="revisionUrlTemplate") + def revision_url_template(self) -> Optional[str]: + """ + The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action. + """ + return pulumi.get(self, "revision_url_template") + + @property + @pulumi.getter(name="thirdPartyConfigurationUrl") + def third_party_configuration_url(self) -> Optional[str]: + """ + The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service. + """ + return pulumi.get(self, "third_party_configuration_url") + + @pulumi.output_type class PipelineArtifactStore(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/cognito/_inputs.py b/sdk/python/pulumi_aws/cognito/_inputs.py index 83754bdbd89..2da996860cf 100644 --- a/sdk/python/pulumi_aws/cognito/_inputs.py +++ b/sdk/python/pulumi_aws/cognito/_inputs.py @@ -43,6 +43,7 @@ 'UserPoolSchemaStringAttributeConstraintsArgs', 'UserPoolSmsConfigurationArgs', 'UserPoolSoftwareTokenMfaConfigurationArgs', + 'UserPoolUserAttributeUpdateSettingsArgs', 'UserPoolUserPoolAddOnsArgs', 'UserPoolUsernameConfigurationArgs', 'UserPoolVerificationMessageTemplateArgs', @@ -1891,6 +1892,28 @@ def enabled(self, value: pulumi.Input[bool]): pulumi.set(self, "enabled", value) +@pulumi.input_type +class UserPoolUserAttributeUpdateSettingsArgs: + def __init__(__self__, *, + attributes_require_verification_before_updates: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] attributes_require_verification_before_updates: A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `auto_verified_attributes`. Valid values: `email`, `phone_number`. + """ + pulumi.set(__self__, "attributes_require_verification_before_updates", attributes_require_verification_before_updates) + + @property + @pulumi.getter(name="attributesRequireVerificationBeforeUpdates") + def attributes_require_verification_before_updates(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `auto_verified_attributes`. Valid values: `email`, `phone_number`. + """ + return pulumi.get(self, "attributes_require_verification_before_updates") + + @attributes_require_verification_before_updates.setter + def attributes_require_verification_before_updates(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "attributes_require_verification_before_updates", value) + + @pulumi.input_type class UserPoolUserPoolAddOnsArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/cognito/outputs.py b/sdk/python/pulumi_aws/cognito/outputs.py index 7f16963a30a..22e3086df63 100644 --- a/sdk/python/pulumi_aws/cognito/outputs.py +++ b/sdk/python/pulumi_aws/cognito/outputs.py @@ -44,6 +44,7 @@ 'UserPoolSchemaStringAttributeConstraints', 'UserPoolSmsConfiguration', 'UserPoolSoftwareTokenMfaConfiguration', + 'UserPoolUserAttributeUpdateSettings', 'UserPoolUserPoolAddOns', 'UserPoolUsernameConfiguration', 'UserPoolVerificationMessageTemplate', @@ -2117,6 +2118,41 @@ def enabled(self) -> bool: return pulumi.get(self, "enabled") +@pulumi.output_type +class UserPoolUserAttributeUpdateSettings(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "attributesRequireVerificationBeforeUpdates": + suggest = "attributes_require_verification_before_updates" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserPoolUserAttributeUpdateSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserPoolUserAttributeUpdateSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserPoolUserAttributeUpdateSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + attributes_require_verification_before_updates: Sequence[str]): + """ + :param Sequence[str] attributes_require_verification_before_updates: A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `auto_verified_attributes`. Valid values: `email`, `phone_number`. + """ + pulumi.set(__self__, "attributes_require_verification_before_updates", attributes_require_verification_before_updates) + + @property + @pulumi.getter(name="attributesRequireVerificationBeforeUpdates") + def attributes_require_verification_before_updates(self) -> Sequence[str]: + """ + A list of attributes requiring verification before update. If set, the provided value(s) must also be set in `auto_verified_attributes`. Valid values: `email`, `phone_number`. + """ + return pulumi.get(self, "attributes_require_verification_before_updates") + + @pulumi.output_type class UserPoolUserPoolAddOns(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/cognito/user_pool.py b/sdk/python/pulumi_aws/cognito/user_pool.py index 8cfa3457ec1..89231ed5f86 100644 --- a/sdk/python/pulumi_aws/cognito/user_pool.py +++ b/sdk/python/pulumi_aws/cognito/user_pool.py @@ -34,6 +34,7 @@ def __init__(__self__, *, sms_verification_message: Optional[pulumi.Input[str]] = None, software_token_mfa_configuration: Optional[pulumi.Input['UserPoolSoftwareTokenMfaConfigurationArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_attribute_update_settings: Optional[pulumi.Input['UserPoolUserAttributeUpdateSettingsArgs']] = None, user_pool_add_ons: Optional[pulumi.Input['UserPoolUserPoolAddOnsArgs']] = None, username_attributes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, username_configuration: Optional[pulumi.Input['UserPoolUsernameConfigurationArgs']] = None, @@ -58,6 +59,7 @@ def __init__(__self__, *, :param pulumi.Input[str] sms_verification_message: String representing the SMS verification message. Conflicts with `verification_message_template` configuration block `sms_message` argument. :param pulumi.Input['UserPoolSoftwareTokenMfaConfigurationArgs'] software_token_mfa_configuration: Configuration block for software token Mult-Factor Authentication (MFA) settings. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the User Pool. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input['UserPoolUserAttributeUpdateSettingsArgs'] user_attribute_update_settings: Configuration block for user attribute update settings. Detailed below. :param pulumi.Input['UserPoolUserPoolAddOnsArgs'] user_pool_add_ons: Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. :param pulumi.Input[Sequence[pulumi.Input[str]]] username_attributes: Whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with `alias_attributes`. :param pulumi.Input['UserPoolUsernameConfigurationArgs'] username_configuration: Configuration block for username configuration. Detailed below. @@ -99,6 +101,8 @@ def __init__(__self__, *, pulumi.set(__self__, "software_token_mfa_configuration", software_token_mfa_configuration) if tags is not None: pulumi.set(__self__, "tags", tags) + if user_attribute_update_settings is not None: + pulumi.set(__self__, "user_attribute_update_settings", user_attribute_update_settings) if user_pool_add_ons is not None: pulumi.set(__self__, "user_pool_add_ons", user_pool_add_ons) if username_attributes is not None: @@ -324,6 +328,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="userAttributeUpdateSettings") + def user_attribute_update_settings(self) -> Optional[pulumi.Input['UserPoolUserAttributeUpdateSettingsArgs']]: + """ + Configuration block for user attribute update settings. Detailed below. + """ + return pulumi.get(self, "user_attribute_update_settings") + + @user_attribute_update_settings.setter + def user_attribute_update_settings(self, value: Optional[pulumi.Input['UserPoolUserAttributeUpdateSettingsArgs']]): + pulumi.set(self, "user_attribute_update_settings", value) + @property @pulumi.getter(name="userPoolAddOns") def user_pool_add_ons(self) -> Optional[pulumi.Input['UserPoolUserPoolAddOnsArgs']]: @@ -402,6 +418,7 @@ def __init__(__self__, *, software_token_mfa_configuration: Optional[pulumi.Input['UserPoolSoftwareTokenMfaConfigurationArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_attribute_update_settings: Optional[pulumi.Input['UserPoolUserAttributeUpdateSettingsArgs']] = None, user_pool_add_ons: Optional[pulumi.Input['UserPoolUserPoolAddOnsArgs']] = None, username_attributes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, username_configuration: Optional[pulumi.Input['UserPoolUsernameConfigurationArgs']] = None, @@ -434,6 +451,7 @@ def __init__(__self__, *, :param pulumi.Input['UserPoolSoftwareTokenMfaConfigurationArgs'] software_token_mfa_configuration: Configuration block for software token Mult-Factor Authentication (MFA) settings. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the User Pool. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + :param pulumi.Input['UserPoolUserAttributeUpdateSettingsArgs'] user_attribute_update_settings: Configuration block for user attribute update settings. Detailed below. :param pulumi.Input['UserPoolUserPoolAddOnsArgs'] user_pool_add_ons: Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. :param pulumi.Input[Sequence[pulumi.Input[str]]] username_attributes: Whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with `alias_attributes`. :param pulumi.Input['UserPoolUsernameConfigurationArgs'] username_configuration: Configuration block for username configuration. Detailed below. @@ -491,6 +509,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags", tags) if tags_all is not None: pulumi.set(__self__, "tags_all", tags_all) + if user_attribute_update_settings is not None: + pulumi.set(__self__, "user_attribute_update_settings", user_attribute_update_settings) if user_pool_add_ons is not None: pulumi.set(__self__, "user_pool_add_ons", user_pool_add_ons) if username_attributes is not None: @@ -812,6 +832,18 @@ def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags_all", value) + @property + @pulumi.getter(name="userAttributeUpdateSettings") + def user_attribute_update_settings(self) -> Optional[pulumi.Input['UserPoolUserAttributeUpdateSettingsArgs']]: + """ + Configuration block for user attribute update settings. Detailed below. + """ + return pulumi.get(self, "user_attribute_update_settings") + + @user_attribute_update_settings.setter + def user_attribute_update_settings(self, value: Optional[pulumi.Input['UserPoolUserAttributeUpdateSettingsArgs']]): + pulumi.set(self, "user_attribute_update_settings", value) + @property @pulumi.getter(name="userPoolAddOns") def user_pool_add_ons(self) -> Optional[pulumi.Input['UserPoolUserPoolAddOnsArgs']]: @@ -884,6 +916,7 @@ def __init__(__self__, sms_verification_message: Optional[pulumi.Input[str]] = None, software_token_mfa_configuration: Optional[pulumi.Input[pulumi.InputType['UserPoolSoftwareTokenMfaConfigurationArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_attribute_update_settings: Optional[pulumi.Input[pulumi.InputType['UserPoolUserAttributeUpdateSettingsArgs']]] = None, user_pool_add_ons: Optional[pulumi.Input[pulumi.InputType['UserPoolUserPoolAddOnsArgs']]] = None, username_attributes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, username_configuration: Optional[pulumi.Input[pulumi.InputType['UserPoolUsernameConfigurationArgs']]] = None, @@ -967,6 +1000,7 @@ def __init__(__self__, :param pulumi.Input[str] sms_verification_message: String representing the SMS verification message. Conflicts with `verification_message_template` configuration block `sms_message` argument. :param pulumi.Input[pulumi.InputType['UserPoolSoftwareTokenMfaConfigurationArgs']] software_token_mfa_configuration: Configuration block for software token Mult-Factor Authentication (MFA) settings. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the User Pool. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[pulumi.InputType['UserPoolUserAttributeUpdateSettingsArgs']] user_attribute_update_settings: Configuration block for user attribute update settings. Detailed below. :param pulumi.Input[pulumi.InputType['UserPoolUserPoolAddOnsArgs']] user_pool_add_ons: Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. :param pulumi.Input[Sequence[pulumi.Input[str]]] username_attributes: Whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with `alias_attributes`. :param pulumi.Input[pulumi.InputType['UserPoolUsernameConfigurationArgs']] username_configuration: Configuration block for username configuration. Detailed below. @@ -1069,6 +1103,7 @@ def _internal_init(__self__, sms_verification_message: Optional[pulumi.Input[str]] = None, software_token_mfa_configuration: Optional[pulumi.Input[pulumi.InputType['UserPoolSoftwareTokenMfaConfigurationArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_attribute_update_settings: Optional[pulumi.Input[pulumi.InputType['UserPoolUserAttributeUpdateSettingsArgs']]] = None, user_pool_add_ons: Optional[pulumi.Input[pulumi.InputType['UserPoolUserPoolAddOnsArgs']]] = None, username_attributes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, username_configuration: Optional[pulumi.Input[pulumi.InputType['UserPoolUsernameConfigurationArgs']]] = None, @@ -1100,6 +1135,7 @@ def _internal_init(__self__, __props__.__dict__["sms_verification_message"] = sms_verification_message __props__.__dict__["software_token_mfa_configuration"] = software_token_mfa_configuration __props__.__dict__["tags"] = tags + __props__.__dict__["user_attribute_update_settings"] = user_attribute_update_settings __props__.__dict__["user_pool_add_ons"] = user_pool_add_ons __props__.__dict__["username_attributes"] = username_attributes __props__.__dict__["username_configuration"] = username_configuration @@ -1148,6 +1184,7 @@ def get(resource_name: str, software_token_mfa_configuration: Optional[pulumi.Input[pulumi.InputType['UserPoolSoftwareTokenMfaConfigurationArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_attribute_update_settings: Optional[pulumi.Input[pulumi.InputType['UserPoolUserAttributeUpdateSettingsArgs']]] = None, user_pool_add_ons: Optional[pulumi.Input[pulumi.InputType['UserPoolUserPoolAddOnsArgs']]] = None, username_attributes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, username_configuration: Optional[pulumi.Input[pulumi.InputType['UserPoolUsernameConfigurationArgs']]] = None, @@ -1185,6 +1222,7 @@ def get(resource_name: str, :param pulumi.Input[pulumi.InputType['UserPoolSoftwareTokenMfaConfigurationArgs']] software_token_mfa_configuration: Configuration block for software token Mult-Factor Authentication (MFA) settings. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the User Pool. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + :param pulumi.Input[pulumi.InputType['UserPoolUserAttributeUpdateSettingsArgs']] user_attribute_update_settings: Configuration block for user attribute update settings. Detailed below. :param pulumi.Input[pulumi.InputType['UserPoolUserPoolAddOnsArgs']] user_pool_add_ons: Configuration block for user pool add-ons to enable user pool advanced security mode features. Detailed below. :param pulumi.Input[Sequence[pulumi.Input[str]]] username_attributes: Whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with `alias_attributes`. :param pulumi.Input[pulumi.InputType['UserPoolUsernameConfigurationArgs']] username_configuration: Configuration block for username configuration. Detailed below. @@ -1220,6 +1258,7 @@ def get(resource_name: str, __props__.__dict__["software_token_mfa_configuration"] = software_token_mfa_configuration __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["user_attribute_update_settings"] = user_attribute_update_settings __props__.__dict__["user_pool_add_ons"] = user_pool_add_ons __props__.__dict__["username_attributes"] = username_attributes __props__.__dict__["username_configuration"] = username_configuration @@ -1434,6 +1473,14 @@ def tags_all(self) -> pulumi.Output[Mapping[str, str]]: """ return pulumi.get(self, "tags_all") + @property + @pulumi.getter(name="userAttributeUpdateSettings") + def user_attribute_update_settings(self) -> pulumi.Output[Optional['outputs.UserPoolUserAttributeUpdateSettings']]: + """ + Configuration block for user attribute update settings. Detailed below. + """ + return pulumi.get(self, "user_attribute_update_settings") + @property @pulumi.getter(name="userPoolAddOns") def user_pool_add_ons(self) -> pulumi.Output[Optional['outputs.UserPoolUserPoolAddOns']]: diff --git a/sdk/python/pulumi_aws/comprehend/__init__.py b/sdk/python/pulumi_aws/comprehend/__init__.py index 3f181cf752c..cbae4251832 100644 --- a/sdk/python/pulumi_aws/comprehend/__init__.py +++ b/sdk/python/pulumi_aws/comprehend/__init__.py @@ -5,6 +5,7 @@ from .. import _utilities import typing # Export this package's modules as members: +from .document_classifier import * from .entity_recognizer import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws/comprehend/_inputs.py b/sdk/python/pulumi_aws/comprehend/_inputs.py index 9f6386a1059..be0e7ebe477 100644 --- a/sdk/python/pulumi_aws/comprehend/_inputs.py +++ b/sdk/python/pulumi_aws/comprehend/_inputs.py @@ -10,6 +10,10 @@ from .. import _utilities __all__ = [ + 'DocumentClassifierInputDataConfigArgs', + 'DocumentClassifierInputDataConfigAugmentedManifestArgs', + 'DocumentClassifierOutputDataConfigArgs', + 'DocumentClassifierVpcConfigArgs', 'EntityRecognizerInputDataConfigArgs', 'EntityRecognizerInputDataConfigAnnotationsArgs', 'EntityRecognizerInputDataConfigAugmentedManifestArgs', @@ -19,6 +23,303 @@ 'EntityRecognizerVpcConfigArgs', ] +@pulumi.input_type +class DocumentClassifierInputDataConfigArgs: + def __init__(__self__, *, + augmented_manifests: Optional[pulumi.Input[Sequence[pulumi.Input['DocumentClassifierInputDataConfigAugmentedManifestArgs']]]] = None, + data_format: Optional[pulumi.Input[str]] = None, + label_delimiter: Optional[pulumi.Input[str]] = None, + s3_uri: Optional[pulumi.Input[str]] = None, + test_s3_uri: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['DocumentClassifierInputDataConfigAugmentedManifestArgs']]] augmented_manifests: List of training datasets produced by Amazon SageMaker Ground Truth. + Used if `data_format` is `AUGMENTED_MANIFEST`. + See the `augmented_manifests` Configuration Block section below. + :param pulumi.Input[str] data_format: The format for the training data. + One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. + :param pulumi.Input[str] label_delimiter: Delimiter between labels when training a multi-label classifier. + Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\\`, `:`, `;`, `>`, `?`, `/`, ``, and ``. + Default is `|`. + :param pulumi.Input[str] s3_uri: Destination path for the output documents. + The full path to the output file will be returned in `output_s3_uri`. + """ + if augmented_manifests is not None: + pulumi.set(__self__, "augmented_manifests", augmented_manifests) + if data_format is not None: + pulumi.set(__self__, "data_format", data_format) + if label_delimiter is not None: + pulumi.set(__self__, "label_delimiter", label_delimiter) + if s3_uri is not None: + pulumi.set(__self__, "s3_uri", s3_uri) + if test_s3_uri is not None: + pulumi.set(__self__, "test_s3_uri", test_s3_uri) + + @property + @pulumi.getter(name="augmentedManifests") + def augmented_manifests(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DocumentClassifierInputDataConfigAugmentedManifestArgs']]]]: + """ + List of training datasets produced by Amazon SageMaker Ground Truth. + Used if `data_format` is `AUGMENTED_MANIFEST`. + See the `augmented_manifests` Configuration Block section below. + """ + return pulumi.get(self, "augmented_manifests") + + @augmented_manifests.setter + def augmented_manifests(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DocumentClassifierInputDataConfigAugmentedManifestArgs']]]]): + pulumi.set(self, "augmented_manifests", value) + + @property + @pulumi.getter(name="dataFormat") + def data_format(self) -> Optional[pulumi.Input[str]]: + """ + The format for the training data. + One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. + """ + return pulumi.get(self, "data_format") + + @data_format.setter + def data_format(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "data_format", value) + + @property + @pulumi.getter(name="labelDelimiter") + def label_delimiter(self) -> Optional[pulumi.Input[str]]: + """ + Delimiter between labels when training a multi-label classifier. + Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\\`, `:`, `;`, `>`, `?`, `/`, ``, and ``. + Default is `|`. + """ + return pulumi.get(self, "label_delimiter") + + @label_delimiter.setter + def label_delimiter(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "label_delimiter", value) + + @property + @pulumi.getter(name="s3Uri") + def s3_uri(self) -> Optional[pulumi.Input[str]]: + """ + Destination path for the output documents. + The full path to the output file will be returned in `output_s3_uri`. + """ + return pulumi.get(self, "s3_uri") + + @s3_uri.setter + def s3_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "s3_uri", value) + + @property + @pulumi.getter(name="testS3Uri") + def test_s3_uri(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "test_s3_uri") + + @test_s3_uri.setter + def test_s3_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "test_s3_uri", value) + + +@pulumi.input_type +class DocumentClassifierInputDataConfigAugmentedManifestArgs: + def __init__(__self__, *, + attribute_names: pulumi.Input[Sequence[pulumi.Input[str]]], + s3_uri: pulumi.Input[str], + annotation_data_s3_uri: Optional[pulumi.Input[str]] = None, + document_type: Optional[pulumi.Input[str]] = None, + source_documents_s3_uri: Optional[pulumi.Input[str]] = None, + split: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] attribute_names: The JSON attribute that contains the annotations for the training documents. + :param pulumi.Input[str] s3_uri: Destination path for the output documents. + The full path to the output file will be returned in `output_s3_uri`. + :param pulumi.Input[str] annotation_data_s3_uri: Location of annotation files. + :param pulumi.Input[str] document_type: Type of augmented manifest. + One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. + :param pulumi.Input[str] source_documents_s3_uri: Location of source PDF files. + :param pulumi.Input[str] split: Purpose of data in augmented manifest. + One of `TRAIN` or `TEST`. + """ + pulumi.set(__self__, "attribute_names", attribute_names) + pulumi.set(__self__, "s3_uri", s3_uri) + if annotation_data_s3_uri is not None: + pulumi.set(__self__, "annotation_data_s3_uri", annotation_data_s3_uri) + if document_type is not None: + pulumi.set(__self__, "document_type", document_type) + if source_documents_s3_uri is not None: + pulumi.set(__self__, "source_documents_s3_uri", source_documents_s3_uri) + if split is not None: + pulumi.set(__self__, "split", split) + + @property + @pulumi.getter(name="attributeNames") + def attribute_names(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + The JSON attribute that contains the annotations for the training documents. + """ + return pulumi.get(self, "attribute_names") + + @attribute_names.setter + def attribute_names(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "attribute_names", value) + + @property + @pulumi.getter(name="s3Uri") + def s3_uri(self) -> pulumi.Input[str]: + """ + Destination path for the output documents. + The full path to the output file will be returned in `output_s3_uri`. + """ + return pulumi.get(self, "s3_uri") + + @s3_uri.setter + def s3_uri(self, value: pulumi.Input[str]): + pulumi.set(self, "s3_uri", value) + + @property + @pulumi.getter(name="annotationDataS3Uri") + def annotation_data_s3_uri(self) -> Optional[pulumi.Input[str]]: + """ + Location of annotation files. + """ + return pulumi.get(self, "annotation_data_s3_uri") + + @annotation_data_s3_uri.setter + def annotation_data_s3_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "annotation_data_s3_uri", value) + + @property + @pulumi.getter(name="documentType") + def document_type(self) -> Optional[pulumi.Input[str]]: + """ + Type of augmented manifest. + One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. + """ + return pulumi.get(self, "document_type") + + @document_type.setter + def document_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "document_type", value) + + @property + @pulumi.getter(name="sourceDocumentsS3Uri") + def source_documents_s3_uri(self) -> Optional[pulumi.Input[str]]: + """ + Location of source PDF files. + """ + return pulumi.get(self, "source_documents_s3_uri") + + @source_documents_s3_uri.setter + def source_documents_s3_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_documents_s3_uri", value) + + @property + @pulumi.getter + def split(self) -> Optional[pulumi.Input[str]]: + """ + Purpose of data in augmented manifest. + One of `TRAIN` or `TEST`. + """ + return pulumi.get(self, "split") + + @split.setter + def split(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "split", value) + + +@pulumi.input_type +class DocumentClassifierOutputDataConfigArgs: + def __init__(__self__, *, + s3_uri: pulumi.Input[str], + kms_key_id: Optional[pulumi.Input[str]] = None, + output_s3_uri: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] s3_uri: Destination path for the output documents. + The full path to the output file will be returned in `output_s3_uri`. + :param pulumi.Input[str] kms_key_id: KMS Key used to encrypt the output documents. + Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. + :param pulumi.Input[str] output_s3_uri: Full path for the output documents. + """ + pulumi.set(__self__, "s3_uri", s3_uri) + if kms_key_id is not None: + pulumi.set(__self__, "kms_key_id", kms_key_id) + if output_s3_uri is not None: + pulumi.set(__self__, "output_s3_uri", output_s3_uri) + + @property + @pulumi.getter(name="s3Uri") + def s3_uri(self) -> pulumi.Input[str]: + """ + Destination path for the output documents. + The full path to the output file will be returned in `output_s3_uri`. + """ + return pulumi.get(self, "s3_uri") + + @s3_uri.setter + def s3_uri(self, value: pulumi.Input[str]): + pulumi.set(self, "s3_uri", value) + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + KMS Key used to encrypt the output documents. + Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. + """ + return pulumi.get(self, "kms_key_id") + + @kms_key_id.setter + def kms_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kms_key_id", value) + + @property + @pulumi.getter(name="outputS3Uri") + def output_s3_uri(self) -> Optional[pulumi.Input[str]]: + """ + Full path for the output documents. + """ + return pulumi.get(self, "output_s3_uri") + + @output_s3_uri.setter + def output_s3_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "output_s3_uri", value) + + +@pulumi.input_type +class DocumentClassifierVpcConfigArgs: + def __init__(__self__, *, + security_group_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + subnets: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: List of security group IDs. + :param pulumi.Input[Sequence[pulumi.Input[str]]] subnets: List of VPC subnets. + """ + pulumi.set(__self__, "security_group_ids", security_group_ids) + pulumi.set(__self__, "subnets", subnets) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + List of security group IDs. + """ + return pulumi.get(self, "security_group_ids") + + @security_group_ids.setter + def security_group_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "security_group_ids", value) + + @property + @pulumi.getter + def subnets(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + List of VPC subnets. + """ + return pulumi.get(self, "subnets") + + @subnets.setter + def subnets(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "subnets", value) + + @pulumi.input_type class EntityRecognizerInputDataConfigArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/comprehend/document_classifier.py b/sdk/python/pulumi_aws/comprehend/document_classifier.py new file mode 100644 index 00000000000..a3bbc63b3f0 --- /dev/null +++ b/sdk/python/pulumi_aws/comprehend/document_classifier.py @@ -0,0 +1,872 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['DocumentClassifierArgs', 'DocumentClassifier'] + +@pulumi.input_type +class DocumentClassifierArgs: + def __init__(__self__, *, + data_access_role_arn: pulumi.Input[str], + input_data_config: pulumi.Input['DocumentClassifierInputDataConfigArgs'], + language_code: pulumi.Input[str], + mode: Optional[pulumi.Input[str]] = None, + model_kms_key_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + output_data_config: Optional[pulumi.Input['DocumentClassifierOutputDataConfigArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + version_name: Optional[pulumi.Input[str]] = None, + version_name_prefix: Optional[pulumi.Input[str]] = None, + volume_kms_key_id: Optional[pulumi.Input[str]] = None, + vpc_config: Optional[pulumi.Input['DocumentClassifierVpcConfigArgs']] = None): + """ + The set of arguments for constructing a DocumentClassifier resource. + :param pulumi.Input[str] data_access_role_arn: The ARN for an IAM Role which allows Comprehend to read the training and testing data. + :param pulumi.Input['DocumentClassifierInputDataConfigArgs'] input_data_config: Configuration for the training and testing data. + See the `input_data_config` Configuration Block section below. + :param pulumi.Input[str] language_code: Two-letter language code for the language. + One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + :param pulumi.Input[str] mode: The document classification mode. + One of `MULTI_CLASS` or `MULTI_LABEL`. + `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + :param pulumi.Input[str] model_kms_key_id: KMS Key used to encrypt trained Document Classifiers. + Can be a KMS Key ID or a KMS Key ARN. + :param pulumi.Input[str] name: Name for the Document Classifier. + Has a maximum length of 63 characters. + Can contain upper- and lower-case letters, numbers, and hypen (`-`). + :param pulumi.Input['DocumentClassifierOutputDataConfigArgs'] output_data_config: Configuration for the output results of training. + See the `output_data_config` Configuration Block section below. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + :param pulumi.Input[str] version_name_prefix: Creates a unique version name beginning with the specified prefix. + Has a maximum length of 37 characters. + Can contain upper- and lower-case letters, numbers, and hypen (`-`). + Conflicts with `version_name`. + :param pulumi.Input[str] volume_kms_key_id: KMS Key used to encrypt storage volumes during job processing. + Can be a KMS Key ID or a KMS Key ARN. + :param pulumi.Input['DocumentClassifierVpcConfigArgs'] vpc_config: Configuration parameters for VPC to contain Document Classifier resources. + See the `vpc_config` Configuration Block section below. + """ + pulumi.set(__self__, "data_access_role_arn", data_access_role_arn) + pulumi.set(__self__, "input_data_config", input_data_config) + pulumi.set(__self__, "language_code", language_code) + if mode is not None: + pulumi.set(__self__, "mode", mode) + if model_kms_key_id is not None: + pulumi.set(__self__, "model_kms_key_id", model_kms_key_id) + if name is not None: + pulumi.set(__self__, "name", name) + if output_data_config is not None: + pulumi.set(__self__, "output_data_config", output_data_config) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + if version_name is not None: + pulumi.set(__self__, "version_name", version_name) + if version_name_prefix is not None: + pulumi.set(__self__, "version_name_prefix", version_name_prefix) + if volume_kms_key_id is not None: + pulumi.set(__self__, "volume_kms_key_id", volume_kms_key_id) + if vpc_config is not None: + pulumi.set(__self__, "vpc_config", vpc_config) + + @property + @pulumi.getter(name="dataAccessRoleArn") + def data_access_role_arn(self) -> pulumi.Input[str]: + """ + The ARN for an IAM Role which allows Comprehend to read the training and testing data. + """ + return pulumi.get(self, "data_access_role_arn") + + @data_access_role_arn.setter + def data_access_role_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "data_access_role_arn", value) + + @property + @pulumi.getter(name="inputDataConfig") + def input_data_config(self) -> pulumi.Input['DocumentClassifierInputDataConfigArgs']: + """ + Configuration for the training and testing data. + See the `input_data_config` Configuration Block section below. + """ + return pulumi.get(self, "input_data_config") + + @input_data_config.setter + def input_data_config(self, value: pulumi.Input['DocumentClassifierInputDataConfigArgs']): + pulumi.set(self, "input_data_config", value) + + @property + @pulumi.getter(name="languageCode") + def language_code(self) -> pulumi.Input[str]: + """ + Two-letter language code for the language. + One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + """ + return pulumi.get(self, "language_code") + + @language_code.setter + def language_code(self, value: pulumi.Input[str]): + pulumi.set(self, "language_code", value) + + @property + @pulumi.getter + def mode(self) -> Optional[pulumi.Input[str]]: + """ + The document classification mode. + One of `MULTI_CLASS` or `MULTI_LABEL`. + `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + """ + return pulumi.get(self, "mode") + + @mode.setter + def mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mode", value) + + @property + @pulumi.getter(name="modelKmsKeyId") + def model_kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + KMS Key used to encrypt trained Document Classifiers. + Can be a KMS Key ID or a KMS Key ARN. + """ + return pulumi.get(self, "model_kms_key_id") + + @model_kms_key_id.setter + def model_kms_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "model_kms_key_id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name for the Document Classifier. + Has a maximum length of 63 characters. + Can contain upper- and lower-case letters, numbers, and hypen (`-`). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="outputDataConfig") + def output_data_config(self) -> Optional[pulumi.Input['DocumentClassifierOutputDataConfigArgs']]: + """ + Configuration for the output results of training. + See the `output_data_config` Configuration Block section below. + """ + return pulumi.get(self, "output_data_config") + + @output_data_config.setter + def output_data_config(self, value: Optional[pulumi.Input['DocumentClassifierOutputDataConfigArgs']]): + pulumi.set(self, "output_data_config", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + @property + @pulumi.getter(name="versionName") + def version_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "version_name") + + @version_name.setter + def version_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version_name", value) + + @property + @pulumi.getter(name="versionNamePrefix") + def version_name_prefix(self) -> Optional[pulumi.Input[str]]: + """ + Creates a unique version name beginning with the specified prefix. + Has a maximum length of 37 characters. + Can contain upper- and lower-case letters, numbers, and hypen (`-`). + Conflicts with `version_name`. + """ + return pulumi.get(self, "version_name_prefix") + + @version_name_prefix.setter + def version_name_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version_name_prefix", value) + + @property + @pulumi.getter(name="volumeKmsKeyId") + def volume_kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + KMS Key used to encrypt storage volumes during job processing. + Can be a KMS Key ID or a KMS Key ARN. + """ + return pulumi.get(self, "volume_kms_key_id") + + @volume_kms_key_id.setter + def volume_kms_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "volume_kms_key_id", value) + + @property + @pulumi.getter(name="vpcConfig") + def vpc_config(self) -> Optional[pulumi.Input['DocumentClassifierVpcConfigArgs']]: + """ + Configuration parameters for VPC to contain Document Classifier resources. + See the `vpc_config` Configuration Block section below. + """ + return pulumi.get(self, "vpc_config") + + @vpc_config.setter + def vpc_config(self, value: Optional[pulumi.Input['DocumentClassifierVpcConfigArgs']]): + pulumi.set(self, "vpc_config", value) + + +@pulumi.input_type +class _DocumentClassifierState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + data_access_role_arn: Optional[pulumi.Input[str]] = None, + input_data_config: Optional[pulumi.Input['DocumentClassifierInputDataConfigArgs']] = None, + language_code: Optional[pulumi.Input[str]] = None, + mode: Optional[pulumi.Input[str]] = None, + model_kms_key_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + output_data_config: Optional[pulumi.Input['DocumentClassifierOutputDataConfigArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + version_name: Optional[pulumi.Input[str]] = None, + version_name_prefix: Optional[pulumi.Input[str]] = None, + volume_kms_key_id: Optional[pulumi.Input[str]] = None, + vpc_config: Optional[pulumi.Input['DocumentClassifierVpcConfigArgs']] = None): + """ + Input properties used for looking up and filtering DocumentClassifier resources. + :param pulumi.Input[str] arn: ARN of the Document Classifier version. + :param pulumi.Input[str] data_access_role_arn: The ARN for an IAM Role which allows Comprehend to read the training and testing data. + :param pulumi.Input['DocumentClassifierInputDataConfigArgs'] input_data_config: Configuration for the training and testing data. + See the `input_data_config` Configuration Block section below. + :param pulumi.Input[str] language_code: Two-letter language code for the language. + One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + :param pulumi.Input[str] mode: The document classification mode. + One of `MULTI_CLASS` or `MULTI_LABEL`. + `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + :param pulumi.Input[str] model_kms_key_id: KMS Key used to encrypt trained Document Classifiers. + Can be a KMS Key ID or a KMS Key ARN. + :param pulumi.Input[str] name: Name for the Document Classifier. + Has a maximum length of 63 characters. + Can contain upper- and lower-case letters, numbers, and hypen (`-`). + :param pulumi.Input['DocumentClassifierOutputDataConfigArgs'] output_data_config: Configuration for the output results of training. + See the `output_data_config` Configuration Block section below. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + :param pulumi.Input[str] version_name_prefix: Creates a unique version name beginning with the specified prefix. + Has a maximum length of 37 characters. + Can contain upper- and lower-case letters, numbers, and hypen (`-`). + Conflicts with `version_name`. + :param pulumi.Input[str] volume_kms_key_id: KMS Key used to encrypt storage volumes during job processing. + Can be a KMS Key ID or a KMS Key ARN. + :param pulumi.Input['DocumentClassifierVpcConfigArgs'] vpc_config: Configuration parameters for VPC to contain Document Classifier resources. + See the `vpc_config` Configuration Block section below. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if data_access_role_arn is not None: + pulumi.set(__self__, "data_access_role_arn", data_access_role_arn) + if input_data_config is not None: + pulumi.set(__self__, "input_data_config", input_data_config) + if language_code is not None: + pulumi.set(__self__, "language_code", language_code) + if mode is not None: + pulumi.set(__self__, "mode", mode) + if model_kms_key_id is not None: + pulumi.set(__self__, "model_kms_key_id", model_kms_key_id) + if name is not None: + pulumi.set(__self__, "name", name) + if output_data_config is not None: + pulumi.set(__self__, "output_data_config", output_data_config) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + if version_name is not None: + pulumi.set(__self__, "version_name", version_name) + if version_name_prefix is not None: + pulumi.set(__self__, "version_name_prefix", version_name_prefix) + if volume_kms_key_id is not None: + pulumi.set(__self__, "volume_kms_key_id", volume_kms_key_id) + if vpc_config is not None: + pulumi.set(__self__, "vpc_config", vpc_config) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the Document Classifier version. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="dataAccessRoleArn") + def data_access_role_arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN for an IAM Role which allows Comprehend to read the training and testing data. + """ + return pulumi.get(self, "data_access_role_arn") + + @data_access_role_arn.setter + def data_access_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "data_access_role_arn", value) + + @property + @pulumi.getter(name="inputDataConfig") + def input_data_config(self) -> Optional[pulumi.Input['DocumentClassifierInputDataConfigArgs']]: + """ + Configuration for the training and testing data. + See the `input_data_config` Configuration Block section below. + """ + return pulumi.get(self, "input_data_config") + + @input_data_config.setter + def input_data_config(self, value: Optional[pulumi.Input['DocumentClassifierInputDataConfigArgs']]): + pulumi.set(self, "input_data_config", value) + + @property + @pulumi.getter(name="languageCode") + def language_code(self) -> Optional[pulumi.Input[str]]: + """ + Two-letter language code for the language. + One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + """ + return pulumi.get(self, "language_code") + + @language_code.setter + def language_code(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "language_code", value) + + @property + @pulumi.getter + def mode(self) -> Optional[pulumi.Input[str]]: + """ + The document classification mode. + One of `MULTI_CLASS` or `MULTI_LABEL`. + `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + """ + return pulumi.get(self, "mode") + + @mode.setter + def mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mode", value) + + @property + @pulumi.getter(name="modelKmsKeyId") + def model_kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + KMS Key used to encrypt trained Document Classifiers. + Can be a KMS Key ID or a KMS Key ARN. + """ + return pulumi.get(self, "model_kms_key_id") + + @model_kms_key_id.setter + def model_kms_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "model_kms_key_id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name for the Document Classifier. + Has a maximum length of 63 characters. + Can contain upper- and lower-case letters, numbers, and hypen (`-`). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="outputDataConfig") + def output_data_config(self) -> Optional[pulumi.Input['DocumentClassifierOutputDataConfigArgs']]: + """ + Configuration for the output results of training. + See the `output_data_config` Configuration Block section below. + """ + return pulumi.get(self, "output_data_config") + + @output_data_config.setter + def output_data_config(self, value: Optional[pulumi.Input['DocumentClassifierOutputDataConfigArgs']]): + pulumi.set(self, "output_data_config", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + @property + @pulumi.getter(name="versionName") + def version_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "version_name") + + @version_name.setter + def version_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version_name", value) + + @property + @pulumi.getter(name="versionNamePrefix") + def version_name_prefix(self) -> Optional[pulumi.Input[str]]: + """ + Creates a unique version name beginning with the specified prefix. + Has a maximum length of 37 characters. + Can contain upper- and lower-case letters, numbers, and hypen (`-`). + Conflicts with `version_name`. + """ + return pulumi.get(self, "version_name_prefix") + + @version_name_prefix.setter + def version_name_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version_name_prefix", value) + + @property + @pulumi.getter(name="volumeKmsKeyId") + def volume_kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + KMS Key used to encrypt storage volumes during job processing. + Can be a KMS Key ID or a KMS Key ARN. + """ + return pulumi.get(self, "volume_kms_key_id") + + @volume_kms_key_id.setter + def volume_kms_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "volume_kms_key_id", value) + + @property + @pulumi.getter(name="vpcConfig") + def vpc_config(self) -> Optional[pulumi.Input['DocumentClassifierVpcConfigArgs']]: + """ + Configuration parameters for VPC to contain Document Classifier resources. + See the `vpc_config` Configuration Block section below. + """ + return pulumi.get(self, "vpc_config") + + @vpc_config.setter + def vpc_config(self, value: Optional[pulumi.Input['DocumentClassifierVpcConfigArgs']]): + pulumi.set(self, "vpc_config", value) + + +class DocumentClassifier(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + data_access_role_arn: Optional[pulumi.Input[str]] = None, + input_data_config: Optional[pulumi.Input[pulumi.InputType['DocumentClassifierInputDataConfigArgs']]] = None, + language_code: Optional[pulumi.Input[str]] = None, + mode: Optional[pulumi.Input[str]] = None, + model_kms_key_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + output_data_config: Optional[pulumi.Input[pulumi.InputType['DocumentClassifierOutputDataConfigArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + version_name: Optional[pulumi.Input[str]] = None, + version_name_prefix: Optional[pulumi.Input[str]] = None, + volume_kms_key_id: Optional[pulumi.Input[str]] = None, + vpc_config: Optional[pulumi.Input[pulumi.InputType['DocumentClassifierVpcConfigArgs']]] = None, + __props__=None): + """ + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + documents = aws.s3.BucketObjectv2("documents") + # ... + example = aws.comprehend.DocumentClassifier("example", + data_access_role_arn=aws_iam_role["example"]["arn"], + language_code="en", + input_data_config=aws.comprehend.DocumentClassifierInputDataConfigArgs( + s3_uri=documents.id.apply(lambda id: f"s3://{aws_s3_bucket['test']['bucket']}/{id}"), + ), + opts=pulumi.ResourceOptions(depends_on=[aws_iam_role_policy["example"]])) + entities = aws.s3.BucketObjectv2("entities") + # ... + ``` + + ## Import + + Comprehend Document Classifier can be imported using the ARN, e.g., + + ```sh + $ pulumi import aws:comprehend/documentClassifier:DocumentClassifier example arn:aws:comprehend:us-west-2:123456789012:document_classifier/example + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] data_access_role_arn: The ARN for an IAM Role which allows Comprehend to read the training and testing data. + :param pulumi.Input[pulumi.InputType['DocumentClassifierInputDataConfigArgs']] input_data_config: Configuration for the training and testing data. + See the `input_data_config` Configuration Block section below. + :param pulumi.Input[str] language_code: Two-letter language code for the language. + One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + :param pulumi.Input[str] mode: The document classification mode. + One of `MULTI_CLASS` or `MULTI_LABEL`. + `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + :param pulumi.Input[str] model_kms_key_id: KMS Key used to encrypt trained Document Classifiers. + Can be a KMS Key ID or a KMS Key ARN. + :param pulumi.Input[str] name: Name for the Document Classifier. + Has a maximum length of 63 characters. + Can contain upper- and lower-case letters, numbers, and hypen (`-`). + :param pulumi.Input[pulumi.InputType['DocumentClassifierOutputDataConfigArgs']] output_data_config: Configuration for the output results of training. + See the `output_data_config` Configuration Block section below. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + :param pulumi.Input[str] version_name_prefix: Creates a unique version name beginning with the specified prefix. + Has a maximum length of 37 characters. + Can contain upper- and lower-case letters, numbers, and hypen (`-`). + Conflicts with `version_name`. + :param pulumi.Input[str] volume_kms_key_id: KMS Key used to encrypt storage volumes during job processing. + Can be a KMS Key ID or a KMS Key ARN. + :param pulumi.Input[pulumi.InputType['DocumentClassifierVpcConfigArgs']] vpc_config: Configuration parameters for VPC to contain Document Classifier resources. + See the `vpc_config` Configuration Block section below. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DocumentClassifierArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + documents = aws.s3.BucketObjectv2("documents") + # ... + example = aws.comprehend.DocumentClassifier("example", + data_access_role_arn=aws_iam_role["example"]["arn"], + language_code="en", + input_data_config=aws.comprehend.DocumentClassifierInputDataConfigArgs( + s3_uri=documents.id.apply(lambda id: f"s3://{aws_s3_bucket['test']['bucket']}/{id}"), + ), + opts=pulumi.ResourceOptions(depends_on=[aws_iam_role_policy["example"]])) + entities = aws.s3.BucketObjectv2("entities") + # ... + ``` + + ## Import + + Comprehend Document Classifier can be imported using the ARN, e.g., + + ```sh + $ pulumi import aws:comprehend/documentClassifier:DocumentClassifier example arn:aws:comprehend:us-west-2:123456789012:document_classifier/example + ``` + + :param str resource_name: The name of the resource. + :param DocumentClassifierArgs 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(DocumentClassifierArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + data_access_role_arn: Optional[pulumi.Input[str]] = None, + input_data_config: Optional[pulumi.Input[pulumi.InputType['DocumentClassifierInputDataConfigArgs']]] = None, + language_code: Optional[pulumi.Input[str]] = None, + mode: Optional[pulumi.Input[str]] = None, + model_kms_key_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + output_data_config: Optional[pulumi.Input[pulumi.InputType['DocumentClassifierOutputDataConfigArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + version_name: Optional[pulumi.Input[str]] = None, + version_name_prefix: Optional[pulumi.Input[str]] = None, + volume_kms_key_id: Optional[pulumi.Input[str]] = None, + vpc_config: Optional[pulumi.Input[pulumi.InputType['DocumentClassifierVpcConfigArgs']]] = 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__ = DocumentClassifierArgs.__new__(DocumentClassifierArgs) + + if data_access_role_arn is None and not opts.urn: + raise TypeError("Missing required property 'data_access_role_arn'") + __props__.__dict__["data_access_role_arn"] = data_access_role_arn + if input_data_config is None and not opts.urn: + raise TypeError("Missing required property 'input_data_config'") + __props__.__dict__["input_data_config"] = input_data_config + if language_code is None and not opts.urn: + raise TypeError("Missing required property 'language_code'") + __props__.__dict__["language_code"] = language_code + __props__.__dict__["mode"] = mode + __props__.__dict__["model_kms_key_id"] = model_kms_key_id + __props__.__dict__["name"] = name + __props__.__dict__["output_data_config"] = output_data_config + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["version_name"] = version_name + __props__.__dict__["version_name_prefix"] = version_name_prefix + __props__.__dict__["volume_kms_key_id"] = volume_kms_key_id + __props__.__dict__["vpc_config"] = vpc_config + __props__.__dict__["arn"] = None + super(DocumentClassifier, __self__).__init__( + 'aws:comprehend/documentClassifier:DocumentClassifier', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + data_access_role_arn: Optional[pulumi.Input[str]] = None, + input_data_config: Optional[pulumi.Input[pulumi.InputType['DocumentClassifierInputDataConfigArgs']]] = None, + language_code: Optional[pulumi.Input[str]] = None, + mode: Optional[pulumi.Input[str]] = None, + model_kms_key_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + output_data_config: Optional[pulumi.Input[pulumi.InputType['DocumentClassifierOutputDataConfigArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + version_name: Optional[pulumi.Input[str]] = None, + version_name_prefix: Optional[pulumi.Input[str]] = None, + volume_kms_key_id: Optional[pulumi.Input[str]] = None, + vpc_config: Optional[pulumi.Input[pulumi.InputType['DocumentClassifierVpcConfigArgs']]] = None) -> 'DocumentClassifier': + """ + Get an existing DocumentClassifier 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. + :param pulumi.Input[str] arn: ARN of the Document Classifier version. + :param pulumi.Input[str] data_access_role_arn: The ARN for an IAM Role which allows Comprehend to read the training and testing data. + :param pulumi.Input[pulumi.InputType['DocumentClassifierInputDataConfigArgs']] input_data_config: Configuration for the training and testing data. + See the `input_data_config` Configuration Block section below. + :param pulumi.Input[str] language_code: Two-letter language code for the language. + One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + :param pulumi.Input[str] mode: The document classification mode. + One of `MULTI_CLASS` or `MULTI_LABEL`. + `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + :param pulumi.Input[str] model_kms_key_id: KMS Key used to encrypt trained Document Classifiers. + Can be a KMS Key ID or a KMS Key ARN. + :param pulumi.Input[str] name: Name for the Document Classifier. + Has a maximum length of 63 characters. + Can contain upper- and lower-case letters, numbers, and hypen (`-`). + :param pulumi.Input[pulumi.InputType['DocumentClassifierOutputDataConfigArgs']] output_data_config: Configuration for the output results of training. + See the `output_data_config` Configuration Block section below. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + :param pulumi.Input[str] version_name_prefix: Creates a unique version name beginning with the specified prefix. + Has a maximum length of 37 characters. + Can contain upper- and lower-case letters, numbers, and hypen (`-`). + Conflicts with `version_name`. + :param pulumi.Input[str] volume_kms_key_id: KMS Key used to encrypt storage volumes during job processing. + Can be a KMS Key ID or a KMS Key ARN. + :param pulumi.Input[pulumi.InputType['DocumentClassifierVpcConfigArgs']] vpc_config: Configuration parameters for VPC to contain Document Classifier resources. + See the `vpc_config` Configuration Block section below. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DocumentClassifierState.__new__(_DocumentClassifierState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["data_access_role_arn"] = data_access_role_arn + __props__.__dict__["input_data_config"] = input_data_config + __props__.__dict__["language_code"] = language_code + __props__.__dict__["mode"] = mode + __props__.__dict__["model_kms_key_id"] = model_kms_key_id + __props__.__dict__["name"] = name + __props__.__dict__["output_data_config"] = output_data_config + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["version_name"] = version_name + __props__.__dict__["version_name_prefix"] = version_name_prefix + __props__.__dict__["volume_kms_key_id"] = volume_kms_key_id + __props__.__dict__["vpc_config"] = vpc_config + return DocumentClassifier(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + ARN of the Document Classifier version. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="dataAccessRoleArn") + def data_access_role_arn(self) -> pulumi.Output[str]: + """ + The ARN for an IAM Role which allows Comprehend to read the training and testing data. + """ + return pulumi.get(self, "data_access_role_arn") + + @property + @pulumi.getter(name="inputDataConfig") + def input_data_config(self) -> pulumi.Output['outputs.DocumentClassifierInputDataConfig']: + """ + Configuration for the training and testing data. + See the `input_data_config` Configuration Block section below. + """ + return pulumi.get(self, "input_data_config") + + @property + @pulumi.getter(name="languageCode") + def language_code(self) -> pulumi.Output[str]: + """ + Two-letter language code for the language. + One of `en`, `es`, `fr`, `it`, `de`, or `pt`. + """ + return pulumi.get(self, "language_code") + + @property + @pulumi.getter + def mode(self) -> pulumi.Output[Optional[str]]: + """ + The document classification mode. + One of `MULTI_CLASS` or `MULTI_LABEL`. + `MULTI_CLASS` is also known as "Single Label" in the AWS Console. + """ + return pulumi.get(self, "mode") + + @property + @pulumi.getter(name="modelKmsKeyId") + def model_kms_key_id(self) -> pulumi.Output[Optional[str]]: + """ + KMS Key used to encrypt trained Document Classifiers. + Can be a KMS Key ID or a KMS Key ARN. + """ + return pulumi.get(self, "model_kms_key_id") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name for the Document Classifier. + Has a maximum length of 63 characters. + Can contain upper- and lower-case letters, numbers, and hypen (`-`). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="outputDataConfig") + def output_data_config(self) -> pulumi.Output['outputs.DocumentClassifierOutputDataConfig']: + """ + Configuration for the output results of training. + See the `output_data_config` Configuration Block section below. + """ + return pulumi.get(self, "output_data_config") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + A map of tags to assign to the resource. If configured with a provider [`default_tags` Configuration Block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + """ + A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block). + """ + return pulumi.get(self, "tags_all") + + @property + @pulumi.getter(name="versionName") + def version_name(self) -> pulumi.Output[str]: + return pulumi.get(self, "version_name") + + @property + @pulumi.getter(name="versionNamePrefix") + def version_name_prefix(self) -> pulumi.Output[str]: + """ + Creates a unique version name beginning with the specified prefix. + Has a maximum length of 37 characters. + Can contain upper- and lower-case letters, numbers, and hypen (`-`). + Conflicts with `version_name`. + """ + return pulumi.get(self, "version_name_prefix") + + @property + @pulumi.getter(name="volumeKmsKeyId") + def volume_kms_key_id(self) -> pulumi.Output[Optional[str]]: + """ + KMS Key used to encrypt storage volumes during job processing. + Can be a KMS Key ID or a KMS Key ARN. + """ + return pulumi.get(self, "volume_kms_key_id") + + @property + @pulumi.getter(name="vpcConfig") + def vpc_config(self) -> pulumi.Output[Optional['outputs.DocumentClassifierVpcConfig']]: + """ + Configuration parameters for VPC to contain Document Classifier resources. + See the `vpc_config` Configuration Block section below. + """ + return pulumi.get(self, "vpc_config") + diff --git a/sdk/python/pulumi_aws/comprehend/outputs.py b/sdk/python/pulumi_aws/comprehend/outputs.py index 39e62778c81..15ba5b87bab 100644 --- a/sdk/python/pulumi_aws/comprehend/outputs.py +++ b/sdk/python/pulumi_aws/comprehend/outputs.py @@ -11,6 +11,10 @@ from . import outputs __all__ = [ + 'DocumentClassifierInputDataConfig', + 'DocumentClassifierInputDataConfigAugmentedManifest', + 'DocumentClassifierOutputDataConfig', + 'DocumentClassifierVpcConfig', 'EntityRecognizerInputDataConfig', 'EntityRecognizerInputDataConfigAnnotations', 'EntityRecognizerInputDataConfigAugmentedManifest', @@ -20,6 +24,327 @@ 'EntityRecognizerVpcConfig', ] +@pulumi.output_type +class DocumentClassifierInputDataConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "augmentedManifests": + suggest = "augmented_manifests" + elif key == "dataFormat": + suggest = "data_format" + elif key == "labelDelimiter": + suggest = "label_delimiter" + elif key == "s3Uri": + suggest = "s3_uri" + elif key == "testS3Uri": + suggest = "test_s3_uri" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DocumentClassifierInputDataConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DocumentClassifierInputDataConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DocumentClassifierInputDataConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + augmented_manifests: Optional[Sequence['outputs.DocumentClassifierInputDataConfigAugmentedManifest']] = None, + data_format: Optional[str] = None, + label_delimiter: Optional[str] = None, + s3_uri: Optional[str] = None, + test_s3_uri: Optional[str] = None): + """ + :param Sequence['DocumentClassifierInputDataConfigAugmentedManifestArgs'] augmented_manifests: List of training datasets produced by Amazon SageMaker Ground Truth. + Used if `data_format` is `AUGMENTED_MANIFEST`. + See the `augmented_manifests` Configuration Block section below. + :param str data_format: The format for the training data. + One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. + :param str label_delimiter: Delimiter between labels when training a multi-label classifier. + Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\\`, `:`, `;`, `>`, `?`, `/`, ``, and ``. + Default is `|`. + :param str s3_uri: Destination path for the output documents. + The full path to the output file will be returned in `output_s3_uri`. + """ + if augmented_manifests is not None: + pulumi.set(__self__, "augmented_manifests", augmented_manifests) + if data_format is not None: + pulumi.set(__self__, "data_format", data_format) + if label_delimiter is not None: + pulumi.set(__self__, "label_delimiter", label_delimiter) + if s3_uri is not None: + pulumi.set(__self__, "s3_uri", s3_uri) + if test_s3_uri is not None: + pulumi.set(__self__, "test_s3_uri", test_s3_uri) + + @property + @pulumi.getter(name="augmentedManifests") + def augmented_manifests(self) -> Optional[Sequence['outputs.DocumentClassifierInputDataConfigAugmentedManifest']]: + """ + List of training datasets produced by Amazon SageMaker Ground Truth. + Used if `data_format` is `AUGMENTED_MANIFEST`. + See the `augmented_manifests` Configuration Block section below. + """ + return pulumi.get(self, "augmented_manifests") + + @property + @pulumi.getter(name="dataFormat") + def data_format(self) -> Optional[str]: + """ + The format for the training data. + One of `COMPREHEND_CSV` or `AUGMENTED_MANIFEST`. + """ + return pulumi.get(self, "data_format") + + @property + @pulumi.getter(name="labelDelimiter") + def label_delimiter(self) -> Optional[str]: + """ + Delimiter between labels when training a multi-label classifier. + Valid values are `|`, `~`, `!`, `@`, `#`, `$`, `%`, `^`, `*`, `-`, `_`, `+`, `=`, `\\`, `:`, `;`, `>`, `?`, `/`, ``, and ``. + Default is `|`. + """ + return pulumi.get(self, "label_delimiter") + + @property + @pulumi.getter(name="s3Uri") + def s3_uri(self) -> Optional[str]: + """ + Destination path for the output documents. + The full path to the output file will be returned in `output_s3_uri`. + """ + return pulumi.get(self, "s3_uri") + + @property + @pulumi.getter(name="testS3Uri") + def test_s3_uri(self) -> Optional[str]: + return pulumi.get(self, "test_s3_uri") + + +@pulumi.output_type +class DocumentClassifierInputDataConfigAugmentedManifest(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "attributeNames": + suggest = "attribute_names" + elif key == "s3Uri": + suggest = "s3_uri" + elif key == "annotationDataS3Uri": + suggest = "annotation_data_s3_uri" + elif key == "documentType": + suggest = "document_type" + elif key == "sourceDocumentsS3Uri": + suggest = "source_documents_s3_uri" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DocumentClassifierInputDataConfigAugmentedManifest. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DocumentClassifierInputDataConfigAugmentedManifest.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DocumentClassifierInputDataConfigAugmentedManifest.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + attribute_names: Sequence[str], + s3_uri: str, + annotation_data_s3_uri: Optional[str] = None, + document_type: Optional[str] = None, + source_documents_s3_uri: Optional[str] = None, + split: Optional[str] = None): + """ + :param Sequence[str] attribute_names: The JSON attribute that contains the annotations for the training documents. + :param str s3_uri: Destination path for the output documents. + The full path to the output file will be returned in `output_s3_uri`. + :param str annotation_data_s3_uri: Location of annotation files. + :param str document_type: Type of augmented manifest. + One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. + :param str source_documents_s3_uri: Location of source PDF files. + :param str split: Purpose of data in augmented manifest. + One of `TRAIN` or `TEST`. + """ + pulumi.set(__self__, "attribute_names", attribute_names) + pulumi.set(__self__, "s3_uri", s3_uri) + if annotation_data_s3_uri is not None: + pulumi.set(__self__, "annotation_data_s3_uri", annotation_data_s3_uri) + if document_type is not None: + pulumi.set(__self__, "document_type", document_type) + if source_documents_s3_uri is not None: + pulumi.set(__self__, "source_documents_s3_uri", source_documents_s3_uri) + if split is not None: + pulumi.set(__self__, "split", split) + + @property + @pulumi.getter(name="attributeNames") + def attribute_names(self) -> Sequence[str]: + """ + The JSON attribute that contains the annotations for the training documents. + """ + return pulumi.get(self, "attribute_names") + + @property + @pulumi.getter(name="s3Uri") + def s3_uri(self) -> str: + """ + Destination path for the output documents. + The full path to the output file will be returned in `output_s3_uri`. + """ + return pulumi.get(self, "s3_uri") + + @property + @pulumi.getter(name="annotationDataS3Uri") + def annotation_data_s3_uri(self) -> Optional[str]: + """ + Location of annotation files. + """ + return pulumi.get(self, "annotation_data_s3_uri") + + @property + @pulumi.getter(name="documentType") + def document_type(self) -> Optional[str]: + """ + Type of augmented manifest. + One of `PLAIN_TEXT_DOCUMENT` or `SEMI_STRUCTURED_DOCUMENT`. + """ + return pulumi.get(self, "document_type") + + @property + @pulumi.getter(name="sourceDocumentsS3Uri") + def source_documents_s3_uri(self) -> Optional[str]: + """ + Location of source PDF files. + """ + return pulumi.get(self, "source_documents_s3_uri") + + @property + @pulumi.getter + def split(self) -> Optional[str]: + """ + Purpose of data in augmented manifest. + One of `TRAIN` or `TEST`. + """ + return pulumi.get(self, "split") + + +@pulumi.output_type +class DocumentClassifierOutputDataConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "s3Uri": + suggest = "s3_uri" + elif key == "kmsKeyId": + suggest = "kms_key_id" + elif key == "outputS3Uri": + suggest = "output_s3_uri" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DocumentClassifierOutputDataConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DocumentClassifierOutputDataConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DocumentClassifierOutputDataConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + s3_uri: str, + kms_key_id: Optional[str] = None, + output_s3_uri: Optional[str] = None): + """ + :param str s3_uri: Destination path for the output documents. + The full path to the output file will be returned in `output_s3_uri`. + :param str kms_key_id: KMS Key used to encrypt the output documents. + Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. + :param str output_s3_uri: Full path for the output documents. + """ + pulumi.set(__self__, "s3_uri", s3_uri) + if kms_key_id is not None: + pulumi.set(__self__, "kms_key_id", kms_key_id) + if output_s3_uri is not None: + pulumi.set(__self__, "output_s3_uri", output_s3_uri) + + @property + @pulumi.getter(name="s3Uri") + def s3_uri(self) -> str: + """ + Destination path for the output documents. + The full path to the output file will be returned in `output_s3_uri`. + """ + return pulumi.get(self, "s3_uri") + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> Optional[str]: + """ + KMS Key used to encrypt the output documents. + Can be a KMS Key ID, a KMS Key ARN, a KMS Alias name, or a KMS Alias ARN. + """ + return pulumi.get(self, "kms_key_id") + + @property + @pulumi.getter(name="outputS3Uri") + def output_s3_uri(self) -> Optional[str]: + """ + Full path for the output documents. + """ + return pulumi.get(self, "output_s3_uri") + + +@pulumi.output_type +class DocumentClassifierVpcConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "securityGroupIds": + suggest = "security_group_ids" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DocumentClassifierVpcConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DocumentClassifierVpcConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DocumentClassifierVpcConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + security_group_ids: Sequence[str], + subnets: Sequence[str]): + """ + :param Sequence[str] security_group_ids: List of security group IDs. + :param Sequence[str] subnets: List of VPC subnets. + """ + pulumi.set(__self__, "security_group_ids", security_group_ids) + pulumi.set(__self__, "subnets", subnets) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Sequence[str]: + """ + List of security group IDs. + """ + return pulumi.get(self, "security_group_ids") + + @property + @pulumi.getter + def subnets(self) -> Sequence[str]: + """ + List of VPC subnets. + """ + return pulumi.get(self, "subnets") + + @pulumi.output_type class EntityRecognizerInputDataConfig(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/directconnect/connection.py b/sdk/python/pulumi_aws/directconnect/connection.py index e15e786ddff..00870e468bf 100644 --- a/sdk/python/pulumi_aws/directconnect/connection.py +++ b/sdk/python/pulumi_aws/directconnect/connection.py @@ -110,7 +110,8 @@ def __init__(__self__, *, owner_account_id: Optional[pulumi.Input[str]] = None, provider_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + vlan_id: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering Connection resources. :param pulumi.Input[str] arn: The ARN of the connection. @@ -124,6 +125,7 @@ def __init__(__self__, *, :param pulumi.Input[str] provider_name: The name of the service provider associated with the connection. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + :param pulumi.Input[str] vlan_id: The VLAN ID. """ if arn is not None: pulumi.set(__self__, "arn", arn) @@ -147,6 +149,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags", tags) if tags_all is not None: pulumi.set(__self__, "tags_all", tags_all) + if vlan_id is not None: + pulumi.set(__self__, "vlan_id", vlan_id) @property @pulumi.getter @@ -280,6 +284,18 @@ def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags_all", value) + @property + @pulumi.getter(name="vlanId") + def vlan_id(self) -> Optional[pulumi.Input[str]]: + """ + The VLAN ID. + """ + return pulumi.get(self, "vlan_id") + + @vlan_id.setter + def vlan_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vlan_id", value) + class Connection(pulumi.CustomResource): @overload @@ -394,6 +410,7 @@ def _internal_init(__self__, __props__.__dict__["jumbo_frame_capable"] = None __props__.__dict__["owner_account_id"] = None __props__.__dict__["tags_all"] = None + __props__.__dict__["vlan_id"] = None super(Connection, __self__).__init__( 'aws:directconnect/connection:Connection', resource_name, @@ -414,7 +431,8 @@ def get(resource_name: str, owner_account_id: Optional[pulumi.Input[str]] = None, provider_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'Connection': + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + vlan_id: Optional[pulumi.Input[str]] = None) -> 'Connection': """ Get an existing Connection resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -433,6 +451,7 @@ def get(resource_name: str, :param pulumi.Input[str] provider_name: The name of the service provider associated with the connection. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + :param pulumi.Input[str] vlan_id: The VLAN ID. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -449,6 +468,7 @@ def get(resource_name: str, __props__.__dict__["provider_name"] = provider_name __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["vlan_id"] = vlan_id return Connection(resource_name, opts=opts, __props__=__props__) @property @@ -539,3 +559,11 @@ def tags_all(self) -> pulumi.Output[Mapping[str, str]]: """ return pulumi.get(self, "tags_all") + @property + @pulumi.getter(name="vlanId") + def vlan_id(self) -> pulumi.Output[str]: + """ + The VLAN ID. + """ + return pulumi.get(self, "vlan_id") + diff --git a/sdk/python/pulumi_aws/directconnect/get_connection.py b/sdk/python/pulumi_aws/directconnect/get_connection.py index d514e547964..38ddbb4820d 100644 --- a/sdk/python/pulumi_aws/directconnect/get_connection.py +++ b/sdk/python/pulumi_aws/directconnect/get_connection.py @@ -21,7 +21,7 @@ class GetConnectionResult: """ A collection of values returned by getConnection. """ - def __init__(__self__, arn=None, aws_device=None, bandwidth=None, id=None, location=None, name=None, owner_account_id=None, provider_name=None, tags=None): + def __init__(__self__, arn=None, aws_device=None, bandwidth=None, id=None, location=None, name=None, owner_account_id=None, provider_name=None, tags=None, vlan_id=None): if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) @@ -49,6 +49,9 @@ def __init__(__self__, arn=None, aws_device=None, bandwidth=None, id=None, locat if tags and not isinstance(tags, dict): raise TypeError("Expected argument 'tags' to be a dict") pulumi.set(__self__, "tags", tags) + if vlan_id and not isinstance(vlan_id, str): + raise TypeError("Expected argument 'vlan_id' to be a str") + pulumi.set(__self__, "vlan_id", vlan_id) @property @pulumi.getter @@ -119,6 +122,14 @@ def tags(self) -> Mapping[str, str]: """ return pulumi.get(self, "tags") + @property + @pulumi.getter(name="vlanId") + def vlan_id(self) -> str: + """ + The VLAN ID. + """ + return pulumi.get(self, "vlan_id") + class AwaitableGetConnectionResult(GetConnectionResult): # pylint: disable=using-constant-test @@ -134,7 +145,8 @@ def __await__(self): name=self.name, owner_account_id=self.owner_account_id, provider_name=self.provider_name, - tags=self.tags) + tags=self.tags, + vlan_id=self.vlan_id) def get_connection(name: Optional[str] = None, @@ -171,7 +183,8 @@ def get_connection(name: Optional[str] = None, name=__ret__.name, owner_account_id=__ret__.owner_account_id, provider_name=__ret__.provider_name, - tags=__ret__.tags) + tags=__ret__.tags, + vlan_id=__ret__.vlan_id) @_utilities.lift_output_func(get_connection) diff --git a/sdk/python/pulumi_aws/ebs/volume.py b/sdk/python/pulumi_aws/ebs/volume.py index c39c205d71b..e3462d810ed 100644 --- a/sdk/python/pulumi_aws/ebs/volume.py +++ b/sdk/python/pulumi_aws/ebs/volume.py @@ -469,7 +469,7 @@ def __init__(__self__, }) ``` - > **NOTE**: At least one of `size` or `snapshot_id` is required when specifying an EBS volume + > **NOTE:** At least one of `size` or `snapshot_id` is required when specifying an EBS volume ## Import @@ -516,7 +516,7 @@ def __init__(__self__, }) ``` - > **NOTE**: At least one of `size` or `snapshot_id` is required when specifying an EBS volume + > **NOTE:** At least one of `size` or `snapshot_id` is required when specifying an EBS volume ## Import diff --git a/sdk/python/pulumi_aws/ec2/__init__.py b/sdk/python/pulumi_aws/ec2/__init__.py index cf4837dfe76..c39840135d9 100644 --- a/sdk/python/pulumi_aws/ec2/__init__.py +++ b/sdk/python/pulumi_aws/ec2/__init__.py @@ -79,6 +79,7 @@ from .get_vpc_endpoint_service import * from .get_vpc_iam_pool import * from .get_vpc_iam_pool_cidrs import * +from .get_vpc_iam_pools import * from .get_vpc_peering_connection import * from .get_vpc_peering_connections import * from .get_vpcs import * diff --git a/sdk/python/pulumi_aws/ec2/_inputs.py b/sdk/python/pulumi_aws/ec2/_inputs.py index 896ad3cba4a..36eb31a019e 100644 --- a/sdk/python/pulumi_aws/ec2/_inputs.py +++ b/sdk/python/pulumi_aws/ec2/_inputs.py @@ -270,6 +270,7 @@ 'GetVpcFilterArgs', 'GetVpcIamPoolCidrsFilterArgs', 'GetVpcIamPoolFilterArgs', + 'GetVpcIamPoolsFilterArgs', 'GetVpcPeeringConnectionFilterArgs', 'GetVpcPeeringConnectionsFilterArgs', 'GetVpcsFilterArgs', @@ -16739,6 +16740,33 @@ def values(self, value: Sequence[str]): pulumi.set(self, "values", value) +@pulumi.input_type +class GetVpcIamPoolsFilterArgs: + def __init__(__self__, *, + name: str, + values: Sequence[str]): + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: str): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Sequence[str]): + pulumi.set(self, "values", value) + + @pulumi.input_type class GetVpcPeeringConnectionFilterArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/ec2/default_vpc.py b/sdk/python/pulumi_aws/ec2/default_vpc.py index 2692812e167..f2d8fe6ed7b 100644 --- a/sdk/python/pulumi_aws/ec2/default_vpc.py +++ b/sdk/python/pulumi_aws/ec2/default_vpc.py @@ -19,6 +19,7 @@ def __init__(__self__, *, enable_classiclink_dns_support: Optional[pulumi.Input[bool]] = None, enable_dns_hostnames: Optional[pulumi.Input[bool]] = None, enable_dns_support: Optional[pulumi.Input[bool]] = None, + enable_network_address_usage_metrics: Optional[pulumi.Input[bool]] = None, force_destroy: Optional[pulumi.Input[bool]] = None, ipv6_cidr_block: Optional[pulumi.Input[str]] = None, ipv6_cidr_block_network_border_group: Optional[pulumi.Input[str]] = None, @@ -45,6 +46,8 @@ def __init__(__self__, *, pulumi.set(__self__, "enable_dns_hostnames", enable_dns_hostnames) if enable_dns_support is not None: pulumi.set(__self__, "enable_dns_support", enable_dns_support) + if enable_network_address_usage_metrics is not None: + pulumi.set(__self__, "enable_network_address_usage_metrics", enable_network_address_usage_metrics) if force_destroy is not None: pulumi.set(__self__, "force_destroy", force_destroy) if ipv6_cidr_block is not None: @@ -103,6 +106,15 @@ def enable_dns_support(self) -> Optional[pulumi.Input[bool]]: def enable_dns_support(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "enable_dns_support", value) + @property + @pulumi.getter(name="enableNetworkAddressUsageMetrics") + def enable_network_address_usage_metrics(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enable_network_address_usage_metrics") + + @enable_network_address_usage_metrics.setter + def enable_network_address_usage_metrics(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_network_address_usage_metrics", value) + @property @pulumi.getter(name="forceDestroy") def force_destroy(self) -> Optional[pulumi.Input[bool]]: @@ -175,6 +187,7 @@ def __init__(__self__, *, enable_classiclink_dns_support: Optional[pulumi.Input[bool]] = None, enable_dns_hostnames: Optional[pulumi.Input[bool]] = None, enable_dns_support: Optional[pulumi.Input[bool]] = None, + enable_network_address_usage_metrics: Optional[pulumi.Input[bool]] = None, existing_default_vpc: Optional[pulumi.Input[bool]] = None, force_destroy: Optional[pulumi.Input[bool]] = None, instance_tenancy: Optional[pulumi.Input[str]] = None, @@ -221,6 +234,8 @@ def __init__(__self__, *, pulumi.set(__self__, "enable_dns_hostnames", enable_dns_hostnames) if enable_dns_support is not None: pulumi.set(__self__, "enable_dns_support", enable_dns_support) + if enable_network_address_usage_metrics is not None: + pulumi.set(__self__, "enable_network_address_usage_metrics", enable_network_address_usage_metrics) if existing_default_vpc is not None: pulumi.set(__self__, "existing_default_vpc", existing_default_vpc) if force_destroy is not None: @@ -348,6 +363,15 @@ def enable_dns_support(self) -> Optional[pulumi.Input[bool]]: def enable_dns_support(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "enable_dns_support", value) + @property + @pulumi.getter(name="enableNetworkAddressUsageMetrics") + def enable_network_address_usage_metrics(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enable_network_address_usage_metrics") + + @enable_network_address_usage_metrics.setter + def enable_network_address_usage_metrics(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_network_address_usage_metrics", value) + @property @pulumi.getter(name="existingDefaultVpc") def existing_default_vpc(self) -> Optional[pulumi.Input[bool]]: @@ -473,6 +497,7 @@ def __init__(__self__, enable_classiclink_dns_support: Optional[pulumi.Input[bool]] = None, enable_dns_hostnames: Optional[pulumi.Input[bool]] = None, enable_dns_support: Optional[pulumi.Input[bool]] = None, + enable_network_address_usage_metrics: Optional[pulumi.Input[bool]] = None, force_destroy: Optional[pulumi.Input[bool]] = None, ipv6_cidr_block: Optional[pulumi.Input[str]] = None, ipv6_cidr_block_network_border_group: Optional[pulumi.Input[str]] = None, @@ -554,6 +579,7 @@ def _internal_init(__self__, enable_classiclink_dns_support: Optional[pulumi.Input[bool]] = None, enable_dns_hostnames: Optional[pulumi.Input[bool]] = None, enable_dns_support: Optional[pulumi.Input[bool]] = None, + enable_network_address_usage_metrics: Optional[pulumi.Input[bool]] = None, force_destroy: Optional[pulumi.Input[bool]] = None, ipv6_cidr_block: Optional[pulumi.Input[str]] = None, ipv6_cidr_block_network_border_group: Optional[pulumi.Input[str]] = None, @@ -580,6 +606,7 @@ def _internal_init(__self__, __props__.__dict__["enable_classiclink_dns_support"] = enable_classiclink_dns_support __props__.__dict__["enable_dns_hostnames"] = enable_dns_hostnames __props__.__dict__["enable_dns_support"] = enable_dns_support + __props__.__dict__["enable_network_address_usage_metrics"] = enable_network_address_usage_metrics __props__.__dict__["force_destroy"] = force_destroy __props__.__dict__["ipv6_cidr_block"] = ipv6_cidr_block __props__.__dict__["ipv6_cidr_block_network_border_group"] = ipv6_cidr_block_network_border_group @@ -619,6 +646,7 @@ def get(resource_name: str, enable_classiclink_dns_support: Optional[pulumi.Input[bool]] = None, enable_dns_hostnames: Optional[pulumi.Input[bool]] = None, enable_dns_support: Optional[pulumi.Input[bool]] = None, + enable_network_address_usage_metrics: Optional[pulumi.Input[bool]] = None, existing_default_vpc: Optional[pulumi.Input[bool]] = None, force_destroy: Optional[pulumi.Input[bool]] = None, instance_tenancy: Optional[pulumi.Input[str]] = None, @@ -657,6 +685,7 @@ def get(resource_name: str, __props__.__dict__["enable_classiclink_dns_support"] = enable_classiclink_dns_support __props__.__dict__["enable_dns_hostnames"] = enable_dns_hostnames __props__.__dict__["enable_dns_support"] = enable_dns_support + __props__.__dict__["enable_network_address_usage_metrics"] = enable_network_address_usage_metrics __props__.__dict__["existing_default_vpc"] = existing_default_vpc __props__.__dict__["force_destroy"] = force_destroy __props__.__dict__["instance_tenancy"] = instance_tenancy @@ -729,6 +758,11 @@ def enable_dns_hostnames(self) -> pulumi.Output[Optional[bool]]: def enable_dns_support(self) -> pulumi.Output[Optional[bool]]: return pulumi.get(self, "enable_dns_support") + @property + @pulumi.getter(name="enableNetworkAddressUsageMetrics") + def enable_network_address_usage_metrics(self) -> pulumi.Output[Optional[bool]]: + return pulumi.get(self, "enable_network_address_usage_metrics") + @property @pulumi.getter(name="existingDefaultVpc") def existing_default_vpc(self) -> pulumi.Output[bool]: diff --git a/sdk/python/pulumi_aws/ec2/get_nat_gateway.py b/sdk/python/pulumi_aws/ec2/get_nat_gateway.py index 82d099fb614..1729850e89a 100644 --- a/sdk/python/pulumi_aws/ec2/get_nat_gateway.py +++ b/sdk/python/pulumi_aws/ec2/get_nat_gateway.py @@ -164,8 +164,6 @@ def get_nat_gateway(filters: Optional[Sequence[pulumi.InputType['GetNatGatewayFi import pulumi import pulumi_aws as aws - config = pulumi.Config() - subnet_id = config.require_object("subnetId") default = aws.ec2.get_nat_gateway(subnet_id=aws_subnet["public"]["id"]) ``` @@ -231,8 +229,6 @@ def get_nat_gateway_output(filters: Optional[pulumi.Input[Optional[Sequence[pulu import pulumi import pulumi_aws as aws - config = pulumi.Config() - subnet_id = config.require_object("subnetId") default = aws.ec2.get_nat_gateway(subnet_id=aws_subnet["public"]["id"]) ``` diff --git a/sdk/python/pulumi_aws/ec2/get_vpc.py b/sdk/python/pulumi_aws/ec2/get_vpc.py index a6c51383749..7f56d913fea 100644 --- a/sdk/python/pulumi_aws/ec2/get_vpc.py +++ b/sdk/python/pulumi_aws/ec2/get_vpc.py @@ -23,7 +23,7 @@ class GetVpcResult: """ A collection of values returned by getVpc. """ - def __init__(__self__, arn=None, cidr_block=None, cidr_block_associations=None, default=None, dhcp_options_id=None, enable_dns_hostnames=None, enable_dns_support=None, filters=None, id=None, instance_tenancy=None, ipv6_association_id=None, ipv6_cidr_block=None, main_route_table_id=None, owner_id=None, state=None, tags=None): + def __init__(__self__, arn=None, cidr_block=None, cidr_block_associations=None, default=None, dhcp_options_id=None, enable_dns_hostnames=None, enable_dns_support=None, enable_network_address_usage_metrics=None, filters=None, id=None, instance_tenancy=None, ipv6_association_id=None, ipv6_cidr_block=None, main_route_table_id=None, owner_id=None, state=None, tags=None): if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) @@ -45,6 +45,9 @@ def __init__(__self__, arn=None, cidr_block=None, cidr_block_associations=None, if enable_dns_support and not isinstance(enable_dns_support, bool): raise TypeError("Expected argument 'enable_dns_support' to be a bool") pulumi.set(__self__, "enable_dns_support", enable_dns_support) + if enable_network_address_usage_metrics and not isinstance(enable_network_address_usage_metrics, bool): + raise TypeError("Expected argument 'enable_network_address_usage_metrics' to be a bool") + pulumi.set(__self__, "enable_network_address_usage_metrics", enable_network_address_usage_metrics) if filters and not isinstance(filters, list): raise TypeError("Expected argument 'filters' to be a list") pulumi.set(__self__, "filters", filters) @@ -120,6 +123,14 @@ def enable_dns_support(self) -> bool: """ return pulumi.get(self, "enable_dns_support") + @property + @pulumi.getter(name="enableNetworkAddressUsageMetrics") + def enable_network_address_usage_metrics(self) -> bool: + """ + Whether Network Address Usage metrics are enabled for your VPC + """ + return pulumi.get(self, "enable_network_address_usage_metrics") + @property @pulumi.getter def filters(self) -> Optional[Sequence['outputs.GetVpcFilterResult']]: @@ -198,6 +209,7 @@ def __await__(self): dhcp_options_id=self.dhcp_options_id, enable_dns_hostnames=self.enable_dns_hostnames, enable_dns_support=self.enable_dns_support, + enable_network_address_usage_metrics=self.enable_network_address_usage_metrics, filters=self.filters, id=self.id, instance_tenancy=self.instance_tenancy, @@ -255,6 +267,7 @@ def get_vpc(cidr_block: Optional[str] = None, dhcp_options_id=__ret__.dhcp_options_id, enable_dns_hostnames=__ret__.enable_dns_hostnames, enable_dns_support=__ret__.enable_dns_support, + enable_network_address_usage_metrics=__ret__.enable_network_address_usage_metrics, filters=__ret__.filters, id=__ret__.id, instance_tenancy=__ret__.instance_tenancy, diff --git a/sdk/python/pulumi_aws/ec2/get_vpc_iam_pools.py b/sdk/python/pulumi_aws/ec2/get_vpc_iam_pools.py new file mode 100644 index 00000000000..11d19a6ecdf --- /dev/null +++ b/sdk/python/pulumi_aws/ec2/get_vpc_iam_pools.py @@ -0,0 +1,142 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = [ + 'GetVpcIamPoolsResult', + 'AwaitableGetVpcIamPoolsResult', + 'get_vpc_iam_pools', + 'get_vpc_iam_pools_output', +] + +@pulumi.output_type +class GetVpcIamPoolsResult: + """ + A collection of values returned by getVpcIamPools. + """ + def __init__(__self__, filters=None, id=None, ipam_pools=None): + if filters and not isinstance(filters, list): + raise TypeError("Expected argument 'filters' to be a list") + pulumi.set(__self__, "filters", filters) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if ipam_pools and not isinstance(ipam_pools, list): + raise TypeError("Expected argument 'ipam_pools' to be a list") + pulumi.set(__self__, "ipam_pools", ipam_pools) + + @property + @pulumi.getter + def filters(self) -> Optional[Sequence['outputs.GetVpcIamPoolsFilterResult']]: + return pulumi.get(self, "filters") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="ipamPools") + def ipam_pools(self) -> Sequence['outputs.GetVpcIamPoolsIpamPoolResult']: + """ + List of IPAM pools and their attributes. See below for details + """ + return pulumi.get(self, "ipam_pools") + + +class AwaitableGetVpcIamPoolsResult(GetVpcIamPoolsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVpcIamPoolsResult( + filters=self.filters, + id=self.id, + ipam_pools=self.ipam_pools) + + +def get_vpc_iam_pools(filters: Optional[Sequence[pulumi.InputType['GetVpcIamPoolsFilterArgs']]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpcIamPoolsResult: + """ + `ec2.get_vpc_iam_pools` provides details about IPAM pools. + + This resource can prove useful when IPAM pools are created in another root + module and you need the pool ids as input variables. For example, pools + can be shared via RAM and used to create vpcs with CIDRs from that pool. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.ec2.get_vpc_iam_pools(filters=[ + aws.ec2.GetVpcIamPoolsFilterArgs( + name="description", + values=["*test*"], + ), + aws.ec2.GetVpcIamPoolsFilterArgs( + name="address-family", + values=["ipv4"], + ), + ]) + ``` + + + :param Sequence[pulumi.InputType['GetVpcIamPoolsFilterArgs']] filters: Custom filter block as described below. + """ + __args__ = dict() + __args__['filters'] = filters + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:ec2/getVpcIamPools:getVpcIamPools', __args__, opts=opts, typ=GetVpcIamPoolsResult).value + + return AwaitableGetVpcIamPoolsResult( + filters=__ret__.filters, + id=__ret__.id, + ipam_pools=__ret__.ipam_pools) + + +@_utilities.lift_output_func(get_vpc_iam_pools) +def get_vpc_iam_pools_output(filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetVpcIamPoolsFilterArgs']]]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcIamPoolsResult]: + """ + `ec2.get_vpc_iam_pools` provides details about IPAM pools. + + This resource can prove useful when IPAM pools are created in another root + module and you need the pool ids as input variables. For example, pools + can be shared via RAM and used to create vpcs with CIDRs from that pool. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.ec2.get_vpc_iam_pools(filters=[ + aws.ec2.GetVpcIamPoolsFilterArgs( + name="description", + values=["*test*"], + ), + aws.ec2.GetVpcIamPoolsFilterArgs( + name="address-family", + values=["ipv4"], + ), + ]) + ``` + + + :param Sequence[pulumi.InputType['GetVpcIamPoolsFilterArgs']] filters: Custom filter block as described below. + """ + ... diff --git a/sdk/python/pulumi_aws/ec2/network_interface.py b/sdk/python/pulumi_aws/ec2/network_interface.py index cf9f4e7873c..78cbc8448ca 100644 --- a/sdk/python/pulumi_aws/ec2/network_interface.py +++ b/sdk/python/pulumi_aws/ec2/network_interface.py @@ -45,6 +45,7 @@ def __init__(__self__, *, :param pulumi.Input[int] ipv4_prefix_count: Number of IPv4 prefixes that AWS automatically assigns to the network interface. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv4_prefixes: One or more IPv4 prefixes assigned to the network interface. :param pulumi.Input[int] ipv6_address_count: Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6_addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. + :param pulumi.Input[bool] ipv6_address_list_enabled: Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_address_lists: List of private IPs to assign to the ENI in sequential order. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_addresses: One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying `ipv6_address_count`. :param pulumi.Input[int] ipv6_prefix_count: Number of IPv6 prefixes that AWS automatically assigns to the network interface. @@ -184,6 +185,9 @@ def ipv6_address_count(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="ipv6AddressListEnabled") def ipv6_address_list_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + """ return pulumi.get(self, "ipv6_address_list_enabled") @ipv6_address_list_enabled.setter @@ -370,6 +374,7 @@ def __init__(__self__, *, :param pulumi.Input[int] ipv4_prefix_count: Number of IPv4 prefixes that AWS automatically assigns to the network interface. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv4_prefixes: One or more IPv4 prefixes assigned to the network interface. :param pulumi.Input[int] ipv6_address_count: Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6_addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. + :param pulumi.Input[bool] ipv6_address_list_enabled: Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_address_lists: List of private IPs to assign to the ENI in sequential order. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_addresses: One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying `ipv6_address_count`. :param pulumi.Input[int] ipv6_prefix_count: Number of IPv6 prefixes that AWS automatically assigns to the network interface. @@ -526,6 +531,9 @@ def ipv6_address_count(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="ipv6AddressListEnabled") def ipv6_address_list_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + """ return pulumi.get(self, "ipv6_address_list_enabled") @ipv6_address_list_enabled.setter @@ -817,6 +825,7 @@ def __init__(__self__, :param pulumi.Input[int] ipv4_prefix_count: Number of IPv4 prefixes that AWS automatically assigns to the network interface. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv4_prefixes: One or more IPv4 prefixes assigned to the network interface. :param pulumi.Input[int] ipv6_address_count: Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6_addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. + :param pulumi.Input[bool] ipv6_address_list_enabled: Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_address_lists: List of private IPs to assign to the ENI in sequential order. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_addresses: One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying `ipv6_address_count`. :param pulumi.Input[int] ipv6_prefix_count: Number of IPv6 prefixes that AWS automatically assigns to the network interface. @@ -1001,6 +1010,7 @@ def get(resource_name: str, :param pulumi.Input[int] ipv4_prefix_count: Number of IPv4 prefixes that AWS automatically assigns to the network interface. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv4_prefixes: One or more IPv4 prefixes assigned to the network interface. :param pulumi.Input[int] ipv6_address_count: Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6_addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. + :param pulumi.Input[bool] ipv6_address_list_enabled: Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_address_lists: List of private IPs to assign to the ENI in sequential order. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_addresses: One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying `ipv6_address_count`. :param pulumi.Input[int] ipv6_prefix_count: Number of IPv6 prefixes that AWS automatically assigns to the network interface. @@ -1108,6 +1118,9 @@ def ipv6_address_count(self) -> pulumi.Output[int]: @property @pulumi.getter(name="ipv6AddressListEnabled") def ipv6_address_list_enabled(self) -> pulumi.Output[Optional[bool]]: + """ + Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + """ return pulumi.get(self, "ipv6_address_list_enabled") @property diff --git a/sdk/python/pulumi_aws/ec2/outputs.py b/sdk/python/pulumi_aws/ec2/outputs.py index e170108631c..ad21e2bbdb0 100644 --- a/sdk/python/pulumi_aws/ec2/outputs.py +++ b/sdk/python/pulumi_aws/ec2/outputs.py @@ -409,6 +409,8 @@ 'GetVpcIamPoolCidrsFilterResult', 'GetVpcIamPoolCidrsIpamPoolCidrResult', 'GetVpcIamPoolFilterResult', + 'GetVpcIamPoolsFilterResult', + 'GetVpcIamPoolsIpamPoolResult', 'GetVpcPeeringConnectionCidrBlockSetResult', 'GetVpcPeeringConnectionFilterResult', 'GetVpcPeeringConnectionPeerCidrBlockSetResult', @@ -21466,6 +21468,226 @@ def values(self) -> Sequence[str]: return pulumi.get(self, "values") +@pulumi.output_type +class GetVpcIamPoolsFilterResult(dict): + def __init__(__self__, *, + name: str, + values: Sequence[str]): + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetVpcIamPoolsIpamPoolResult(dict): + def __init__(__self__, *, + address_family: str, + allocation_default_netmask_length: int, + allocation_max_netmask_length: int, + allocation_min_netmask_length: int, + allocation_resource_tags: Mapping[str, str], + arn: str, + auto_import: bool, + aws_service: str, + description: str, + ipam_pool_id: str, + ipam_scope_id: str, + ipam_scope_type: str, + locale: str, + pool_depth: int, + publicly_advertisable: bool, + source_ipam_pool_id: str, + state: str, + tags: Mapping[str, str], + id: Optional[str] = None): + """ + :param str address_family: IP protocol assigned to this pool. + :param int allocation_default_netmask_length: A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. + :param int allocation_max_netmask_length: The maximum netmask length that will be required for CIDR allocations in this pool. + :param int allocation_min_netmask_length: The minimum netmask length that will be required for CIDR allocations in this pool. + :param Mapping[str, str] allocation_resource_tags: Tags that are required to create resources in using this pool. + :param str arn: ARN of the pool + :param bool auto_import: If enabled, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. + :param str aws_service: Limits which service in AWS that the pool can be used in. "ec2", for example, allows users to use space for Elastic IP addresses and VPCs. + :param str description: Description for the IPAM pool. + :param str ipam_scope_id: ID of the scope the pool belongs to. + :param str locale: Locale is the Region where your pool is available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region. + :param bool publicly_advertisable: Defines whether or not IPv6 pool space is publicly ∂advertisable over the internet. + :param str source_ipam_pool_id: ID of the source IPAM pool. + :param Mapping[str, str] tags: Map of tags to assigned to the resource. + :param str id: ID of the IPAM pool. + """ + pulumi.set(__self__, "address_family", address_family) + pulumi.set(__self__, "allocation_default_netmask_length", allocation_default_netmask_length) + pulumi.set(__self__, "allocation_max_netmask_length", allocation_max_netmask_length) + pulumi.set(__self__, "allocation_min_netmask_length", allocation_min_netmask_length) + pulumi.set(__self__, "allocation_resource_tags", allocation_resource_tags) + pulumi.set(__self__, "arn", arn) + pulumi.set(__self__, "auto_import", auto_import) + pulumi.set(__self__, "aws_service", aws_service) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "ipam_pool_id", ipam_pool_id) + pulumi.set(__self__, "ipam_scope_id", ipam_scope_id) + pulumi.set(__self__, "ipam_scope_type", ipam_scope_type) + pulumi.set(__self__, "locale", locale) + pulumi.set(__self__, "pool_depth", pool_depth) + pulumi.set(__self__, "publicly_advertisable", publicly_advertisable) + pulumi.set(__self__, "source_ipam_pool_id", source_ipam_pool_id) + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "tags", tags) + if id is not None: + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter(name="addressFamily") + def address_family(self) -> str: + """ + IP protocol assigned to this pool. + """ + return pulumi.get(self, "address_family") + + @property + @pulumi.getter(name="allocationDefaultNetmaskLength") + def allocation_default_netmask_length(self) -> int: + """ + A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16. + """ + return pulumi.get(self, "allocation_default_netmask_length") + + @property + @pulumi.getter(name="allocationMaxNetmaskLength") + def allocation_max_netmask_length(self) -> int: + """ + The maximum netmask length that will be required for CIDR allocations in this pool. + """ + return pulumi.get(self, "allocation_max_netmask_length") + + @property + @pulumi.getter(name="allocationMinNetmaskLength") + def allocation_min_netmask_length(self) -> int: + """ + The minimum netmask length that will be required for CIDR allocations in this pool. + """ + return pulumi.get(self, "allocation_min_netmask_length") + + @property + @pulumi.getter(name="allocationResourceTags") + def allocation_resource_tags(self) -> Mapping[str, str]: + """ + Tags that are required to create resources in using this pool. + """ + return pulumi.get(self, "allocation_resource_tags") + + @property + @pulumi.getter + def arn(self) -> str: + """ + ARN of the pool + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="autoImport") + def auto_import(self) -> bool: + """ + If enabled, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. + """ + return pulumi.get(self, "auto_import") + + @property + @pulumi.getter(name="awsService") + def aws_service(self) -> str: + """ + Limits which service in AWS that the pool can be used in. "ec2", for example, allows users to use space for Elastic IP addresses and VPCs. + """ + return pulumi.get(self, "aws_service") + + @property + @pulumi.getter + def description(self) -> str: + """ + Description for the IPAM pool. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="ipamPoolId") + def ipam_pool_id(self) -> str: + return pulumi.get(self, "ipam_pool_id") + + @property + @pulumi.getter(name="ipamScopeId") + def ipam_scope_id(self) -> str: + """ + ID of the scope the pool belongs to. + """ + return pulumi.get(self, "ipam_scope_id") + + @property + @pulumi.getter(name="ipamScopeType") + def ipam_scope_type(self) -> str: + return pulumi.get(self, "ipam_scope_type") + + @property + @pulumi.getter + def locale(self) -> str: + """ + Locale is the Region where your pool is available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region. + """ + return pulumi.get(self, "locale") + + @property + @pulumi.getter(name="poolDepth") + def pool_depth(self) -> int: + return pulumi.get(self, "pool_depth") + + @property + @pulumi.getter(name="publiclyAdvertisable") + def publicly_advertisable(self) -> bool: + """ + Defines whether or not IPv6 pool space is publicly ∂advertisable over the internet. + """ + return pulumi.get(self, "publicly_advertisable") + + @property + @pulumi.getter(name="sourceIpamPoolId") + def source_ipam_pool_id(self) -> str: + """ + ID of the source IPAM pool. + """ + return pulumi.get(self, "source_ipam_pool_id") + + @property + @pulumi.getter + def state(self) -> str: + return pulumi.get(self, "state") + + @property + @pulumi.getter + def tags(self) -> Mapping[str, str]: + """ + Map of tags to assigned to the resource. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + ID of the IPAM pool. + """ + return pulumi.get(self, "id") + + @pulumi.output_type class GetVpcPeeringConnectionCidrBlockSetResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/ec2/security_group_rule.py b/sdk/python/pulumi_aws/ec2/security_group_rule.py index 1b518609496..f1709a93eef 100644 --- a/sdk/python/pulumi_aws/ec2/security_group_rule.py +++ b/sdk/python/pulumi_aws/ec2/security_group_rule.py @@ -401,8 +401,8 @@ def __init__(__self__, `egress` group rule, which can be added to external Security Groups. > **NOTE on Security Groups and Security Group Rules:** This provider currently - provides both a standalone Security Group Rule resource (a single `ingress` or - `egress` rule), and a Security Group resource with `ingress` and `egress` rules + provides both a standalone Security Group Rule resource (one or many `ingress` or + `egress` rules), and a Security Group resource with `ingress` and `egress` rules defined in-line. At this time you cannot use a Security Group with in-line rules in conjunction with any Security Group Rule resources. Doing so will cause a conflict of rule settings and will overwrite rules. @@ -541,8 +541,8 @@ def __init__(__self__, `egress` group rule, which can be added to external Security Groups. > **NOTE on Security Groups and Security Group Rules:** This provider currently - provides both a standalone Security Group Rule resource (a single `ingress` or - `egress` rule), and a Security Group resource with `ingress` and `egress` rules + provides both a standalone Security Group Rule resource (one or many `ingress` or + `egress` rules), and a Security Group resource with `ingress` and `egress` rules defined in-line. At this time you cannot use a Security Group with in-line rules in conjunction with any Security Group Rule resources. Doing so will cause a conflict of rule settings and will overwrite rules. diff --git a/sdk/python/pulumi_aws/ec2/vpc.py b/sdk/python/pulumi_aws/ec2/vpc.py index c6f4679dcfc..97e98e6b504 100644 --- a/sdk/python/pulumi_aws/ec2/vpc.py +++ b/sdk/python/pulumi_aws/ec2/vpc.py @@ -20,6 +20,7 @@ def __init__(__self__, *, enable_classiclink_dns_support: Optional[pulumi.Input[bool]] = None, enable_dns_hostnames: Optional[pulumi.Input[bool]] = None, enable_dns_support: Optional[pulumi.Input[bool]] = None, + enable_network_address_usage_metrics: Optional[pulumi.Input[bool]] = None, instance_tenancy: Optional[pulumi.Input[str]] = None, ipv4_ipam_pool_id: Optional[pulumi.Input[str]] = None, ipv4_netmask_length: Optional[pulumi.Input[int]] = None, @@ -38,7 +39,8 @@ def __init__(__self__, *, :param pulumi.Input[bool] enable_classiclink_dns_support: A boolean flag to enable/disable ClassicLink DNS Support for the VPC. Only valid in regions and accounts that support EC2 Classic. :param pulumi.Input[bool] enable_dns_hostnames: A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false. - :param pulumi.Input[bool] enable_dns_support: A boolean flag to enable/disable DNS support in the VPC. Defaults true. + :param pulumi.Input[bool] enable_dns_support: A boolean flag to enable/disable DNS support in the VPC. Defaults to true. + :param pulumi.Input[bool] enable_network_address_usage_metrics: Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. :param pulumi.Input[str] instance_tenancy: A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. :param pulumi.Input[str] ipv4_ipam_pool_id: The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Using IPAM you can monitor IP address usage throughout your AWS Organization. :param pulumi.Input[int] ipv4_netmask_length: The netmask length of the IPv4 CIDR you want to allocate to this VPC. Requires specifying a `ipv4_ipam_pool_id`. @@ -66,6 +68,8 @@ def __init__(__self__, *, pulumi.set(__self__, "enable_dns_hostnames", enable_dns_hostnames) if enable_dns_support is not None: pulumi.set(__self__, "enable_dns_support", enable_dns_support) + if enable_network_address_usage_metrics is not None: + pulumi.set(__self__, "enable_network_address_usage_metrics", enable_network_address_usage_metrics) if instance_tenancy is not None: pulumi.set(__self__, "instance_tenancy", instance_tenancy) if ipv4_ipam_pool_id is not None: @@ -150,7 +154,7 @@ def enable_dns_hostnames(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="enableDnsSupport") def enable_dns_support(self) -> Optional[pulumi.Input[bool]]: """ - A boolean flag to enable/disable DNS support in the VPC. Defaults true. + A boolean flag to enable/disable DNS support in the VPC. Defaults to true. """ return pulumi.get(self, "enable_dns_support") @@ -158,6 +162,18 @@ def enable_dns_support(self) -> Optional[pulumi.Input[bool]]: def enable_dns_support(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "enable_dns_support", value) + @property + @pulumi.getter(name="enableNetworkAddressUsageMetrics") + def enable_network_address_usage_metrics(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + """ + return pulumi.get(self, "enable_network_address_usage_metrics") + + @enable_network_address_usage_metrics.setter + def enable_network_address_usage_metrics(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_network_address_usage_metrics", value) + @property @pulumi.getter(name="instanceTenancy") def instance_tenancy(self) -> Optional[pulumi.Input[str]]: @@ -269,6 +285,7 @@ def __init__(__self__, *, enable_classiclink_dns_support: Optional[pulumi.Input[bool]] = None, enable_dns_hostnames: Optional[pulumi.Input[bool]] = None, enable_dns_support: Optional[pulumi.Input[bool]] = None, + enable_network_address_usage_metrics: Optional[pulumi.Input[bool]] = None, instance_tenancy: Optional[pulumi.Input[str]] = None, ipv4_ipam_pool_id: Optional[pulumi.Input[str]] = None, ipv4_netmask_length: Optional[pulumi.Input[int]] = None, @@ -295,7 +312,8 @@ def __init__(__self__, *, :param pulumi.Input[bool] enable_classiclink_dns_support: A boolean flag to enable/disable ClassicLink DNS Support for the VPC. Only valid in regions and accounts that support EC2 Classic. :param pulumi.Input[bool] enable_dns_hostnames: A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false. - :param pulumi.Input[bool] enable_dns_support: A boolean flag to enable/disable DNS support in the VPC. Defaults true. + :param pulumi.Input[bool] enable_dns_support: A boolean flag to enable/disable DNS support in the VPC. Defaults to true. + :param pulumi.Input[bool] enable_network_address_usage_metrics: Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. :param pulumi.Input[str] instance_tenancy: A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. :param pulumi.Input[str] ipv4_ipam_pool_id: The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Using IPAM you can monitor IP address usage throughout your AWS Organization. :param pulumi.Input[int] ipv4_netmask_length: The netmask length of the IPv4 CIDR you want to allocate to this VPC. Requires specifying a `ipv4_ipam_pool_id`. @@ -339,6 +357,8 @@ def __init__(__self__, *, pulumi.set(__self__, "enable_dns_hostnames", enable_dns_hostnames) if enable_dns_support is not None: pulumi.set(__self__, "enable_dns_support", enable_dns_support) + if enable_network_address_usage_metrics is not None: + pulumi.set(__self__, "enable_network_address_usage_metrics", enable_network_address_usage_metrics) if instance_tenancy is not None: pulumi.set(__self__, "instance_tenancy", instance_tenancy) if ipv4_ipam_pool_id is not None: @@ -488,7 +508,7 @@ def enable_dns_hostnames(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="enableDnsSupport") def enable_dns_support(self) -> Optional[pulumi.Input[bool]]: """ - A boolean flag to enable/disable DNS support in the VPC. Defaults true. + A boolean flag to enable/disable DNS support in the VPC. Defaults to true. """ return pulumi.get(self, "enable_dns_support") @@ -496,6 +516,18 @@ def enable_dns_support(self) -> Optional[pulumi.Input[bool]]: def enable_dns_support(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "enable_dns_support", value) + @property + @pulumi.getter(name="enableNetworkAddressUsageMetrics") + def enable_network_address_usage_metrics(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + """ + return pulumi.get(self, "enable_network_address_usage_metrics") + + @enable_network_address_usage_metrics.setter + def enable_network_address_usage_metrics(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_network_address_usage_metrics", value) + @property @pulumi.getter(name="instanceTenancy") def instance_tenancy(self) -> Optional[pulumi.Input[str]]: @@ -654,6 +686,7 @@ def __init__(__self__, enable_classiclink_dns_support: Optional[pulumi.Input[bool]] = None, enable_dns_hostnames: Optional[pulumi.Input[bool]] = None, enable_dns_support: Optional[pulumi.Input[bool]] = None, + enable_network_address_usage_metrics: Optional[pulumi.Input[bool]] = None, instance_tenancy: Optional[pulumi.Input[str]] = None, ipv4_ipam_pool_id: Optional[pulumi.Input[str]] = None, ipv4_netmask_length: Optional[pulumi.Input[int]] = None, @@ -732,7 +765,8 @@ def __init__(__self__, :param pulumi.Input[bool] enable_classiclink_dns_support: A boolean flag to enable/disable ClassicLink DNS Support for the VPC. Only valid in regions and accounts that support EC2 Classic. :param pulumi.Input[bool] enable_dns_hostnames: A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false. - :param pulumi.Input[bool] enable_dns_support: A boolean flag to enable/disable DNS support in the VPC. Defaults true. + :param pulumi.Input[bool] enable_dns_support: A boolean flag to enable/disable DNS support in the VPC. Defaults to true. + :param pulumi.Input[bool] enable_network_address_usage_metrics: Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. :param pulumi.Input[str] instance_tenancy: A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. :param pulumi.Input[str] ipv4_ipam_pool_id: The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Using IPAM you can monitor IP address usage throughout your AWS Organization. :param pulumi.Input[int] ipv4_netmask_length: The netmask length of the IPv4 CIDR you want to allocate to this VPC. Requires specifying a `ipv4_ipam_pool_id`. @@ -828,6 +862,7 @@ def _internal_init(__self__, enable_classiclink_dns_support: Optional[pulumi.Input[bool]] = None, enable_dns_hostnames: Optional[pulumi.Input[bool]] = None, enable_dns_support: Optional[pulumi.Input[bool]] = None, + enable_network_address_usage_metrics: Optional[pulumi.Input[bool]] = None, instance_tenancy: Optional[pulumi.Input[str]] = None, ipv4_ipam_pool_id: Optional[pulumi.Input[str]] = None, ipv4_netmask_length: Optional[pulumi.Input[int]] = None, @@ -857,6 +892,7 @@ def _internal_init(__self__, __props__.__dict__["enable_classiclink_dns_support"] = enable_classiclink_dns_support __props__.__dict__["enable_dns_hostnames"] = enable_dns_hostnames __props__.__dict__["enable_dns_support"] = enable_dns_support + __props__.__dict__["enable_network_address_usage_metrics"] = enable_network_address_usage_metrics __props__.__dict__["instance_tenancy"] = instance_tenancy __props__.__dict__["ipv4_ipam_pool_id"] = ipv4_ipam_pool_id __props__.__dict__["ipv4_netmask_length"] = ipv4_netmask_length @@ -895,6 +931,7 @@ def get(resource_name: str, enable_classiclink_dns_support: Optional[pulumi.Input[bool]] = None, enable_dns_hostnames: Optional[pulumi.Input[bool]] = None, enable_dns_support: Optional[pulumi.Input[bool]] = None, + enable_network_address_usage_metrics: Optional[pulumi.Input[bool]] = None, instance_tenancy: Optional[pulumi.Input[str]] = None, ipv4_ipam_pool_id: Optional[pulumi.Input[str]] = None, ipv4_netmask_length: Optional[pulumi.Input[int]] = None, @@ -926,7 +963,8 @@ def get(resource_name: str, :param pulumi.Input[bool] enable_classiclink_dns_support: A boolean flag to enable/disable ClassicLink DNS Support for the VPC. Only valid in regions and accounts that support EC2 Classic. :param pulumi.Input[bool] enable_dns_hostnames: A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false. - :param pulumi.Input[bool] enable_dns_support: A boolean flag to enable/disable DNS support in the VPC. Defaults true. + :param pulumi.Input[bool] enable_dns_support: A boolean flag to enable/disable DNS support in the VPC. Defaults to true. + :param pulumi.Input[bool] enable_network_address_usage_metrics: Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. :param pulumi.Input[str] instance_tenancy: A tenancy option for instances launched into the VPC. Default is `default`, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is `dedicated`, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee. :param pulumi.Input[str] ipv4_ipam_pool_id: The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Using IPAM you can monitor IP address usage throughout your AWS Organization. :param pulumi.Input[int] ipv4_netmask_length: The netmask length of the IPv4 CIDR you want to allocate to this VPC. Requires specifying a `ipv4_ipam_pool_id`. @@ -957,6 +995,7 @@ def get(resource_name: str, __props__.__dict__["enable_classiclink_dns_support"] = enable_classiclink_dns_support __props__.__dict__["enable_dns_hostnames"] = enable_dns_hostnames __props__.__dict__["enable_dns_support"] = enable_dns_support + __props__.__dict__["enable_network_address_usage_metrics"] = enable_network_address_usage_metrics __props__.__dict__["instance_tenancy"] = instance_tenancy __props__.__dict__["ipv4_ipam_pool_id"] = ipv4_ipam_pool_id __props__.__dict__["ipv4_netmask_length"] = ipv4_netmask_length @@ -1055,10 +1094,18 @@ def enable_dns_hostnames(self) -> pulumi.Output[bool]: @pulumi.getter(name="enableDnsSupport") def enable_dns_support(self) -> pulumi.Output[Optional[bool]]: """ - A boolean flag to enable/disable DNS support in the VPC. Defaults true. + A boolean flag to enable/disable DNS support in the VPC. Defaults to true. """ return pulumi.get(self, "enable_dns_support") + @property + @pulumi.getter(name="enableNetworkAddressUsageMetrics") + def enable_network_address_usage_metrics(self) -> pulumi.Output[bool]: + """ + Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false. + """ + return pulumi.get(self, "enable_network_address_usage_metrics") + @property @pulumi.getter(name="instanceTenancy") def instance_tenancy(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_aws/ec2clientvpn/route.py b/sdk/python/pulumi_aws/ec2clientvpn/route.py index 229648b66ae..c7845e71a1e 100644 --- a/sdk/python/pulumi_aws/ec2clientvpn/route.py +++ b/sdk/python/pulumi_aws/ec2clientvpn/route.py @@ -23,7 +23,7 @@ def __init__(__self__, *, :param pulumi.Input[str] client_vpn_endpoint_id: The ID of the Client VPN endpoint. :param pulumi.Input[str] destination_cidr_block: The IPv4 address range, in CIDR notation, of the route destination. :param pulumi.Input[str] target_vpc_subnet_id: The ID of the Subnet to route the traffic through. It must already be attached to the Client VPN. - :param pulumi.Input[str] description: A brief description of the authorization rule. + :param pulumi.Input[str] description: A brief description of the route. """ pulumi.set(__self__, "client_vpn_endpoint_id", client_vpn_endpoint_id) pulumi.set(__self__, "destination_cidr_block", destination_cidr_block) @@ -71,7 +71,7 @@ def target_vpc_subnet_id(self, value: pulumi.Input[str]): @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: """ - A brief description of the authorization rule. + A brief description of the route. """ return pulumi.get(self, "description") @@ -92,7 +92,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering Route resources. :param pulumi.Input[str] client_vpn_endpoint_id: The ID of the Client VPN endpoint. - :param pulumi.Input[str] description: A brief description of the authorization rule. + :param pulumi.Input[str] description: A brief description of the route. :param pulumi.Input[str] destination_cidr_block: The IPv4 address range, in CIDR notation, of the route destination. :param pulumi.Input[str] origin: Indicates how the Client VPN route was added. Will be `add-route` for routes created by this resource. :param pulumi.Input[str] target_vpc_subnet_id: The ID of the Subnet to route the traffic through. It must already be attached to the Client VPN. @@ -127,7 +127,7 @@ def client_vpn_endpoint_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: """ - A brief description of the authorization rule. + A brief description of the route. """ return pulumi.get(self, "description") @@ -235,7 +235,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] client_vpn_endpoint_id: The ID of the Client VPN endpoint. - :param pulumi.Input[str] description: A brief description of the authorization rule. + :param pulumi.Input[str] description: A brief description of the route. :param pulumi.Input[str] destination_cidr_block: The IPv4 address range, in CIDR notation, of the route destination. :param pulumi.Input[str] target_vpc_subnet_id: The ID of the Subnet to route the traffic through. It must already be attached to the Client VPN. """ @@ -347,7 +347,7 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] client_vpn_endpoint_id: The ID of the Client VPN endpoint. - :param pulumi.Input[str] description: A brief description of the authorization rule. + :param pulumi.Input[str] description: A brief description of the route. :param pulumi.Input[str] destination_cidr_block: The IPv4 address range, in CIDR notation, of the route destination. :param pulumi.Input[str] origin: Indicates how the Client VPN route was added. Will be `add-route` for routes created by this resource. :param pulumi.Input[str] target_vpc_subnet_id: The ID of the Subnet to route the traffic through. It must already be attached to the Client VPN. @@ -377,7 +377,7 @@ def client_vpn_endpoint_id(self) -> pulumi.Output[str]: @pulumi.getter def description(self) -> pulumi.Output[Optional[str]]: """ - A brief description of the authorization rule. + A brief description of the route. """ return pulumi.get(self, "description") diff --git a/sdk/python/pulumi_aws/ec2transitgateway/connect_peer.py b/sdk/python/pulumi_aws/ec2transitgateway/connect_peer.py index 55820adbf54..febd73ae61e 100644 --- a/sdk/python/pulumi_aws/ec2transitgateway/connect_peer.py +++ b/sdk/python/pulumi_aws/ec2transitgateway/connect_peer.py @@ -266,7 +266,7 @@ def __init__(__self__, transit_gateway_id=aws_ec2_transit_gateway["example"]["id"]) example_connect_peer = aws.ec2transitgateway.ConnectPeer("exampleConnectPeer", peer_address="10.1.2.3", - inside_cidr_blocks="169.254.100.0/29", + inside_cidr_blocks=["169.254.100.0/29"], transit_gateway_attachment_id=example_connect.id) ``` @@ -306,7 +306,7 @@ def __init__(__self__, transit_gateway_id=aws_ec2_transit_gateway["example"]["id"]) example_connect_peer = aws.ec2transitgateway.ConnectPeer("exampleConnectPeer", peer_address="10.1.2.3", - inside_cidr_blocks="169.254.100.0/29", + inside_cidr_blocks=["169.254.100.0/29"], transit_gateway_attachment_id=example_connect.id) ``` diff --git a/sdk/python/pulumi_aws/elasticache/get_cluster.py b/sdk/python/pulumi_aws/elasticache/get_cluster.py index 0eb91d05edd..8c0ffe00ac0 100644 --- a/sdk/python/pulumi_aws/elasticache/get_cluster.py +++ b/sdk/python/pulumi_aws/elasticache/get_cluster.py @@ -313,7 +313,7 @@ def get_cluster(cluster_id: Optional[str] = None, tags: Optional[Mapping[str, str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetClusterResult: """ - Use this data source to get information about an Elasticache Cluster + Use this data source to get information about an ElastiCache Cluster ## Example Usage @@ -365,7 +365,7 @@ def get_cluster_output(cluster_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterResult]: """ - Use this data source to get information about an Elasticache Cluster + Use this data source to get information about an ElastiCache Cluster ## Example Usage diff --git a/sdk/python/pulumi_aws/elasticache/get_replication_group.py b/sdk/python/pulumi_aws/elasticache/get_replication_group.py index 4e0369a0273..20452d9ffc0 100644 --- a/sdk/python/pulumi_aws/elasticache/get_replication_group.py +++ b/sdk/python/pulumi_aws/elasticache/get_replication_group.py @@ -293,7 +293,7 @@ def __await__(self): def get_replication_group(replication_group_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetReplicationGroupResult: """ - Use this data source to get information about an Elasticache Replication Group. + Use this data source to get information about an ElastiCache Replication Group. ## Example Usage @@ -340,7 +340,7 @@ def get_replication_group(replication_group_id: Optional[str] = None, def get_replication_group_output(replication_group_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReplicationGroupResult]: """ - Use this data source to get information about an Elasticache Replication Group. + Use this data source to get information about an ElastiCache Replication Group. ## Example Usage diff --git a/sdk/python/pulumi_aws/elasticache/get_user.py b/sdk/python/pulumi_aws/elasticache/get_user.py index 03f4f0d9d5d..184c364d830 100644 --- a/sdk/python/pulumi_aws/elasticache/get_user.py +++ b/sdk/python/pulumi_aws/elasticache/get_user.py @@ -115,7 +115,7 @@ def get_user(access_string: Optional[str] = None, user_name: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetUserResult: """ - Use this data source to get information about an Elasticache User. + Use this data source to get information about an ElastiCache User. ## Example Usage @@ -160,7 +160,7 @@ def get_user_output(access_string: Optional[pulumi.Input[Optional[str]]] = None, user_name: Optional[pulumi.Input[Optional[str]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserResult]: """ - Use this data source to get information about an Elasticache User. + Use this data source to get information about an ElastiCache User. ## Example Usage diff --git a/sdk/python/pulumi_aws/elasticache/global_replication_group.py b/sdk/python/pulumi_aws/elasticache/global_replication_group.py index 470ff2319c3..4d5c2346c5b 100644 --- a/sdk/python/pulumi_aws/elasticache/global_replication_group.py +++ b/sdk/python/pulumi_aws/elasticache/global_replication_group.py @@ -16,6 +16,8 @@ class GlobalReplicationGroupArgs: def __init__(__self__, *, global_replication_group_id_suffix: pulumi.Input[str], primary_replication_group_id: pulumi.Input[str], + automatic_failover_enabled: Optional[pulumi.Input[bool]] = None, + cache_node_type: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, global_replication_group_description: Optional[pulumi.Input[str]] = None, parameter_group_name: Optional[pulumi.Input[str]] = None): @@ -23,6 +25,12 @@ def __init__(__self__, *, The set of arguments for constructing a GlobalReplicationGroup resource. :param pulumi.Input[str] global_replication_group_id_suffix: The suffix name of a Global Datastore. If `global_replication_group_id_suffix` is changed, creates a new resource. :param pulumi.Input[str] primary_replication_group_id: The ID of the primary cluster that accepts writes and will replicate updates to the secondary cluster. If `primary_replication_group_id` is changed, creates a new resource. + :param pulumi.Input[bool] automatic_failover_enabled: Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + :param pulumi.Input[str] cache_node_type: The instance class used. + See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + When creating, by default the Global Replication Group inherits the node type of the primary replication group. :param pulumi.Input[str] engine_version: Redis version to use for the Global Replication Group. When creating, by default the Global Replication Group inherits the version of the primary replication group. If a version is specified, the Global Replication Group and all member replication groups will be upgraded to this version. @@ -38,6 +46,10 @@ def __init__(__self__, *, """ pulumi.set(__self__, "global_replication_group_id_suffix", global_replication_group_id_suffix) pulumi.set(__self__, "primary_replication_group_id", primary_replication_group_id) + if automatic_failover_enabled is not None: + pulumi.set(__self__, "automatic_failover_enabled", automatic_failover_enabled) + if cache_node_type is not None: + pulumi.set(__self__, "cache_node_type", cache_node_type) if engine_version is not None: pulumi.set(__self__, "engine_version", engine_version) if global_replication_group_description is not None: @@ -69,6 +81,34 @@ def primary_replication_group_id(self) -> pulumi.Input[str]: def primary_replication_group_id(self, value: pulumi.Input[str]): pulumi.set(self, "primary_replication_group_id", value) + @property + @pulumi.getter(name="automaticFailoverEnabled") + def automatic_failover_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + """ + return pulumi.get(self, "automatic_failover_enabled") + + @automatic_failover_enabled.setter + def automatic_failover_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "automatic_failover_enabled", value) + + @property + @pulumi.getter(name="cacheNodeType") + def cache_node_type(self) -> Optional[pulumi.Input[str]]: + """ + The instance class used. + See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + When creating, by default the Global Replication Group inherits the node type of the primary replication group. + """ + return pulumi.get(self, "cache_node_type") + + @cache_node_type.setter + def cache_node_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cache_node_type", value) + @property @pulumi.getter(name="engineVersion") def engine_version(self) -> Optional[pulumi.Input[str]]: @@ -121,6 +161,7 @@ def __init__(__self__, *, arn: Optional[pulumi.Input[str]] = None, at_rest_encryption_enabled: Optional[pulumi.Input[bool]] = None, auth_token_enabled: Optional[pulumi.Input[bool]] = None, + automatic_failover_enabled: Optional[pulumi.Input[bool]] = None, cache_node_type: Optional[pulumi.Input[str]] = None, cluster_enabled: Optional[pulumi.Input[bool]] = None, engine: Optional[pulumi.Input[str]] = None, @@ -137,7 +178,12 @@ def __init__(__self__, *, :param pulumi.Input[str] arn: The ARN of the ElastiCache Global Replication Group. :param pulumi.Input[bool] at_rest_encryption_enabled: A flag that indicate whether the encryption at rest is enabled. :param pulumi.Input[bool] auth_token_enabled: A flag that indicate whether AuthToken (password) is enabled. - :param pulumi.Input[str] cache_node_type: The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + :param pulumi.Input[bool] automatic_failover_enabled: Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + :param pulumi.Input[str] cache_node_type: The instance class used. + See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + When creating, by default the Global Replication Group inherits the node type of the primary replication group. :param pulumi.Input[bool] cluster_enabled: Indicates whether the Global Datastore is cluster enabled. :param pulumi.Input[str] engine: The name of the cache engine to be used for the clusters in this global replication group. :param pulumi.Input[str] engine_version: Redis version to use for the Global Replication Group. @@ -164,6 +210,8 @@ def __init__(__self__, *, pulumi.set(__self__, "at_rest_encryption_enabled", at_rest_encryption_enabled) if auth_token_enabled is not None: pulumi.set(__self__, "auth_token_enabled", auth_token_enabled) + if automatic_failover_enabled is not None: + pulumi.set(__self__, "automatic_failover_enabled", automatic_failover_enabled) if cache_node_type is not None: pulumi.set(__self__, "cache_node_type", cache_node_type) if cluster_enabled is not None: @@ -223,11 +271,27 @@ def auth_token_enabled(self) -> Optional[pulumi.Input[bool]]: def auth_token_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "auth_token_enabled", value) + @property + @pulumi.getter(name="automaticFailoverEnabled") + def automatic_failover_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + """ + return pulumi.get(self, "automatic_failover_enabled") + + @automatic_failover_enabled.setter + def automatic_failover_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "automatic_failover_enabled", value) + @property @pulumi.getter(name="cacheNodeType") def cache_node_type(self) -> Optional[pulumi.Input[str]]: """ - The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + The instance class used. + See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + When creating, by default the Global Replication Group inherits the node type of the primary replication group. """ return pulumi.get(self, "cache_node_type") @@ -370,6 +434,8 @@ class GlobalReplicationGroup(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + automatic_failover_enabled: Optional[pulumi.Input[bool]] = None, + cache_node_type: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, global_replication_group_description: Optional[pulumi.Input[str]] = None, global_replication_group_id_suffix: Optional[pulumi.Input[str]] = None, @@ -387,6 +453,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] automatic_failover_enabled: Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + :param pulumi.Input[str] cache_node_type: The instance class used. + See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + When creating, by default the Global Replication Group inherits the node type of the primary replication group. :param pulumi.Input[str] engine_version: Redis version to use for the Global Replication Group. When creating, by default the Global Replication Group inherits the version of the primary replication group. If a version is specified, the Global Replication Group and all member replication groups will be upgraded to this version. @@ -432,6 +504,8 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + automatic_failover_enabled: Optional[pulumi.Input[bool]] = None, + cache_node_type: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, global_replication_group_description: Optional[pulumi.Input[str]] = None, global_replication_group_id_suffix: Optional[pulumi.Input[str]] = None, @@ -446,6 +520,8 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = GlobalReplicationGroupArgs.__new__(GlobalReplicationGroupArgs) + __props__.__dict__["automatic_failover_enabled"] = automatic_failover_enabled + __props__.__dict__["cache_node_type"] = cache_node_type __props__.__dict__["engine_version"] = engine_version __props__.__dict__["global_replication_group_description"] = global_replication_group_description if global_replication_group_id_suffix is None and not opts.urn: @@ -458,7 +534,6 @@ def _internal_init(__self__, __props__.__dict__["arn"] = None __props__.__dict__["at_rest_encryption_enabled"] = None __props__.__dict__["auth_token_enabled"] = None - __props__.__dict__["cache_node_type"] = None __props__.__dict__["cluster_enabled"] = None __props__.__dict__["engine"] = None __props__.__dict__["engine_version_actual"] = None @@ -477,6 +552,7 @@ def get(resource_name: str, arn: Optional[pulumi.Input[str]] = None, at_rest_encryption_enabled: Optional[pulumi.Input[bool]] = None, auth_token_enabled: Optional[pulumi.Input[bool]] = None, + automatic_failover_enabled: Optional[pulumi.Input[bool]] = None, cache_node_type: Optional[pulumi.Input[str]] = None, cluster_enabled: Optional[pulumi.Input[bool]] = None, engine: Optional[pulumi.Input[str]] = None, @@ -498,7 +574,12 @@ def get(resource_name: str, :param pulumi.Input[str] arn: The ARN of the ElastiCache Global Replication Group. :param pulumi.Input[bool] at_rest_encryption_enabled: A flag that indicate whether the encryption at rest is enabled. :param pulumi.Input[bool] auth_token_enabled: A flag that indicate whether AuthToken (password) is enabled. - :param pulumi.Input[str] cache_node_type: The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + :param pulumi.Input[bool] automatic_failover_enabled: Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + :param pulumi.Input[str] cache_node_type: The instance class used. + See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + When creating, by default the Global Replication Group inherits the node type of the primary replication group. :param pulumi.Input[bool] cluster_enabled: Indicates whether the Global Datastore is cluster enabled. :param pulumi.Input[str] engine: The name of the cache engine to be used for the clusters in this global replication group. :param pulumi.Input[str] engine_version: Redis version to use for the Global Replication Group. @@ -526,6 +607,7 @@ def get(resource_name: str, __props__.__dict__["arn"] = arn __props__.__dict__["at_rest_encryption_enabled"] = at_rest_encryption_enabled __props__.__dict__["auth_token_enabled"] = auth_token_enabled + __props__.__dict__["automatic_failover_enabled"] = automatic_failover_enabled __props__.__dict__["cache_node_type"] = cache_node_type __props__.__dict__["cluster_enabled"] = cluster_enabled __props__.__dict__["engine"] = engine @@ -563,11 +645,23 @@ def auth_token_enabled(self) -> pulumi.Output[bool]: """ return pulumi.get(self, "auth_token_enabled") + @property + @pulumi.getter(name="automaticFailoverEnabled") + def automatic_failover_enabled(self) -> pulumi.Output[bool]: + """ + Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. + When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group. + """ + return pulumi.get(self, "automatic_failover_enabled") + @property @pulumi.getter(name="cacheNodeType") def cache_node_type(self) -> pulumi.Output[str]: """ - The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + The instance class used. + See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) + and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). + When creating, by default the Global Replication Group inherits the node type of the primary replication group. """ return pulumi.get(self, "cache_node_type") diff --git a/sdk/python/pulumi_aws/elasticache/parameter_group.py b/sdk/python/pulumi_aws/elasticache/parameter_group.py index 3f329e49281..9e7018a09b9 100644 --- a/sdk/python/pulumi_aws/elasticache/parameter_group.py +++ b/sdk/python/pulumi_aws/elasticache/parameter_group.py @@ -238,7 +238,7 @@ def __init__(__self__, """ Provides an ElastiCache parameter group resource. - > **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an Elasticache API limitation. Leave that parameter configured with any value to workaround the issue. + > **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an ElastiCache API limitation. Leave that parameter configured with any value to workaround the issue. ## Example Usage @@ -285,7 +285,7 @@ def __init__(__self__, """ Provides an ElastiCache parameter group resource. - > **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an Elasticache API limitation. Leave that parameter configured with any value to workaround the issue. + > **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an ElastiCache API limitation. Leave that parameter configured with any value to workaround the issue. ## Example Usage diff --git a/sdk/python/pulumi_aws/elasticache/subnet_group.py b/sdk/python/pulumi_aws/elasticache/subnet_group.py index 864efbe450a..8b6f6af9382 100644 --- a/sdk/python/pulumi_aws/elasticache/subnet_group.py +++ b/sdk/python/pulumi_aws/elasticache/subnet_group.py @@ -22,7 +22,7 @@ def __init__(__self__, *, The set of arguments for constructing a SubnetGroup resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: List of VPC Subnet IDs for the cache subnet group :param pulumi.Input[str] description: Description for the cache subnet group. Defaults to "Managed by Pulumi". - :param pulumi.Input[str] name: Name for the cache subnet group. Elasticache converts this name to lowercase. + :param pulumi.Input[str] name: Name for the cache subnet group. ElastiCache converts this name to lowercase. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ pulumi.set(__self__, "subnet_ids", subnet_ids) @@ -63,7 +63,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - Name for the cache subnet group. Elasticache converts this name to lowercase. + Name for the cache subnet group. ElastiCache converts this name to lowercase. """ return pulumi.get(self, "name") @@ -96,7 +96,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering SubnetGroup resources. :param pulumi.Input[str] description: Description for the cache subnet group. Defaults to "Managed by Pulumi". - :param pulumi.Input[str] name: Name for the cache subnet group. Elasticache converts this name to lowercase. + :param pulumi.Input[str] name: Name for the cache subnet group. ElastiCache converts this name to lowercase. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: List of VPC Subnet IDs for the cache subnet group :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. @@ -141,7 +141,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - Name for the cache subnet group. Elasticache converts this name to lowercase. + Name for the cache subnet group. ElastiCache converts this name to lowercase. """ return pulumi.get(self, "name") @@ -235,7 +235,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] description: Description for the cache subnet group. Defaults to "Managed by Pulumi". - :param pulumi.Input[str] name: Name for the cache subnet group. Elasticache converts this name to lowercase. + :param pulumi.Input[str] name: Name for the cache subnet group. ElastiCache converts this name to lowercase. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: List of VPC Subnet IDs for the cache subnet group :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ @@ -343,7 +343,7 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] description: Description for the cache subnet group. Defaults to "Managed by Pulumi". - :param pulumi.Input[str] name: Name for the cache subnet group. Elasticache converts this name to lowercase. + :param pulumi.Input[str] name: Name for the cache subnet group. ElastiCache converts this name to lowercase. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: List of VPC Subnet IDs for the cache subnet group :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. @@ -377,7 +377,7 @@ def description(self) -> pulumi.Output[str]: @pulumi.getter def name(self) -> pulumi.Output[str]: """ - Name for the cache subnet group. Elasticache converts this name to lowercase. + Name for the cache subnet group. ElastiCache converts this name to lowercase. """ return pulumi.get(self, "name") diff --git a/sdk/python/pulumi_aws/emrcontainers/virtual_cluster.py b/sdk/python/pulumi_aws/emrcontainers/virtual_cluster.py index f6d3ceb3a32..477132ac5a7 100644 --- a/sdk/python/pulumi_aws/emrcontainers/virtual_cluster.py +++ b/sdk/python/pulumi_aws/emrcontainers/virtual_cluster.py @@ -184,10 +184,10 @@ def __init__(__self__, ## Import - EKS Clusters can be imported using the `name`, e.g. + EKS Clusters can be imported using the `id`, e.g. ```sh - $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example + $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example a1b2c3d4e5f6g7h8i9j10k11l ``` :param str resource_name: The name of the resource. @@ -225,10 +225,10 @@ def __init__(__self__, ## Import - EKS Clusters can be imported using the `name`, e.g. + EKS Clusters can be imported using the `id`, e.g. ```sh - $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example + $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example a1b2c3d4e5f6g7h8i9j10k11l ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/pulumi_aws/globalaccelerator/_inputs.py b/sdk/python/pulumi_aws/globalaccelerator/_inputs.py index 0a5b46e0032..42a5a882db2 100644 --- a/sdk/python/pulumi_aws/globalaccelerator/_inputs.py +++ b/sdk/python/pulumi_aws/globalaccelerator/_inputs.py @@ -78,7 +78,7 @@ def __init__(__self__, *, ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, ip_family: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_addresses: A list of IP addresses in the IP address set. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_addresses: The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. :param pulumi.Input[str] ip_family: The type of IP addresses included in this IP set. """ if ip_addresses is not None: @@ -90,7 +90,7 @@ def __init__(__self__, *, @pulumi.getter(name="ipAddresses") def ip_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - A list of IP addresses in the IP address set. + The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. """ return pulumi.get(self, "ip_addresses") diff --git a/sdk/python/pulumi_aws/globalaccelerator/accelerator.py b/sdk/python/pulumi_aws/globalaccelerator/accelerator.py index fa8a126c7d8..e1532e644b9 100644 --- a/sdk/python/pulumi_aws/globalaccelerator/accelerator.py +++ b/sdk/python/pulumi_aws/globalaccelerator/accelerator.py @@ -19,6 +19,7 @@ def __init__(__self__, *, attributes: Optional[pulumi.Input['AcceleratorAttributesArgs']] = None, enabled: Optional[pulumi.Input[bool]] = None, ip_address_type: Optional[pulumi.Input[str]] = None, + ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ @@ -26,6 +27,7 @@ def __init__(__self__, *, :param pulumi.Input['AcceleratorAttributesArgs'] attributes: The attributes of the accelerator. Fields documented below. :param pulumi.Input[bool] enabled: Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. :param pulumi.Input[str] ip_address_type: The value for the address type. Defaults to `IPV4`. Valid values: `IPV4`, `DUAL_STACK`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_addresses: The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. :param pulumi.Input[str] name: The name of the accelerator. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ @@ -35,6 +37,8 @@ def __init__(__self__, *, pulumi.set(__self__, "enabled", enabled) if ip_address_type is not None: pulumi.set(__self__, "ip_address_type", ip_address_type) + if ip_addresses is not None: + pulumi.set(__self__, "ip_addresses", ip_addresses) if name is not None: pulumi.set(__self__, "name", name) if tags is not None: @@ -76,6 +80,18 @@ def ip_address_type(self) -> Optional[pulumi.Input[str]]: def ip_address_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "ip_address_type", value) + @property + @pulumi.getter(name="ipAddresses") + def ip_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + """ + return pulumi.get(self, "ip_addresses") + + @ip_addresses.setter + def ip_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "ip_addresses", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -109,6 +125,7 @@ def __init__(__self__, *, enabled: Optional[pulumi.Input[bool]] = None, hosted_zone_id: Optional[pulumi.Input[str]] = None, ip_address_type: Optional[pulumi.Input[str]] = None, + ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, ip_sets: Optional[pulumi.Input[Sequence[pulumi.Input['AcceleratorIpSetArgs']]]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -122,6 +139,7 @@ def __init__(__self__, *, is simply an alias for the zone ID `Z2BJ6XQ5FK7U4H`. :param pulumi.Input[bool] enabled: Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. :param pulumi.Input[str] ip_address_type: The value for the address type. Defaults to `IPV4`. Valid values: `IPV4`, `DUAL_STACK`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_addresses: The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. :param pulumi.Input[Sequence[pulumi.Input['AcceleratorIpSetArgs']]] ip_sets: IP address set associated with the accelerator. :param pulumi.Input[str] name: The name of the accelerator. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -137,6 +155,8 @@ def __init__(__self__, *, pulumi.set(__self__, "hosted_zone_id", hosted_zone_id) if ip_address_type is not None: pulumi.set(__self__, "ip_address_type", ip_address_type) + if ip_addresses is not None: + pulumi.set(__self__, "ip_addresses", ip_addresses) if ip_sets is not None: pulumi.set(__self__, "ip_sets", ip_sets) if name is not None: @@ -206,6 +226,18 @@ def ip_address_type(self) -> Optional[pulumi.Input[str]]: def ip_address_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "ip_address_type", value) + @property + @pulumi.getter(name="ipAddresses") + def ip_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + """ + return pulumi.get(self, "ip_addresses") + + @ip_addresses.setter + def ip_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "ip_addresses", value) + @property @pulumi.getter(name="ipSets") def ip_sets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AcceleratorIpSetArgs']]]]: @@ -263,6 +295,7 @@ def __init__(__self__, attributes: Optional[pulumi.Input[pulumi.InputType['AcceleratorAttributesArgs']]] = None, enabled: Optional[pulumi.Input[bool]] = None, ip_address_type: Optional[pulumi.Input[str]] = None, + ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): @@ -282,7 +315,8 @@ def __init__(__self__, flow_logs_s3_prefix="flow-logs/", ), enabled=True, - ip_address_type="IPV4") + ip_address_type="IPV4", + ip_addresses=["1.2.3.4"]) ``` ## Import @@ -298,6 +332,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['AcceleratorAttributesArgs']] attributes: The attributes of the accelerator. Fields documented below. :param pulumi.Input[bool] enabled: Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. :param pulumi.Input[str] ip_address_type: The value for the address type. Defaults to `IPV4`. Valid values: `IPV4`, `DUAL_STACK`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_addresses: The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. :param pulumi.Input[str] name: The name of the accelerator. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ @@ -323,7 +358,8 @@ def __init__(__self__, flow_logs_s3_prefix="flow-logs/", ), enabled=True, - ip_address_type="IPV4") + ip_address_type="IPV4", + ip_addresses=["1.2.3.4"]) ``` ## Import @@ -352,6 +388,7 @@ def _internal_init(__self__, attributes: Optional[pulumi.Input[pulumi.InputType['AcceleratorAttributesArgs']]] = None, enabled: Optional[pulumi.Input[bool]] = None, ip_address_type: Optional[pulumi.Input[str]] = None, + ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): @@ -366,6 +403,7 @@ def _internal_init(__self__, __props__.__dict__["attributes"] = attributes __props__.__dict__["enabled"] = enabled __props__.__dict__["ip_address_type"] = ip_address_type + __props__.__dict__["ip_addresses"] = ip_addresses __props__.__dict__["name"] = name __props__.__dict__["tags"] = tags __props__.__dict__["dns_name"] = None @@ -387,6 +425,7 @@ def get(resource_name: str, enabled: Optional[pulumi.Input[bool]] = None, hosted_zone_id: Optional[pulumi.Input[str]] = None, ip_address_type: Optional[pulumi.Input[str]] = None, + ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, ip_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AcceleratorIpSetArgs']]]]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -405,6 +444,7 @@ def get(resource_name: str, is simply an alias for the zone ID `Z2BJ6XQ5FK7U4H`. :param pulumi.Input[bool] enabled: Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. :param pulumi.Input[str] ip_address_type: The value for the address type. Defaults to `IPV4`. Valid values: `IPV4`, `DUAL_STACK`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_addresses: The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AcceleratorIpSetArgs']]]] ip_sets: IP address set associated with the accelerator. :param pulumi.Input[str] name: The name of the accelerator. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -419,6 +459,7 @@ def get(resource_name: str, __props__.__dict__["enabled"] = enabled __props__.__dict__["hosted_zone_id"] = hosted_zone_id __props__.__dict__["ip_address_type"] = ip_address_type + __props__.__dict__["ip_addresses"] = ip_addresses __props__.__dict__["ip_sets"] = ip_sets __props__.__dict__["name"] = name __props__.__dict__["tags"] = tags @@ -465,6 +506,14 @@ def ip_address_type(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "ip_address_type") + @property + @pulumi.getter(name="ipAddresses") + def ip_addresses(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. + """ + return pulumi.get(self, "ip_addresses") + @property @pulumi.getter(name="ipSets") def ip_sets(self) -> pulumi.Output[Sequence['outputs.AcceleratorIpSet']]: diff --git a/sdk/python/pulumi_aws/globalaccelerator/outputs.py b/sdk/python/pulumi_aws/globalaccelerator/outputs.py index 79a8b680029..2210e37befe 100644 --- a/sdk/python/pulumi_aws/globalaccelerator/outputs.py +++ b/sdk/python/pulumi_aws/globalaccelerator/outputs.py @@ -108,7 +108,7 @@ def __init__(__self__, *, ip_addresses: Optional[Sequence[str]] = None, ip_family: Optional[str] = None): """ - :param Sequence[str] ip_addresses: A list of IP addresses in the IP address set. + :param Sequence[str] ip_addresses: The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. :param str ip_family: The type of IP addresses included in this IP set. """ if ip_addresses is not None: @@ -120,7 +120,7 @@ def __init__(__self__, *, @pulumi.getter(name="ipAddresses") def ip_addresses(self) -> Optional[Sequence[str]]: """ - A list of IP addresses in the IP address set. + The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. """ return pulumi.get(self, "ip_addresses") diff --git a/sdk/python/pulumi_aws/identitystore/_inputs.py b/sdk/python/pulumi_aws/identitystore/_inputs.py index 61c42eb3303..5cb1b3b073f 100644 --- a/sdk/python/pulumi_aws/identitystore/_inputs.py +++ b/sdk/python/pulumi_aws/identitystore/_inputs.py @@ -255,10 +255,10 @@ def value(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class UserExternalIdArgs: def __init__(__self__, *, - id: Optional[pulumi.Input[bool]] = None, + id: Optional[pulumi.Input[str]] = None, issuer: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[bool] id: The identifier issued to this resource by an external identity provider. + :param pulumi.Input[str] id: The identifier issued to this resource by an external identity provider. :param pulumi.Input[str] issuer: The issuer for an external identifier. """ if id is not None: @@ -268,14 +268,14 @@ def __init__(__self__, *, @property @pulumi.getter - def id(self) -> Optional[pulumi.Input[bool]]: + def id(self) -> Optional[pulumi.Input[str]]: """ The identifier issued to this resource by an external identity provider. """ return pulumi.get(self, "id") @id.setter - def id(self, value: Optional[pulumi.Input[bool]]): + def id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "id", value) @property diff --git a/sdk/python/pulumi_aws/identitystore/group.py b/sdk/python/pulumi_aws/identitystore/group.py index b84c5af52ff..44989248a26 100644 --- a/sdk/python/pulumi_aws/identitystore/group.py +++ b/sdk/python/pulumi_aws/identitystore/group.py @@ -22,7 +22,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a Group resource. :param pulumi.Input[str] display_name: A string containing the name of the group. This value is commonly displayed when the group is referenced. - :param pulumi.Input[str] identity_store_id: The globally unique identifier for the identity store.. + :param pulumi.Input[str] identity_store_id: The globally unique identifier for the identity store. :param pulumi.Input[str] description: A string containing the description of the group. """ pulumi.set(__self__, "display_name", display_name) @@ -46,7 +46,7 @@ def display_name(self, value: pulumi.Input[str]): @pulumi.getter(name="identityStoreId") def identity_store_id(self) -> pulumi.Input[str]: """ - The globally unique identifier for the identity store.. + The globally unique identifier for the identity store. """ return pulumi.get(self, "identity_store_id") @@ -81,7 +81,7 @@ def __init__(__self__, *, :param pulumi.Input[str] display_name: A string containing the name of the group. This value is commonly displayed when the group is referenced. :param pulumi.Input[Sequence[pulumi.Input['GroupExternalIdArgs']]] external_ids: A list of external IDs that contains the identifiers issued to this resource by an external identity provider. See External IDs below. :param pulumi.Input[str] group_id: The identifier of the newly created group in the identity store. - :param pulumi.Input[str] identity_store_id: The globally unique identifier for the identity store.. + :param pulumi.Input[str] identity_store_id: The globally unique identifier for the identity store. """ if description is not None: pulumi.set(__self__, "description", description) @@ -146,7 +146,7 @@ def group_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="identityStoreId") def identity_store_id(self) -> Optional[pulumi.Input[str]]: """ - The globally unique identifier for the identity store.. + The globally unique identifier for the identity store. """ return pulumi.get(self, "identity_store_id") @@ -179,7 +179,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] description: A string containing the description of the group. :param pulumi.Input[str] display_name: A string containing the name of the group. This value is commonly displayed when the group is referenced. - :param pulumi.Input[str] identity_store_id: The globally unique identifier for the identity store.. + :param pulumi.Input[str] identity_store_id: The globally unique identifier for the identity store. """ ... @overload @@ -260,7 +260,7 @@ def get(resource_name: str, :param pulumi.Input[str] display_name: A string containing the name of the group. This value is commonly displayed when the group is referenced. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['GroupExternalIdArgs']]]] external_ids: A list of external IDs that contains the identifiers issued to this resource by an external identity provider. See External IDs below. :param pulumi.Input[str] group_id: The identifier of the newly created group in the identity store. - :param pulumi.Input[str] identity_store_id: The globally unique identifier for the identity store.. + :param pulumi.Input[str] identity_store_id: The globally unique identifier for the identity store. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -309,7 +309,7 @@ def group_id(self) -> pulumi.Output[str]: @pulumi.getter(name="identityStoreId") def identity_store_id(self) -> pulumi.Output[str]: """ - The globally unique identifier for the identity store.. + The globally unique identifier for the identity store. """ return pulumi.get(self, "identity_store_id") diff --git a/sdk/python/pulumi_aws/identitystore/outputs.py b/sdk/python/pulumi_aws/identitystore/outputs.py index b77abec9cad..0a6c8790016 100644 --- a/sdk/python/pulumi_aws/identitystore/outputs.py +++ b/sdk/python/pulumi_aws/identitystore/outputs.py @@ -228,10 +228,10 @@ def value(self) -> Optional[str]: @pulumi.output_type class UserExternalId(dict): def __init__(__self__, *, - id: Optional[bool] = None, + id: Optional[str] = None, issuer: Optional[str] = None): """ - :param bool id: The identifier issued to this resource by an external identity provider. + :param str id: The identifier issued to this resource by an external identity provider. :param str issuer: The issuer for an external identifier. """ if id is not None: @@ -241,7 +241,7 @@ def __init__(__self__, *, @property @pulumi.getter - def id(self) -> Optional[bool]: + def id(self) -> Optional[str]: """ The identifier issued to this resource by an external identity provider. """ @@ -657,10 +657,10 @@ def value(self) -> str: @pulumi.output_type class GetUserExternalIdResult(dict): def __init__(__self__, *, - id: bool, + id: str, issuer: str): """ - :param bool id: The identifier issued to this resource by an external identity provider. + :param str id: The identifier issued to this resource by an external identity provider. :param str issuer: The issuer for an external identifier. """ pulumi.set(__self__, "id", id) @@ -668,7 +668,7 @@ def __init__(__self__, *, @property @pulumi.getter - def id(self) -> bool: + def id(self) -> str: """ The identifier issued to this resource by an external identity provider. """ diff --git a/sdk/python/pulumi_aws/inspector2/__init__.py b/sdk/python/pulumi_aws/inspector2/__init__.py index 13c08d3886d..2e9ee144635 100644 --- a/sdk/python/pulumi_aws/inspector2/__init__.py +++ b/sdk/python/pulumi_aws/inspector2/__init__.py @@ -5,6 +5,7 @@ from .. import _utilities import typing # Export this package's modules as members: +from .delegated_admin_account import * from .organization_configuration import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws/inspector2/delegated_admin_account.py b/sdk/python/pulumi_aws/inspector2/delegated_admin_account.py new file mode 100644 index 00000000000..5ed573acf58 --- /dev/null +++ b/sdk/python/pulumi_aws/inspector2/delegated_admin_account.py @@ -0,0 +1,208 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['DelegatedAdminAccountArgs', 'DelegatedAdminAccount'] + +@pulumi.input_type +class DelegatedAdminAccountArgs: + def __init__(__self__, *, + account_id: pulumi.Input[str]): + """ + The set of arguments for constructing a DelegatedAdminAccount resource. + :param pulumi.Input[str] account_id: Account to enable as delegated admin account. + """ + pulumi.set(__self__, "account_id", account_id) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> pulumi.Input[str]: + """ + Account to enable as delegated admin account. + """ + return pulumi.get(self, "account_id") + + @account_id.setter + def account_id(self, value: pulumi.Input[str]): + pulumi.set(self, "account_id", value) + + +@pulumi.input_type +class _DelegatedAdminAccountState: + def __init__(__self__, *, + account_id: Optional[pulumi.Input[str]] = None, + relationship_status: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DelegatedAdminAccount resources. + :param pulumi.Input[str] account_id: Account to enable as delegated admin account. + :param pulumi.Input[str] relationship_status: Status of this delegated admin account. + """ + if account_id is not None: + pulumi.set(__self__, "account_id", account_id) + if relationship_status is not None: + pulumi.set(__self__, "relationship_status", relationship_status) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> Optional[pulumi.Input[str]]: + """ + Account to enable as delegated admin account. + """ + return pulumi.get(self, "account_id") + + @account_id.setter + def account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "account_id", value) + + @property + @pulumi.getter(name="relationshipStatus") + def relationship_status(self) -> Optional[pulumi.Input[str]]: + """ + Status of this delegated admin account. + """ + return pulumi.get(self, "relationship_status") + + @relationship_status.setter + def relationship_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "relationship_status", value) + + +class DelegatedAdminAccount(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + current = aws.get_caller_identity() + example = aws.inspector2.DelegatedAdminAccount("example", account_id=current.account_id) + ``` + + ## Import + + Inspector V2 Delegated Admin Account can be imported using the `account_id`, e.g., + + ```sh + $ pulumi import aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount example 012345678901 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] account_id: Account to enable as delegated admin account. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DelegatedAdminAccountArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + current = aws.get_caller_identity() + example = aws.inspector2.DelegatedAdminAccount("example", account_id=current.account_id) + ``` + + ## Import + + Inspector V2 Delegated Admin Account can be imported using the `account_id`, e.g., + + ```sh + $ pulumi import aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount example 012345678901 + ``` + + :param str resource_name: The name of the resource. + :param DelegatedAdminAccountArgs 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(DelegatedAdminAccountArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_id: Optional[pulumi.Input[str]] = None, + __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__ = DelegatedAdminAccountArgs.__new__(DelegatedAdminAccountArgs) + + if account_id is None and not opts.urn: + raise TypeError("Missing required property 'account_id'") + __props__.__dict__["account_id"] = account_id + __props__.__dict__["relationship_status"] = None + super(DelegatedAdminAccount, __self__).__init__( + 'aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + account_id: Optional[pulumi.Input[str]] = None, + relationship_status: Optional[pulumi.Input[str]] = None) -> 'DelegatedAdminAccount': + """ + Get an existing DelegatedAdminAccount 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. + :param pulumi.Input[str] account_id: Account to enable as delegated admin account. + :param pulumi.Input[str] relationship_status: Status of this delegated admin account. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DelegatedAdminAccountState.__new__(_DelegatedAdminAccountState) + + __props__.__dict__["account_id"] = account_id + __props__.__dict__["relationship_status"] = relationship_status + return DelegatedAdminAccount(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> pulumi.Output[str]: + """ + Account to enable as delegated admin account. + """ + return pulumi.get(self, "account_id") + + @property + @pulumi.getter(name="relationshipStatus") + def relationship_status(self) -> pulumi.Output[str]: + """ + Status of this delegated admin account. + """ + return pulumi.get(self, "relationship_status") + diff --git a/sdk/python/pulumi_aws/networkmanager/link.py b/sdk/python/pulumi_aws/networkmanager/link.py index a029448166a..bb279908284 100644 --- a/sdk/python/pulumi_aws/networkmanager/link.py +++ b/sdk/python/pulumi_aws/networkmanager/link.py @@ -298,7 +298,7 @@ def __init__(__self__, example = aws.networkmanager.Link("example", global_network_id=aws_networkmanager_global_network["example"]["id"], - site_id=aws_networkmanager_global_site["example"]["id"], + site_id=aws_networkmanager_site["example"]["id"], bandwidth=aws.networkmanager.LinkBandwidthArgs( upload_speed=10, download_speed=50, @@ -340,7 +340,7 @@ def __init__(__self__, example = aws.networkmanager.Link("example", global_network_id=aws_networkmanager_global_network["example"]["id"], - site_id=aws_networkmanager_global_site["example"]["id"], + site_id=aws_networkmanager_site["example"]["id"], bandwidth=aws.networkmanager.LinkBandwidthArgs( upload_speed=10, download_speed=50, diff --git a/sdk/python/pulumi_aws/opsworks/_inputs.py b/sdk/python/pulumi_aws/opsworks/_inputs.py index 35c8d6bc11f..5a82c5d235e 100644 --- a/sdk/python/pulumi_aws/opsworks/_inputs.py +++ b/sdk/python/pulumi_aws/opsworks/_inputs.py @@ -16,40 +16,73 @@ 'CustomLayerCloudwatchConfigurationArgs', 'CustomLayerCloudwatchConfigurationLogStreamArgs', 'CustomLayerEbsVolumeArgs', + 'CustomLayerLoadBasedAutoScalingArgs', + 'CustomLayerLoadBasedAutoScalingDownscalingArgs', + 'CustomLayerLoadBasedAutoScalingUpscalingArgs', 'EcsClusterLayerCloudwatchConfigurationArgs', 'EcsClusterLayerCloudwatchConfigurationLogStreamArgs', 'EcsClusterLayerEbsVolumeArgs', + 'EcsClusterLayerLoadBasedAutoScalingArgs', + 'EcsClusterLayerLoadBasedAutoScalingDownscalingArgs', + 'EcsClusterLayerLoadBasedAutoScalingUpscalingArgs', 'GangliaLayerCloudwatchConfigurationArgs', 'GangliaLayerCloudwatchConfigurationLogStreamArgs', 'GangliaLayerEbsVolumeArgs', + 'GangliaLayerLoadBasedAutoScalingArgs', + 'GangliaLayerLoadBasedAutoScalingDownscalingArgs', + 'GangliaLayerLoadBasedAutoScalingUpscalingArgs', 'HaproxyLayerCloudwatchConfigurationArgs', 'HaproxyLayerCloudwatchConfigurationLogStreamArgs', 'HaproxyLayerEbsVolumeArgs', + 'HaproxyLayerLoadBasedAutoScalingArgs', + 'HaproxyLayerLoadBasedAutoScalingDownscalingArgs', + 'HaproxyLayerLoadBasedAutoScalingUpscalingArgs', 'InstanceEbsBlockDeviceArgs', 'InstanceEphemeralBlockDeviceArgs', 'InstanceRootBlockDeviceArgs', 'JavaAppLayerCloudwatchConfigurationArgs', 'JavaAppLayerCloudwatchConfigurationLogStreamArgs', 'JavaAppLayerEbsVolumeArgs', + 'JavaAppLayerLoadBasedAutoScalingArgs', + 'JavaAppLayerLoadBasedAutoScalingDownscalingArgs', + 'JavaAppLayerLoadBasedAutoScalingUpscalingArgs', 'MemcachedLayerCloudwatchConfigurationArgs', 'MemcachedLayerCloudwatchConfigurationLogStreamArgs', 'MemcachedLayerEbsVolumeArgs', + 'MemcachedLayerLoadBasedAutoScalingArgs', + 'MemcachedLayerLoadBasedAutoScalingDownscalingArgs', + 'MemcachedLayerLoadBasedAutoScalingUpscalingArgs', 'MysqlLayerCloudwatchConfigurationArgs', 'MysqlLayerCloudwatchConfigurationLogStreamArgs', 'MysqlLayerEbsVolumeArgs', + 'MysqlLayerLoadBasedAutoScalingArgs', + 'MysqlLayerLoadBasedAutoScalingDownscalingArgs', + 'MysqlLayerLoadBasedAutoScalingUpscalingArgs', 'NodejsAppLayerCloudwatchConfigurationArgs', 'NodejsAppLayerCloudwatchConfigurationLogStreamArgs', 'NodejsAppLayerEbsVolumeArgs', + 'NodejsAppLayerLoadBasedAutoScalingArgs', + 'NodejsAppLayerLoadBasedAutoScalingDownscalingArgs', + 'NodejsAppLayerLoadBasedAutoScalingUpscalingArgs', 'PhpAppLayerCloudwatchConfigurationArgs', 'PhpAppLayerCloudwatchConfigurationLogStreamArgs', 'PhpAppLayerEbsVolumeArgs', + 'PhpAppLayerLoadBasedAutoScalingArgs', + 'PhpAppLayerLoadBasedAutoScalingDownscalingArgs', + 'PhpAppLayerLoadBasedAutoScalingUpscalingArgs', 'RailsAppLayerCloudwatchConfigurationArgs', 'RailsAppLayerCloudwatchConfigurationLogStreamArgs', 'RailsAppLayerEbsVolumeArgs', + 'RailsAppLayerLoadBasedAutoScalingArgs', + 'RailsAppLayerLoadBasedAutoScalingDownscalingArgs', + 'RailsAppLayerLoadBasedAutoScalingUpscalingArgs', 'StackCustomCookbooksSourceArgs', 'StaticWebLayerCloudwatchConfigurationArgs', 'StaticWebLayerCloudwatchConfigurationLogStreamArgs', 'StaticWebLayerEbsVolumeArgs', + 'StaticWebLayerLoadBasedAutoScalingArgs', + 'StaticWebLayerLoadBasedAutoScalingDownscalingArgs', + 'StaticWebLayerLoadBasedAutoScalingUpscalingArgs', ] @pulumi.input_type @@ -592,6 +625,299 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +@pulumi.input_type +class CustomLayerLoadBasedAutoScalingArgs: + def __init__(__self__, *, + downscaling: Optional[pulumi.Input['CustomLayerLoadBasedAutoScalingDownscalingArgs']] = None, + enable: Optional[pulumi.Input[bool]] = None, + upscaling: Optional[pulumi.Input['CustomLayerLoadBasedAutoScalingUpscalingArgs']] = None): + """ + :param pulumi.Input['CustomLayerLoadBasedAutoScalingDownscalingArgs'] downscaling: The downscaling settings, as defined below, used for load-based autoscaling + :param pulumi.Input[bool] enable: Whether load-based auto scaling is enabled for the layer. + :param pulumi.Input['CustomLayerLoadBasedAutoScalingUpscalingArgs'] upscaling: The upscaling settings, as defined below, used for load-based autoscaling + """ + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional[pulumi.Input['CustomLayerLoadBasedAutoScalingDownscalingArgs']]: + """ + The downscaling settings, as defined below, used for load-based autoscaling + """ + return pulumi.get(self, "downscaling") + + @downscaling.setter + def downscaling(self, value: Optional[pulumi.Input['CustomLayerLoadBasedAutoScalingDownscalingArgs']]): + pulumi.set(self, "downscaling", value) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[bool]]: + """ + Whether load-based auto scaling is enabled for the layer. + """ + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable", value) + + @property + @pulumi.getter + def upscaling(self) -> Optional[pulumi.Input['CustomLayerLoadBasedAutoScalingUpscalingArgs']]: + """ + The upscaling settings, as defined below, used for load-based autoscaling + """ + return pulumi.get(self, "upscaling") + + @upscaling.setter + def upscaling(self, value: Optional[pulumi.Input['CustomLayerLoadBasedAutoScalingUpscalingArgs']]): + pulumi.set(self, "upscaling", value) + + +@pulumi.input_type +class CustomLayerLoadBasedAutoScalingDownscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] alarms: Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + :param pulumi.Input[float] cpu_threshold: The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + :param pulumi.Input[int] ignore_metrics_time: The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + :param pulumi.Input[int] instance_count: The number of instances to add or remove when the load exceeds a threshold. + :param pulumi.Input[float] load_threshold: The load threshold. A value of -1 disables the threshold. + :param pulumi.Input[float] memory_threshold: The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + :param pulumi.Input[int] thresholds_wait_time: The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + """ + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + """ + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + """ + The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + """ + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + """ + The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + """ + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + """ + The number of instances to add or remove when the load exceeds a threshold. + """ + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + """ + The load threshold. A value of -1 disables the threshold. + """ + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + """ + The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + """ + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + """ + The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + """ + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + +@pulumi.input_type +class CustomLayerLoadBasedAutoScalingUpscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] alarms: Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + :param pulumi.Input[float] cpu_threshold: The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + :param pulumi.Input[int] ignore_metrics_time: The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + :param pulumi.Input[int] instance_count: The number of instances to add or remove when the load exceeds a threshold. + :param pulumi.Input[float] load_threshold: The load threshold. A value of -1 disables the threshold. + :param pulumi.Input[float] memory_threshold: The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + :param pulumi.Input[int] thresholds_wait_time: The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + """ + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + """ + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + """ + The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + """ + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + """ + The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + """ + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + """ + The number of instances to add or remove when the load exceeds a threshold. + """ + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + """ + The load threshold. A value of -1 disables the threshold. + """ + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + """ + The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + """ + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + """ + The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + """ + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + @pulumi.input_type class EcsClusterLayerCloudwatchConfigurationArgs: def __init__(__self__, *, @@ -868,6 +1194,225 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +@pulumi.input_type +class EcsClusterLayerLoadBasedAutoScalingArgs: + def __init__(__self__, *, + downscaling: Optional[pulumi.Input['EcsClusterLayerLoadBasedAutoScalingDownscalingArgs']] = None, + enable: Optional[pulumi.Input[bool]] = None, + upscaling: Optional[pulumi.Input['EcsClusterLayerLoadBasedAutoScalingUpscalingArgs']] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional[pulumi.Input['EcsClusterLayerLoadBasedAutoScalingDownscalingArgs']]: + return pulumi.get(self, "downscaling") + + @downscaling.setter + def downscaling(self, value: Optional[pulumi.Input['EcsClusterLayerLoadBasedAutoScalingDownscalingArgs']]): + pulumi.set(self, "downscaling", value) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable", value) + + @property + @pulumi.getter + def upscaling(self) -> Optional[pulumi.Input['EcsClusterLayerLoadBasedAutoScalingUpscalingArgs']]: + return pulumi.get(self, "upscaling") + + @upscaling.setter + def upscaling(self, value: Optional[pulumi.Input['EcsClusterLayerLoadBasedAutoScalingUpscalingArgs']]): + pulumi.set(self, "upscaling", value) + + +@pulumi.input_type +class EcsClusterLayerLoadBasedAutoScalingDownscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + +@pulumi.input_type +class EcsClusterLayerLoadBasedAutoScalingUpscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + @pulumi.input_type class GangliaLayerCloudwatchConfigurationArgs: def __init__(__self__, *, @@ -1144,6 +1689,225 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +@pulumi.input_type +class GangliaLayerLoadBasedAutoScalingArgs: + def __init__(__self__, *, + downscaling: Optional[pulumi.Input['GangliaLayerLoadBasedAutoScalingDownscalingArgs']] = None, + enable: Optional[pulumi.Input[bool]] = None, + upscaling: Optional[pulumi.Input['GangliaLayerLoadBasedAutoScalingUpscalingArgs']] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional[pulumi.Input['GangliaLayerLoadBasedAutoScalingDownscalingArgs']]: + return pulumi.get(self, "downscaling") + + @downscaling.setter + def downscaling(self, value: Optional[pulumi.Input['GangliaLayerLoadBasedAutoScalingDownscalingArgs']]): + pulumi.set(self, "downscaling", value) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable", value) + + @property + @pulumi.getter + def upscaling(self) -> Optional[pulumi.Input['GangliaLayerLoadBasedAutoScalingUpscalingArgs']]: + return pulumi.get(self, "upscaling") + + @upscaling.setter + def upscaling(self, value: Optional[pulumi.Input['GangliaLayerLoadBasedAutoScalingUpscalingArgs']]): + pulumi.set(self, "upscaling", value) + + +@pulumi.input_type +class GangliaLayerLoadBasedAutoScalingDownscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + +@pulumi.input_type +class GangliaLayerLoadBasedAutoScalingUpscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + @pulumi.input_type class HaproxyLayerCloudwatchConfigurationArgs: def __init__(__self__, *, @@ -1421,23 +2185,242 @@ def type(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type -class InstanceEbsBlockDeviceArgs: +class HaproxyLayerLoadBasedAutoScalingArgs: def __init__(__self__, *, - device_name: pulumi.Input[str], - delete_on_termination: Optional[pulumi.Input[bool]] = None, - iops: Optional[pulumi.Input[int]] = None, - snapshot_id: Optional[pulumi.Input[str]] = None, - volume_size: Optional[pulumi.Input[int]] = None, - volume_type: Optional[pulumi.Input[str]] = None): - pulumi.set(__self__, "device_name", device_name) - if delete_on_termination is not None: - pulumi.set(__self__, "delete_on_termination", delete_on_termination) - if iops is not None: - pulumi.set(__self__, "iops", iops) - if snapshot_id is not None: - pulumi.set(__self__, "snapshot_id", snapshot_id) - if volume_size is not None: - pulumi.set(__self__, "volume_size", volume_size) + downscaling: Optional[pulumi.Input['HaproxyLayerLoadBasedAutoScalingDownscalingArgs']] = None, + enable: Optional[pulumi.Input[bool]] = None, + upscaling: Optional[pulumi.Input['HaproxyLayerLoadBasedAutoScalingUpscalingArgs']] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional[pulumi.Input['HaproxyLayerLoadBasedAutoScalingDownscalingArgs']]: + return pulumi.get(self, "downscaling") + + @downscaling.setter + def downscaling(self, value: Optional[pulumi.Input['HaproxyLayerLoadBasedAutoScalingDownscalingArgs']]): + pulumi.set(self, "downscaling", value) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable", value) + + @property + @pulumi.getter + def upscaling(self) -> Optional[pulumi.Input['HaproxyLayerLoadBasedAutoScalingUpscalingArgs']]: + return pulumi.get(self, "upscaling") + + @upscaling.setter + def upscaling(self, value: Optional[pulumi.Input['HaproxyLayerLoadBasedAutoScalingUpscalingArgs']]): + pulumi.set(self, "upscaling", value) + + +@pulumi.input_type +class HaproxyLayerLoadBasedAutoScalingDownscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + +@pulumi.input_type +class HaproxyLayerLoadBasedAutoScalingUpscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + +@pulumi.input_type +class InstanceEbsBlockDeviceArgs: + def __init__(__self__, *, + device_name: pulumi.Input[str], + delete_on_termination: Optional[pulumi.Input[bool]] = None, + iops: Optional[pulumi.Input[int]] = None, + snapshot_id: Optional[pulumi.Input[str]] = None, + volume_size: Optional[pulumi.Input[int]] = None, + volume_type: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "device_name", device_name) + if delete_on_termination is not None: + pulumi.set(__self__, "delete_on_termination", delete_on_termination) + if iops is not None: + pulumi.set(__self__, "iops", iops) + if snapshot_id is not None: + pulumi.set(__self__, "snapshot_id", snapshot_id) + if volume_size is not None: + pulumi.set(__self__, "volume_size", volume_size) if volume_type is not None: pulumi.set(__self__, "volume_type", volume_type) @@ -1852,6 +2835,225 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +@pulumi.input_type +class JavaAppLayerLoadBasedAutoScalingArgs: + def __init__(__self__, *, + downscaling: Optional[pulumi.Input['JavaAppLayerLoadBasedAutoScalingDownscalingArgs']] = None, + enable: Optional[pulumi.Input[bool]] = None, + upscaling: Optional[pulumi.Input['JavaAppLayerLoadBasedAutoScalingUpscalingArgs']] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional[pulumi.Input['JavaAppLayerLoadBasedAutoScalingDownscalingArgs']]: + return pulumi.get(self, "downscaling") + + @downscaling.setter + def downscaling(self, value: Optional[pulumi.Input['JavaAppLayerLoadBasedAutoScalingDownscalingArgs']]): + pulumi.set(self, "downscaling", value) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable", value) + + @property + @pulumi.getter + def upscaling(self) -> Optional[pulumi.Input['JavaAppLayerLoadBasedAutoScalingUpscalingArgs']]: + return pulumi.get(self, "upscaling") + + @upscaling.setter + def upscaling(self, value: Optional[pulumi.Input['JavaAppLayerLoadBasedAutoScalingUpscalingArgs']]): + pulumi.set(self, "upscaling", value) + + +@pulumi.input_type +class JavaAppLayerLoadBasedAutoScalingDownscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + +@pulumi.input_type +class JavaAppLayerLoadBasedAutoScalingUpscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + @pulumi.input_type class MemcachedLayerCloudwatchConfigurationArgs: def __init__(__self__, *, @@ -2128,6 +3330,225 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +@pulumi.input_type +class MemcachedLayerLoadBasedAutoScalingArgs: + def __init__(__self__, *, + downscaling: Optional[pulumi.Input['MemcachedLayerLoadBasedAutoScalingDownscalingArgs']] = None, + enable: Optional[pulumi.Input[bool]] = None, + upscaling: Optional[pulumi.Input['MemcachedLayerLoadBasedAutoScalingUpscalingArgs']] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional[pulumi.Input['MemcachedLayerLoadBasedAutoScalingDownscalingArgs']]: + return pulumi.get(self, "downscaling") + + @downscaling.setter + def downscaling(self, value: Optional[pulumi.Input['MemcachedLayerLoadBasedAutoScalingDownscalingArgs']]): + pulumi.set(self, "downscaling", value) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable", value) + + @property + @pulumi.getter + def upscaling(self) -> Optional[pulumi.Input['MemcachedLayerLoadBasedAutoScalingUpscalingArgs']]: + return pulumi.get(self, "upscaling") + + @upscaling.setter + def upscaling(self, value: Optional[pulumi.Input['MemcachedLayerLoadBasedAutoScalingUpscalingArgs']]): + pulumi.set(self, "upscaling", value) + + +@pulumi.input_type +class MemcachedLayerLoadBasedAutoScalingDownscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + +@pulumi.input_type +class MemcachedLayerLoadBasedAutoScalingUpscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + @pulumi.input_type class MysqlLayerCloudwatchConfigurationArgs: def __init__(__self__, *, @@ -2404,6 +3825,225 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +@pulumi.input_type +class MysqlLayerLoadBasedAutoScalingArgs: + def __init__(__self__, *, + downscaling: Optional[pulumi.Input['MysqlLayerLoadBasedAutoScalingDownscalingArgs']] = None, + enable: Optional[pulumi.Input[bool]] = None, + upscaling: Optional[pulumi.Input['MysqlLayerLoadBasedAutoScalingUpscalingArgs']] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional[pulumi.Input['MysqlLayerLoadBasedAutoScalingDownscalingArgs']]: + return pulumi.get(self, "downscaling") + + @downscaling.setter + def downscaling(self, value: Optional[pulumi.Input['MysqlLayerLoadBasedAutoScalingDownscalingArgs']]): + pulumi.set(self, "downscaling", value) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable", value) + + @property + @pulumi.getter + def upscaling(self) -> Optional[pulumi.Input['MysqlLayerLoadBasedAutoScalingUpscalingArgs']]: + return pulumi.get(self, "upscaling") + + @upscaling.setter + def upscaling(self, value: Optional[pulumi.Input['MysqlLayerLoadBasedAutoScalingUpscalingArgs']]): + pulumi.set(self, "upscaling", value) + + +@pulumi.input_type +class MysqlLayerLoadBasedAutoScalingDownscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + +@pulumi.input_type +class MysqlLayerLoadBasedAutoScalingUpscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + @pulumi.input_type class NodejsAppLayerCloudwatchConfigurationArgs: def __init__(__self__, *, @@ -2611,73 +4251,292 @@ def mount_point(self, value: pulumi.Input[str]): pulumi.set(self, "mount_point", value) @property - @pulumi.getter(name="numberOfDisks") - def number_of_disks(self) -> pulumi.Input[int]: - """ - The number of disks to use for the EBS volume. - """ - return pulumi.get(self, "number_of_disks") + @pulumi.getter(name="numberOfDisks") + def number_of_disks(self) -> pulumi.Input[int]: + """ + The number of disks to use for the EBS volume. + """ + return pulumi.get(self, "number_of_disks") + + @number_of_disks.setter + def number_of_disks(self, value: pulumi.Input[int]): + pulumi.set(self, "number_of_disks", value) + + @property + @pulumi.getter + def size(self) -> pulumi.Input[int]: + """ + The size of the volume in gigabytes. + """ + return pulumi.get(self, "size") + + @size.setter + def size(self, value: pulumi.Input[int]): + pulumi.set(self, "size", value) + + @property + @pulumi.getter + def encrypted(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "encrypted") + + @encrypted.setter + def encrypted(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "encrypted", value) + + @property + @pulumi.getter + def iops(self) -> Optional[pulumi.Input[int]]: + """ + For PIOPS volumes, the IOPS per disk. + """ + return pulumi.get(self, "iops") + + @iops.setter + def iops(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "iops", value) + + @property + @pulumi.getter(name="raidLevel") + def raid_level(self) -> Optional[pulumi.Input[str]]: + """ + The RAID level to use for the volume. + """ + return pulumi.get(self, "raid_level") + + @raid_level.setter + def raid_level(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "raid_level", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + +@pulumi.input_type +class NodejsAppLayerLoadBasedAutoScalingArgs: + def __init__(__self__, *, + downscaling: Optional[pulumi.Input['NodejsAppLayerLoadBasedAutoScalingDownscalingArgs']] = None, + enable: Optional[pulumi.Input[bool]] = None, + upscaling: Optional[pulumi.Input['NodejsAppLayerLoadBasedAutoScalingUpscalingArgs']] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional[pulumi.Input['NodejsAppLayerLoadBasedAutoScalingDownscalingArgs']]: + return pulumi.get(self, "downscaling") + + @downscaling.setter + def downscaling(self, value: Optional[pulumi.Input['NodejsAppLayerLoadBasedAutoScalingDownscalingArgs']]): + pulumi.set(self, "downscaling", value) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable", value) + + @property + @pulumi.getter + def upscaling(self) -> Optional[pulumi.Input['NodejsAppLayerLoadBasedAutoScalingUpscalingArgs']]: + return pulumi.get(self, "upscaling") + + @upscaling.setter + def upscaling(self, value: Optional[pulumi.Input['NodejsAppLayerLoadBasedAutoScalingUpscalingArgs']]): + pulumi.set(self, "upscaling", value) + + +@pulumi.input_type +class NodejsAppLayerLoadBasedAutoScalingDownscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + +@pulumi.input_type +class NodejsAppLayerLoadBasedAutoScalingUpscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") - @number_of_disks.setter - def number_of_disks(self, value: pulumi.Input[int]): - pulumi.set(self, "number_of_disks", value) + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) @property - @pulumi.getter - def size(self) -> pulumi.Input[int]: - """ - The size of the volume in gigabytes. - """ - return pulumi.get(self, "size") + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") - @size.setter - def size(self, value: pulumi.Input[int]): - pulumi.set(self, "size", value) + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) @property - @pulumi.getter - def encrypted(self) -> Optional[pulumi.Input[bool]]: - return pulumi.get(self, "encrypted") + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") - @encrypted.setter - def encrypted(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "encrypted", value) + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) @property - @pulumi.getter - def iops(self) -> Optional[pulumi.Input[int]]: - """ - For PIOPS volumes, the IOPS per disk. - """ - return pulumi.get(self, "iops") + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") - @iops.setter - def iops(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "iops", value) + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) @property - @pulumi.getter(name="raidLevel") - def raid_level(self) -> Optional[pulumi.Input[str]]: - """ - The RAID level to use for the volume. - """ - return pulumi.get(self, "raid_level") + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") - @raid_level.setter - def raid_level(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "raid_level", value) + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) @property - @pulumi.getter - def type(self) -> Optional[pulumi.Input[str]]: - """ - The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - """ - return pulumi.get(self, "type") + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") - @type.setter - def type(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "type", value) + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) @pulumi.input_type @@ -2956,6 +4815,225 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +@pulumi.input_type +class PhpAppLayerLoadBasedAutoScalingArgs: + def __init__(__self__, *, + downscaling: Optional[pulumi.Input['PhpAppLayerLoadBasedAutoScalingDownscalingArgs']] = None, + enable: Optional[pulumi.Input[bool]] = None, + upscaling: Optional[pulumi.Input['PhpAppLayerLoadBasedAutoScalingUpscalingArgs']] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional[pulumi.Input['PhpAppLayerLoadBasedAutoScalingDownscalingArgs']]: + return pulumi.get(self, "downscaling") + + @downscaling.setter + def downscaling(self, value: Optional[pulumi.Input['PhpAppLayerLoadBasedAutoScalingDownscalingArgs']]): + pulumi.set(self, "downscaling", value) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable", value) + + @property + @pulumi.getter + def upscaling(self) -> Optional[pulumi.Input['PhpAppLayerLoadBasedAutoScalingUpscalingArgs']]: + return pulumi.get(self, "upscaling") + + @upscaling.setter + def upscaling(self, value: Optional[pulumi.Input['PhpAppLayerLoadBasedAutoScalingUpscalingArgs']]): + pulumi.set(self, "upscaling", value) + + +@pulumi.input_type +class PhpAppLayerLoadBasedAutoScalingDownscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + +@pulumi.input_type +class PhpAppLayerLoadBasedAutoScalingUpscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + @pulumi.input_type class RailsAppLayerCloudwatchConfigurationArgs: def __init__(__self__, *, @@ -3232,6 +5310,225 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +@pulumi.input_type +class RailsAppLayerLoadBasedAutoScalingArgs: + def __init__(__self__, *, + downscaling: Optional[pulumi.Input['RailsAppLayerLoadBasedAutoScalingDownscalingArgs']] = None, + enable: Optional[pulumi.Input[bool]] = None, + upscaling: Optional[pulumi.Input['RailsAppLayerLoadBasedAutoScalingUpscalingArgs']] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional[pulumi.Input['RailsAppLayerLoadBasedAutoScalingDownscalingArgs']]: + return pulumi.get(self, "downscaling") + + @downscaling.setter + def downscaling(self, value: Optional[pulumi.Input['RailsAppLayerLoadBasedAutoScalingDownscalingArgs']]): + pulumi.set(self, "downscaling", value) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable", value) + + @property + @pulumi.getter + def upscaling(self) -> Optional[pulumi.Input['RailsAppLayerLoadBasedAutoScalingUpscalingArgs']]: + return pulumi.get(self, "upscaling") + + @upscaling.setter + def upscaling(self, value: Optional[pulumi.Input['RailsAppLayerLoadBasedAutoScalingUpscalingArgs']]): + pulumi.set(self, "upscaling", value) + + +@pulumi.input_type +class RailsAppLayerLoadBasedAutoScalingDownscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + +@pulumi.input_type +class RailsAppLayerLoadBasedAutoScalingUpscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + @pulumi.input_type class StackCustomCookbooksSourceArgs: def __init__(__self__, *, @@ -3609,3 +5906,222 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +@pulumi.input_type +class StaticWebLayerLoadBasedAutoScalingArgs: + def __init__(__self__, *, + downscaling: Optional[pulumi.Input['StaticWebLayerLoadBasedAutoScalingDownscalingArgs']] = None, + enable: Optional[pulumi.Input[bool]] = None, + upscaling: Optional[pulumi.Input['StaticWebLayerLoadBasedAutoScalingUpscalingArgs']] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional[pulumi.Input['StaticWebLayerLoadBasedAutoScalingDownscalingArgs']]: + return pulumi.get(self, "downscaling") + + @downscaling.setter + def downscaling(self, value: Optional[pulumi.Input['StaticWebLayerLoadBasedAutoScalingDownscalingArgs']]): + pulumi.set(self, "downscaling", value) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable", value) + + @property + @pulumi.getter + def upscaling(self) -> Optional[pulumi.Input['StaticWebLayerLoadBasedAutoScalingUpscalingArgs']]: + return pulumi.get(self, "upscaling") + + @upscaling.setter + def upscaling(self, value: Optional[pulumi.Input['StaticWebLayerLoadBasedAutoScalingUpscalingArgs']]): + pulumi.set(self, "upscaling", value) + + +@pulumi.input_type +class StaticWebLayerLoadBasedAutoScalingDownscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + +@pulumi.input_type +class StaticWebLayerLoadBasedAutoScalingUpscalingArgs: + def __init__(__self__, *, + alarms: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + cpu_threshold: Optional[pulumi.Input[float]] = None, + ignore_metrics_time: Optional[pulumi.Input[int]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + load_threshold: Optional[pulumi.Input[float]] = None, + memory_threshold: Optional[pulumi.Input[float]] = None, + thresholds_wait_time: Optional[pulumi.Input[int]] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alarms", value) + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "cpu_threshold") + + @cpu_threshold.setter + def cpu_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "cpu_threshold", value) + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "ignore_metrics_time") + + @ignore_metrics_time.setter + def ignore_metrics_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ignore_metrics_time", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "load_threshold") + + @load_threshold.setter + def load_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "load_threshold", value) + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "memory_threshold") + + @memory_threshold.setter + def memory_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "memory_threshold", value) + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "thresholds_wait_time") + + @thresholds_wait_time.setter + def thresholds_wait_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "thresholds_wait_time", value) + + diff --git a/sdk/python/pulumi_aws/opsworks/custom_layer.py b/sdk/python/pulumi_aws/opsworks/custom_layer.py index cb27920c710..6f054c619ab 100644 --- a/sdk/python/pulumi_aws/opsworks/custom_layer.py +++ b/sdk/python/pulumi_aws/opsworks/custom_layer.py @@ -35,6 +35,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['CustomLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -55,6 +56,7 @@ def __init__(__self__, *, :param pulumi.Input[str] elastic_load_balancer: Name of an Elastic Load Balancer to attach to this layer :param pulumi.Input[bool] install_updates_on_boot: Whether to install OS and package updates on each instance when it boots. :param pulumi.Input[int] instance_shutdown_timeout: The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. + :param pulumi.Input['CustomLayerLoadBasedAutoScalingArgs'] load_based_auto_scaling: Load-based auto scaling configuration. See Load Based AutoScaling :param pulumi.Input[str] name: A human-readable name for the layer. :param pulumi.Input[Sequence[pulumi.Input[str]]] system_packages: Names of a set of system packages to install on the layer's instances. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -96,6 +98,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if system_packages is not None: @@ -318,6 +322,18 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['CustomLayerLoadBasedAutoScalingArgs']]: + """ + Load-based auto scaling configuration. See Load Based AutoScaling + """ + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['CustomLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -388,6 +404,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['CustomLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, short_name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, @@ -410,6 +427,7 @@ def __init__(__self__, *, :param pulumi.Input[str] elastic_load_balancer: Name of an Elastic Load Balancer to attach to this layer :param pulumi.Input[bool] install_updates_on_boot: Whether to install OS and package updates on each instance when it boots. :param pulumi.Input[int] instance_shutdown_timeout: The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. + :param pulumi.Input['CustomLayerLoadBasedAutoScalingArgs'] load_based_auto_scaling: Load-based auto scaling configuration. See Load Based AutoScaling :param pulumi.Input[str] name: A human-readable name for the layer. :param pulumi.Input[str] short_name: A short, machine-readable name for the layer, which will be used to identify it in the Chef node JSON. :param pulumi.Input[str] stack_id: ID of the stack the layer will belong to. @@ -454,6 +472,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if short_name is not None: @@ -670,6 +690,18 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['CustomLayerLoadBasedAutoScalingArgs']]: + """ + Load-based auto scaling configuration. See Load Based AutoScaling + """ + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['CustomLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -777,6 +809,7 @@ def __init__(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['CustomLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, short_name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, @@ -820,6 +853,7 @@ def __init__(__self__, :param pulumi.Input[str] elastic_load_balancer: Name of an Elastic Load Balancer to attach to this layer :param pulumi.Input[bool] install_updates_on_boot: Whether to install OS and package updates on each instance when it boots. :param pulumi.Input[int] instance_shutdown_timeout: The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. + :param pulumi.Input[pulumi.InputType['CustomLayerLoadBasedAutoScalingArgs']] load_based_auto_scaling: Load-based auto scaling configuration. See Load Based AutoScaling :param pulumi.Input[str] name: A human-readable name for the layer. :param pulumi.Input[str] short_name: A short, machine-readable name for the layer, which will be used to identify it in the Chef node JSON. :param pulumi.Input[str] stack_id: ID of the stack the layer will belong to. @@ -887,6 +921,7 @@ def _internal_init(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['CustomLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, short_name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, @@ -919,6 +954,7 @@ def _internal_init(__self__, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name if short_name is None and not opts.urn: raise TypeError("Missing required property 'short_name'") @@ -959,6 +995,7 @@ def get(resource_name: str, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['CustomLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, short_name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, @@ -986,6 +1023,7 @@ def get(resource_name: str, :param pulumi.Input[str] elastic_load_balancer: Name of an Elastic Load Balancer to attach to this layer :param pulumi.Input[bool] install_updates_on_boot: Whether to install OS and package updates on each instance when it boots. :param pulumi.Input[int] instance_shutdown_timeout: The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. + :param pulumi.Input[pulumi.InputType['CustomLayerLoadBasedAutoScalingArgs']] load_based_auto_scaling: Load-based auto scaling configuration. See Load Based AutoScaling :param pulumi.Input[str] name: A human-readable name for the layer. :param pulumi.Input[str] short_name: A short, machine-readable name for the layer, which will be used to identify it in the Chef node JSON. :param pulumi.Input[str] stack_id: ID of the stack the layer will belong to. @@ -1016,6 +1054,7 @@ def get(resource_name: str, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name __props__.__dict__["short_name"] = short_name __props__.__dict__["stack_id"] = stack_id @@ -1154,6 +1193,14 @@ def instance_shutdown_timeout(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "instance_shutdown_timeout") + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> pulumi.Output['outputs.CustomLayerLoadBasedAutoScaling']: + """ + Load-based auto scaling configuration. See Load Based AutoScaling + """ + return pulumi.get(self, "load_based_auto_scaling") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/opsworks/ecs_cluster_layer.py b/sdk/python/pulumi_aws/opsworks/ecs_cluster_layer.py index 79c73bd4cb4..a93c11d4d81 100644 --- a/sdk/python/pulumi_aws/opsworks/ecs_cluster_layer.py +++ b/sdk/python/pulumi_aws/opsworks/ecs_cluster_layer.py @@ -35,6 +35,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['EcsClusterLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -95,6 +96,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if system_packages is not None: @@ -314,6 +317,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['EcsClusterLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['EcsClusterLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -385,6 +397,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['EcsClusterLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -450,6 +463,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if stack_id is not None: @@ -673,6 +688,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['EcsClusterLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['EcsClusterLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -766,6 +790,7 @@ def __init__(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['EcsClusterLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -859,6 +884,7 @@ def _internal_init(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['EcsClusterLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -893,6 +919,7 @@ def _internal_init(__self__, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name if stack_id is None and not opts.urn: raise TypeError("Missing required property 'stack_id'") @@ -931,6 +958,7 @@ def get(resource_name: str, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['EcsClusterLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -986,6 +1014,7 @@ def get(resource_name: str, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name __props__.__dict__["stack_id"] = stack_id __props__.__dict__["system_packages"] = system_packages @@ -1128,6 +1157,11 @@ def instance_shutdown_timeout(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "instance_shutdown_timeout") + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> pulumi.Output['outputs.EcsClusterLayerLoadBasedAutoScaling']: + return pulumi.get(self, "load_based_auto_scaling") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/opsworks/ganglia_layer.py b/sdk/python/pulumi_aws/opsworks/ganglia_layer.py index 6a091af6e66..0cc3a15e8b5 100644 --- a/sdk/python/pulumi_aws/opsworks/ganglia_layer.py +++ b/sdk/python/pulumi_aws/opsworks/ganglia_layer.py @@ -35,6 +35,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['GangliaLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -99,6 +100,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if system_packages is not None: @@ -322,6 +325,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['GangliaLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['GangliaLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -416,6 +428,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['GangliaLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, password: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, @@ -485,6 +498,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if password is not None: @@ -702,6 +717,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['GangliaLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['GangliaLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -833,6 +857,7 @@ def __init__(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['GangliaLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, password: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, @@ -930,6 +955,7 @@ def _internal_init(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['GangliaLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, password: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, @@ -964,6 +990,7 @@ def _internal_init(__self__, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name if password is None and not opts.urn: raise TypeError("Missing required property 'password'") @@ -1006,6 +1033,7 @@ def get(resource_name: str, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['GangliaLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, password: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, @@ -1066,6 +1094,7 @@ def get(resource_name: str, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name __props__.__dict__["password"] = password __props__.__dict__["stack_id"] = stack_id @@ -1203,6 +1232,11 @@ def instance_shutdown_timeout(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "instance_shutdown_timeout") + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> pulumi.Output['outputs.GangliaLayerLoadBasedAutoScaling']: + return pulumi.get(self, "load_based_auto_scaling") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/opsworks/haproxy_layer.py b/sdk/python/pulumi_aws/opsworks/haproxy_layer.py index d096fcbb76c..255572c3d32 100644 --- a/sdk/python/pulumi_aws/opsworks/haproxy_layer.py +++ b/sdk/python/pulumi_aws/opsworks/haproxy_layer.py @@ -37,6 +37,7 @@ def __init__(__self__, *, healthcheck_url: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['HaproxyLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, stats_enabled: Optional[pulumi.Input[bool]] = None, stats_url: Optional[pulumi.Input[str]] = None, @@ -109,6 +110,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if stats_enabled is not None: @@ -358,6 +361,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['HaproxyLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['HaproxyLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -466,6 +478,7 @@ def __init__(__self__, *, healthcheck_url: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['HaproxyLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, stats_enabled: Optional[pulumi.Input[bool]] = None, @@ -543,6 +556,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if stack_id is not None: @@ -786,6 +801,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['HaproxyLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['HaproxyLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -931,6 +955,7 @@ def __init__(__self__, healthcheck_url: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['HaproxyLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, stats_enabled: Optional[pulumi.Input[bool]] = None, @@ -1034,6 +1059,7 @@ def _internal_init(__self__, healthcheck_url: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['HaproxyLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, stats_enabled: Optional[pulumi.Input[bool]] = None, @@ -1071,6 +1097,7 @@ def _internal_init(__self__, __props__.__dict__["healthcheck_url"] = healthcheck_url __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name if stack_id is None and not opts.urn: raise TypeError("Missing required property 'stack_id'") @@ -1116,6 +1143,7 @@ def get(resource_name: str, healthcheck_url: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['HaproxyLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, stats_enabled: Optional[pulumi.Input[bool]] = None, @@ -1182,6 +1210,7 @@ def get(resource_name: str, __props__.__dict__["healthcheck_url"] = healthcheck_url __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name __props__.__dict__["stack_id"] = stack_id __props__.__dict__["stats_enabled"] = stats_enabled @@ -1336,6 +1365,11 @@ def instance_shutdown_timeout(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "instance_shutdown_timeout") + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> pulumi.Output['outputs.HaproxyLayerLoadBasedAutoScaling']: + return pulumi.get(self, "load_based_auto_scaling") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/opsworks/java_app_layer.py b/sdk/python/pulumi_aws/opsworks/java_app_layer.py index 3c111a93f9c..81a54457bc1 100644 --- a/sdk/python/pulumi_aws/opsworks/java_app_layer.py +++ b/sdk/python/pulumi_aws/opsworks/java_app_layer.py @@ -39,6 +39,7 @@ def __init__(__self__, *, jvm_options: Optional[pulumi.Input[str]] = None, jvm_type: Optional[pulumi.Input[str]] = None, jvm_version: Optional[pulumi.Input[str]] = None, + load_based_auto_scaling: Optional[pulumi.Input['JavaAppLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -112,6 +113,8 @@ def __init__(__self__, *, pulumi.set(__self__, "jvm_type", jvm_type) if jvm_version is not None: pulumi.set(__self__, "jvm_version", jvm_version) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if system_packages is not None: @@ -379,6 +382,15 @@ def jvm_version(self) -> Optional[pulumi.Input[str]]: def jvm_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "jvm_version", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['JavaAppLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['JavaAppLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -454,6 +466,7 @@ def __init__(__self__, *, jvm_options: Optional[pulumi.Input[str]] = None, jvm_type: Optional[pulumi.Input[str]] = None, jvm_version: Optional[pulumi.Input[str]] = None, + load_based_auto_scaling: Optional[pulumi.Input['JavaAppLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -532,6 +545,8 @@ def __init__(__self__, *, pulumi.set(__self__, "jvm_type", jvm_type) if jvm_version is not None: pulumi.set(__self__, "jvm_version", jvm_version) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if stack_id is not None: @@ -803,6 +818,15 @@ def jvm_version(self) -> Optional[pulumi.Input[str]]: def jvm_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "jvm_version", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['JavaAppLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['JavaAppLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -903,6 +927,7 @@ def __init__(__self__, jvm_options: Optional[pulumi.Input[str]] = None, jvm_type: Optional[pulumi.Input[str]] = None, jvm_version: Optional[pulumi.Input[str]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['JavaAppLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1000,6 +1025,7 @@ def _internal_init(__self__, jvm_options: Optional[pulumi.Input[str]] = None, jvm_type: Optional[pulumi.Input[str]] = None, jvm_version: Optional[pulumi.Input[str]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['JavaAppLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1036,6 +1062,7 @@ def _internal_init(__self__, __props__.__dict__["jvm_options"] = jvm_options __props__.__dict__["jvm_type"] = jvm_type __props__.__dict__["jvm_version"] = jvm_version + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name if stack_id is None and not opts.urn: raise TypeError("Missing required property 'stack_id'") @@ -1078,6 +1105,7 @@ def get(resource_name: str, jvm_options: Optional[pulumi.Input[str]] = None, jvm_type: Optional[pulumi.Input[str]] = None, jvm_version: Optional[pulumi.Input[str]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['JavaAppLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1142,6 +1170,7 @@ def get(resource_name: str, __props__.__dict__["jvm_options"] = jvm_options __props__.__dict__["jvm_type"] = jvm_type __props__.__dict__["jvm_version"] = jvm_version + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name __props__.__dict__["stack_id"] = stack_id __props__.__dict__["system_packages"] = system_packages @@ -1316,6 +1345,11 @@ def jvm_version(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "jvm_version") + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> pulumi.Output['outputs.JavaAppLayerLoadBasedAutoScaling']: + return pulumi.get(self, "load_based_auto_scaling") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/opsworks/memcached_layer.py b/sdk/python/pulumi_aws/opsworks/memcached_layer.py index b61bcf2321f..a3187752c29 100644 --- a/sdk/python/pulumi_aws/opsworks/memcached_layer.py +++ b/sdk/python/pulumi_aws/opsworks/memcached_layer.py @@ -35,6 +35,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['MemcachedLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -96,6 +97,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if system_packages is not None: @@ -315,6 +318,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['MemcachedLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['MemcachedLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -386,6 +398,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['MemcachedLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -452,6 +465,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if stack_id is not None: @@ -675,6 +690,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['MemcachedLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['MemcachedLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -771,6 +795,7 @@ def __init__(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['MemcachedLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -860,6 +885,7 @@ def _internal_init(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['MemcachedLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -892,6 +918,7 @@ def _internal_init(__self__, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name if stack_id is None and not opts.urn: raise TypeError("Missing required property 'stack_id'") @@ -930,6 +957,7 @@ def get(resource_name: str, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['MemcachedLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -986,6 +1014,7 @@ def get(resource_name: str, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name __props__.__dict__["stack_id"] = stack_id __props__.__dict__["system_packages"] = system_packages @@ -1128,6 +1157,11 @@ def instance_shutdown_timeout(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "instance_shutdown_timeout") + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> pulumi.Output['outputs.MemcachedLayerLoadBasedAutoScaling']: + return pulumi.get(self, "load_based_auto_scaling") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/opsworks/mysql_layer.py b/sdk/python/pulumi_aws/opsworks/mysql_layer.py index e3036da35a5..f96bde75369 100644 --- a/sdk/python/pulumi_aws/opsworks/mysql_layer.py +++ b/sdk/python/pulumi_aws/opsworks/mysql_layer.py @@ -34,6 +34,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['MysqlLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, root_password: Optional[pulumi.Input[str]] = None, root_password_on_all_instances: Optional[pulumi.Input[bool]] = None, @@ -96,6 +97,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if root_password is not None: @@ -307,6 +310,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['MysqlLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['MysqlLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -401,6 +413,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['MysqlLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, root_password: Optional[pulumi.Input[str]] = None, root_password_on_all_instances: Optional[pulumi.Input[bool]] = None, @@ -468,6 +481,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if root_password is not None: @@ -683,6 +698,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['MysqlLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['MysqlLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -802,6 +826,7 @@ def __init__(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['MysqlLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, root_password: Optional[pulumi.Input[str]] = None, root_password_on_all_instances: Optional[pulumi.Input[bool]] = None, @@ -893,6 +918,7 @@ def _internal_init(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['MysqlLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, root_password: Optional[pulumi.Input[str]] = None, root_password_on_all_instances: Optional[pulumi.Input[bool]] = None, @@ -926,6 +952,7 @@ def _internal_init(__self__, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name __props__.__dict__["root_password"] = root_password __props__.__dict__["root_password_on_all_instances"] = root_password_on_all_instances @@ -965,6 +992,7 @@ def get(resource_name: str, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['MysqlLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, root_password: Optional[pulumi.Input[str]] = None, root_password_on_all_instances: Optional[pulumi.Input[bool]] = None, @@ -1023,6 +1051,7 @@ def get(resource_name: str, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name __props__.__dict__["root_password"] = root_password __props__.__dict__["root_password_on_all_instances"] = root_password_on_all_instances @@ -1159,6 +1188,11 @@ def instance_shutdown_timeout(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "instance_shutdown_timeout") + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> pulumi.Output['outputs.MysqlLayerLoadBasedAutoScaling']: + return pulumi.get(self, "load_based_auto_scaling") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/opsworks/nodejs_app_layer.py b/sdk/python/pulumi_aws/opsworks/nodejs_app_layer.py index 96a717a70bc..8a715cd411f 100644 --- a/sdk/python/pulumi_aws/opsworks/nodejs_app_layer.py +++ b/sdk/python/pulumi_aws/opsworks/nodejs_app_layer.py @@ -34,6 +34,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['NodejsAppLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, nodejs_version: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -94,6 +95,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if nodejs_version is not None: @@ -303,6 +306,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['NodejsAppLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['NodejsAppLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -385,6 +397,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['NodejsAppLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, nodejs_version: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, @@ -450,6 +463,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if nodejs_version is not None: @@ -663,6 +678,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['NodejsAppLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['NodejsAppLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -770,6 +794,7 @@ def __init__(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['NodejsAppLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, nodejs_version: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, @@ -859,6 +884,7 @@ def _internal_init(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['NodejsAppLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, nodejs_version: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, @@ -891,6 +917,7 @@ def _internal_init(__self__, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name __props__.__dict__["nodejs_version"] = nodejs_version if stack_id is None and not opts.urn: @@ -929,6 +956,7 @@ def get(resource_name: str, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['NodejsAppLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, nodejs_version: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, @@ -985,6 +1013,7 @@ def get(resource_name: str, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name __props__.__dict__["nodejs_version"] = nodejs_version __props__.__dict__["stack_id"] = stack_id @@ -1120,6 +1149,11 @@ def instance_shutdown_timeout(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "instance_shutdown_timeout") + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> pulumi.Output['outputs.NodejsAppLayerLoadBasedAutoScaling']: + return pulumi.get(self, "load_based_auto_scaling") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/opsworks/outputs.py b/sdk/python/pulumi_aws/opsworks/outputs.py index 10964489812..2ab594dda5e 100644 --- a/sdk/python/pulumi_aws/opsworks/outputs.py +++ b/sdk/python/pulumi_aws/opsworks/outputs.py @@ -17,40 +17,73 @@ 'CustomLayerCloudwatchConfiguration', 'CustomLayerCloudwatchConfigurationLogStream', 'CustomLayerEbsVolume', + 'CustomLayerLoadBasedAutoScaling', + 'CustomLayerLoadBasedAutoScalingDownscaling', + 'CustomLayerLoadBasedAutoScalingUpscaling', 'EcsClusterLayerCloudwatchConfiguration', 'EcsClusterLayerCloudwatchConfigurationLogStream', 'EcsClusterLayerEbsVolume', + 'EcsClusterLayerLoadBasedAutoScaling', + 'EcsClusterLayerLoadBasedAutoScalingDownscaling', + 'EcsClusterLayerLoadBasedAutoScalingUpscaling', 'GangliaLayerCloudwatchConfiguration', 'GangliaLayerCloudwatchConfigurationLogStream', 'GangliaLayerEbsVolume', + 'GangliaLayerLoadBasedAutoScaling', + 'GangliaLayerLoadBasedAutoScalingDownscaling', + 'GangliaLayerLoadBasedAutoScalingUpscaling', 'HaproxyLayerCloudwatchConfiguration', 'HaproxyLayerCloudwatchConfigurationLogStream', 'HaproxyLayerEbsVolume', + 'HaproxyLayerLoadBasedAutoScaling', + 'HaproxyLayerLoadBasedAutoScalingDownscaling', + 'HaproxyLayerLoadBasedAutoScalingUpscaling', 'InstanceEbsBlockDevice', 'InstanceEphemeralBlockDevice', 'InstanceRootBlockDevice', 'JavaAppLayerCloudwatchConfiguration', 'JavaAppLayerCloudwatchConfigurationLogStream', 'JavaAppLayerEbsVolume', + 'JavaAppLayerLoadBasedAutoScaling', + 'JavaAppLayerLoadBasedAutoScalingDownscaling', + 'JavaAppLayerLoadBasedAutoScalingUpscaling', 'MemcachedLayerCloudwatchConfiguration', 'MemcachedLayerCloudwatchConfigurationLogStream', 'MemcachedLayerEbsVolume', + 'MemcachedLayerLoadBasedAutoScaling', + 'MemcachedLayerLoadBasedAutoScalingDownscaling', + 'MemcachedLayerLoadBasedAutoScalingUpscaling', 'MysqlLayerCloudwatchConfiguration', 'MysqlLayerCloudwatchConfigurationLogStream', 'MysqlLayerEbsVolume', + 'MysqlLayerLoadBasedAutoScaling', + 'MysqlLayerLoadBasedAutoScalingDownscaling', + 'MysqlLayerLoadBasedAutoScalingUpscaling', 'NodejsAppLayerCloudwatchConfiguration', 'NodejsAppLayerCloudwatchConfigurationLogStream', 'NodejsAppLayerEbsVolume', + 'NodejsAppLayerLoadBasedAutoScaling', + 'NodejsAppLayerLoadBasedAutoScalingDownscaling', + 'NodejsAppLayerLoadBasedAutoScalingUpscaling', 'PhpAppLayerCloudwatchConfiguration', 'PhpAppLayerCloudwatchConfigurationLogStream', 'PhpAppLayerEbsVolume', + 'PhpAppLayerLoadBasedAutoScaling', + 'PhpAppLayerLoadBasedAutoScalingDownscaling', + 'PhpAppLayerLoadBasedAutoScalingUpscaling', 'RailsAppLayerCloudwatchConfiguration', 'RailsAppLayerCloudwatchConfigurationLogStream', 'RailsAppLayerEbsVolume', + 'RailsAppLayerLoadBasedAutoScaling', + 'RailsAppLayerLoadBasedAutoScalingDownscaling', + 'RailsAppLayerLoadBasedAutoScalingUpscaling', 'StackCustomCookbooksSource', 'StaticWebLayerCloudwatchConfiguration', 'StaticWebLayerCloudwatchConfigurationLogStream', 'StaticWebLayerEbsVolume', + 'StaticWebLayerLoadBasedAutoScaling', + 'StaticWebLayerLoadBasedAutoScalingDownscaling', + 'StaticWebLayerLoadBasedAutoScalingUpscaling', ] @pulumi.output_type @@ -570,6 +603,285 @@ def type(self) -> Optional[str]: return pulumi.get(self, "type") +@pulumi.output_type +class CustomLayerLoadBasedAutoScaling(dict): + def __init__(__self__, *, + downscaling: Optional['outputs.CustomLayerLoadBasedAutoScalingDownscaling'] = None, + enable: Optional[bool] = None, + upscaling: Optional['outputs.CustomLayerLoadBasedAutoScalingUpscaling'] = None): + """ + :param 'CustomLayerLoadBasedAutoScalingDownscalingArgs' downscaling: The downscaling settings, as defined below, used for load-based autoscaling + :param bool enable: Whether load-based auto scaling is enabled for the layer. + :param 'CustomLayerLoadBasedAutoScalingUpscalingArgs' upscaling: The upscaling settings, as defined below, used for load-based autoscaling + """ + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional['outputs.CustomLayerLoadBasedAutoScalingDownscaling']: + """ + The downscaling settings, as defined below, used for load-based autoscaling + """ + return pulumi.get(self, "downscaling") + + @property + @pulumi.getter + def enable(self) -> Optional[bool]: + """ + Whether load-based auto scaling is enabled for the layer. + """ + return pulumi.get(self, "enable") + + @property + @pulumi.getter + def upscaling(self) -> Optional['outputs.CustomLayerLoadBasedAutoScalingUpscaling']: + """ + The upscaling settings, as defined below, used for load-based autoscaling + """ + return pulumi.get(self, "upscaling") + + +@pulumi.output_type +class CustomLayerLoadBasedAutoScalingDownscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CustomLayerLoadBasedAutoScalingDownscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CustomLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CustomLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + """ + :param Sequence[str] alarms: Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + :param float cpu_threshold: The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + :param int ignore_metrics_time: The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + :param int instance_count: The number of instances to add or remove when the load exceeds a threshold. + :param float load_threshold: The load threshold. A value of -1 disables the threshold. + :param float memory_threshold: The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + :param int thresholds_wait_time: The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + """ + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + """ + Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + """ + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + """ + The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + """ + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + """ + The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + """ + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + """ + The number of instances to add or remove when the load exceeds a threshold. + """ + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + """ + The load threshold. A value of -1 disables the threshold. + """ + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + """ + The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + """ + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + """ + The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + """ + return pulumi.get(self, "thresholds_wait_time") + + +@pulumi.output_type +class CustomLayerLoadBasedAutoScalingUpscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CustomLayerLoadBasedAutoScalingUpscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CustomLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CustomLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + """ + :param Sequence[str] alarms: Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + :param float cpu_threshold: The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + :param int ignore_metrics_time: The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + :param int instance_count: The number of instances to add or remove when the load exceeds a threshold. + :param float load_threshold: The load threshold. A value of -1 disables the threshold. + :param float memory_threshold: The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + :param int thresholds_wait_time: The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + """ + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + """ + Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack. + """ + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + """ + The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold. + """ + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + """ + The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. + """ + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + """ + The number of instances to add or remove when the load exceeds a threshold. + """ + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + """ + The load threshold. A value of -1 disables the threshold. + """ + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + """ + The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold. + """ + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + """ + The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed. + """ + return pulumi.get(self, "thresholds_wait_time") + + @pulumi.output_type class EcsClusterLayerCloudwatchConfiguration(dict): @staticmethod @@ -837,6 +1149,211 @@ def type(self) -> Optional[str]: return pulumi.get(self, "type") +@pulumi.output_type +class EcsClusterLayerLoadBasedAutoScaling(dict): + def __init__(__self__, *, + downscaling: Optional['outputs.EcsClusterLayerLoadBasedAutoScalingDownscaling'] = None, + enable: Optional[bool] = None, + upscaling: Optional['outputs.EcsClusterLayerLoadBasedAutoScalingUpscaling'] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional['outputs.EcsClusterLayerLoadBasedAutoScalingDownscaling']: + return pulumi.get(self, "downscaling") + + @property + @pulumi.getter + def enable(self) -> Optional[bool]: + return pulumi.get(self, "enable") + + @property + @pulumi.getter + def upscaling(self) -> Optional['outputs.EcsClusterLayerLoadBasedAutoScalingUpscaling']: + return pulumi.get(self, "upscaling") + + +@pulumi.output_type +class EcsClusterLayerLoadBasedAutoScalingDownscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EcsClusterLayerLoadBasedAutoScalingDownscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EcsClusterLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EcsClusterLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + +@pulumi.output_type +class EcsClusterLayerLoadBasedAutoScalingUpscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EcsClusterLayerLoadBasedAutoScalingUpscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EcsClusterLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EcsClusterLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + @pulumi.output_type class GangliaLayerCloudwatchConfiguration(dict): @staticmethod @@ -1104,6 +1621,211 @@ def type(self) -> Optional[str]: return pulumi.get(self, "type") +@pulumi.output_type +class GangliaLayerLoadBasedAutoScaling(dict): + def __init__(__self__, *, + downscaling: Optional['outputs.GangliaLayerLoadBasedAutoScalingDownscaling'] = None, + enable: Optional[bool] = None, + upscaling: Optional['outputs.GangliaLayerLoadBasedAutoScalingUpscaling'] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional['outputs.GangliaLayerLoadBasedAutoScalingDownscaling']: + return pulumi.get(self, "downscaling") + + @property + @pulumi.getter + def enable(self) -> Optional[bool]: + return pulumi.get(self, "enable") + + @property + @pulumi.getter + def upscaling(self) -> Optional['outputs.GangliaLayerLoadBasedAutoScalingUpscaling']: + return pulumi.get(self, "upscaling") + + +@pulumi.output_type +class GangliaLayerLoadBasedAutoScalingDownscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GangliaLayerLoadBasedAutoScalingDownscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GangliaLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GangliaLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + +@pulumi.output_type +class GangliaLayerLoadBasedAutoScalingUpscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GangliaLayerLoadBasedAutoScalingUpscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GangliaLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GangliaLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + @pulumi.output_type class HaproxyLayerCloudwatchConfiguration(dict): @staticmethod @@ -1371,6 +2093,211 @@ def type(self) -> Optional[str]: return pulumi.get(self, "type") +@pulumi.output_type +class HaproxyLayerLoadBasedAutoScaling(dict): + def __init__(__self__, *, + downscaling: Optional['outputs.HaproxyLayerLoadBasedAutoScalingDownscaling'] = None, + enable: Optional[bool] = None, + upscaling: Optional['outputs.HaproxyLayerLoadBasedAutoScalingUpscaling'] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional['outputs.HaproxyLayerLoadBasedAutoScalingDownscaling']: + return pulumi.get(self, "downscaling") + + @property + @pulumi.getter + def enable(self) -> Optional[bool]: + return pulumi.get(self, "enable") + + @property + @pulumi.getter + def upscaling(self) -> Optional['outputs.HaproxyLayerLoadBasedAutoScalingUpscaling']: + return pulumi.get(self, "upscaling") + + +@pulumi.output_type +class HaproxyLayerLoadBasedAutoScalingDownscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HaproxyLayerLoadBasedAutoScalingDownscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HaproxyLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HaproxyLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + +@pulumi.output_type +class HaproxyLayerLoadBasedAutoScalingUpscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HaproxyLayerLoadBasedAutoScalingUpscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HaproxyLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HaproxyLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + @pulumi.output_type class InstanceEbsBlockDevice(dict): @staticmethod @@ -1803,12 +2730,217 @@ def raid_level(self) -> Optional[str]: return pulumi.get(self, "raid_level") @property - @pulumi.getter - def type(self) -> Optional[str]: - """ - The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - """ - return pulumi.get(self, "type") + @pulumi.getter + def type(self) -> Optional[str]: + """ + The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class JavaAppLayerLoadBasedAutoScaling(dict): + def __init__(__self__, *, + downscaling: Optional['outputs.JavaAppLayerLoadBasedAutoScalingDownscaling'] = None, + enable: Optional[bool] = None, + upscaling: Optional['outputs.JavaAppLayerLoadBasedAutoScalingUpscaling'] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional['outputs.JavaAppLayerLoadBasedAutoScalingDownscaling']: + return pulumi.get(self, "downscaling") + + @property + @pulumi.getter + def enable(self) -> Optional[bool]: + return pulumi.get(self, "enable") + + @property + @pulumi.getter + def upscaling(self) -> Optional['outputs.JavaAppLayerLoadBasedAutoScalingUpscaling']: + return pulumi.get(self, "upscaling") + + +@pulumi.output_type +class JavaAppLayerLoadBasedAutoScalingDownscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JavaAppLayerLoadBasedAutoScalingDownscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JavaAppLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JavaAppLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + +@pulumi.output_type +class JavaAppLayerLoadBasedAutoScalingUpscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JavaAppLayerLoadBasedAutoScalingUpscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JavaAppLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JavaAppLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") @pulumi.output_type @@ -2078,6 +3210,211 @@ def type(self) -> Optional[str]: return pulumi.get(self, "type") +@pulumi.output_type +class MemcachedLayerLoadBasedAutoScaling(dict): + def __init__(__self__, *, + downscaling: Optional['outputs.MemcachedLayerLoadBasedAutoScalingDownscaling'] = None, + enable: Optional[bool] = None, + upscaling: Optional['outputs.MemcachedLayerLoadBasedAutoScalingUpscaling'] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional['outputs.MemcachedLayerLoadBasedAutoScalingDownscaling']: + return pulumi.get(self, "downscaling") + + @property + @pulumi.getter + def enable(self) -> Optional[bool]: + return pulumi.get(self, "enable") + + @property + @pulumi.getter + def upscaling(self) -> Optional['outputs.MemcachedLayerLoadBasedAutoScalingUpscaling']: + return pulumi.get(self, "upscaling") + + +@pulumi.output_type +class MemcachedLayerLoadBasedAutoScalingDownscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MemcachedLayerLoadBasedAutoScalingDownscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MemcachedLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MemcachedLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + +@pulumi.output_type +class MemcachedLayerLoadBasedAutoScalingUpscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MemcachedLayerLoadBasedAutoScalingUpscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MemcachedLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MemcachedLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + @pulumi.output_type class MysqlLayerCloudwatchConfiguration(dict): @staticmethod @@ -2345,6 +3682,211 @@ def type(self) -> Optional[str]: return pulumi.get(self, "type") +@pulumi.output_type +class MysqlLayerLoadBasedAutoScaling(dict): + def __init__(__self__, *, + downscaling: Optional['outputs.MysqlLayerLoadBasedAutoScalingDownscaling'] = None, + enable: Optional[bool] = None, + upscaling: Optional['outputs.MysqlLayerLoadBasedAutoScalingUpscaling'] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional['outputs.MysqlLayerLoadBasedAutoScalingDownscaling']: + return pulumi.get(self, "downscaling") + + @property + @pulumi.getter + def enable(self) -> Optional[bool]: + return pulumi.get(self, "enable") + + @property + @pulumi.getter + def upscaling(self) -> Optional['outputs.MysqlLayerLoadBasedAutoScalingUpscaling']: + return pulumi.get(self, "upscaling") + + +@pulumi.output_type +class MysqlLayerLoadBasedAutoScalingDownscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MysqlLayerLoadBasedAutoScalingDownscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MysqlLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MysqlLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + +@pulumi.output_type +class MysqlLayerLoadBasedAutoScalingUpscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MysqlLayerLoadBasedAutoScalingUpscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MysqlLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MysqlLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + @pulumi.output_type class NodejsAppLayerCloudwatchConfiguration(dict): @staticmethod @@ -2576,40 +4118,245 @@ def number_of_disks(self) -> int: @property @pulumi.getter - def size(self) -> int: - """ - The size of the volume in gigabytes. - """ - return pulumi.get(self, "size") + def size(self) -> int: + """ + The size of the volume in gigabytes. + """ + return pulumi.get(self, "size") + + @property + @pulumi.getter + def encrypted(self) -> Optional[bool]: + return pulumi.get(self, "encrypted") + + @property + @pulumi.getter + def iops(self) -> Optional[int]: + """ + For PIOPS volumes, the IOPS per disk. + """ + return pulumi.get(self, "iops") + + @property + @pulumi.getter(name="raidLevel") + def raid_level(self) -> Optional[str]: + """ + The RAID level to use for the volume. + """ + return pulumi.get(self, "raid_level") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class NodejsAppLayerLoadBasedAutoScaling(dict): + def __init__(__self__, *, + downscaling: Optional['outputs.NodejsAppLayerLoadBasedAutoScalingDownscaling'] = None, + enable: Optional[bool] = None, + upscaling: Optional['outputs.NodejsAppLayerLoadBasedAutoScalingUpscaling'] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional['outputs.NodejsAppLayerLoadBasedAutoScalingDownscaling']: + return pulumi.get(self, "downscaling") + + @property + @pulumi.getter + def enable(self) -> Optional[bool]: + return pulumi.get(self, "enable") + + @property + @pulumi.getter + def upscaling(self) -> Optional['outputs.NodejsAppLayerLoadBasedAutoScalingUpscaling']: + return pulumi.get(self, "upscaling") + + +@pulumi.output_type +class NodejsAppLayerLoadBasedAutoScalingDownscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NodejsAppLayerLoadBasedAutoScalingDownscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NodejsAppLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NodejsAppLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + +@pulumi.output_type +class NodejsAppLayerLoadBasedAutoScalingUpscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NodejsAppLayerLoadBasedAutoScalingUpscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NodejsAppLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NodejsAppLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") @property - @pulumi.getter - def encrypted(self) -> Optional[bool]: - return pulumi.get(self, "encrypted") + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") @property - @pulumi.getter - def iops(self) -> Optional[int]: - """ - For PIOPS volumes, the IOPS per disk. - """ - return pulumi.get(self, "iops") + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") @property - @pulumi.getter(name="raidLevel") - def raid_level(self) -> Optional[str]: - """ - The RAID level to use for the volume. - """ - return pulumi.get(self, "raid_level") + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") @property - @pulumi.getter - def type(self) -> Optional[str]: - """ - The type of volume to create. This may be `standard` (the default), `io1` or `gp2`. - """ - return pulumi.get(self, "type") + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") @pulumi.output_type @@ -2879,6 +4626,211 @@ def type(self) -> Optional[str]: return pulumi.get(self, "type") +@pulumi.output_type +class PhpAppLayerLoadBasedAutoScaling(dict): + def __init__(__self__, *, + downscaling: Optional['outputs.PhpAppLayerLoadBasedAutoScalingDownscaling'] = None, + enable: Optional[bool] = None, + upscaling: Optional['outputs.PhpAppLayerLoadBasedAutoScalingUpscaling'] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional['outputs.PhpAppLayerLoadBasedAutoScalingDownscaling']: + return pulumi.get(self, "downscaling") + + @property + @pulumi.getter + def enable(self) -> Optional[bool]: + return pulumi.get(self, "enable") + + @property + @pulumi.getter + def upscaling(self) -> Optional['outputs.PhpAppLayerLoadBasedAutoScalingUpscaling']: + return pulumi.get(self, "upscaling") + + +@pulumi.output_type +class PhpAppLayerLoadBasedAutoScalingDownscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PhpAppLayerLoadBasedAutoScalingDownscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PhpAppLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PhpAppLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + +@pulumi.output_type +class PhpAppLayerLoadBasedAutoScalingUpscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PhpAppLayerLoadBasedAutoScalingUpscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PhpAppLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PhpAppLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + @pulumi.output_type class RailsAppLayerCloudwatchConfiguration(dict): @staticmethod @@ -3146,6 +5098,211 @@ def type(self) -> Optional[str]: return pulumi.get(self, "type") +@pulumi.output_type +class RailsAppLayerLoadBasedAutoScaling(dict): + def __init__(__self__, *, + downscaling: Optional['outputs.RailsAppLayerLoadBasedAutoScalingDownscaling'] = None, + enable: Optional[bool] = None, + upscaling: Optional['outputs.RailsAppLayerLoadBasedAutoScalingUpscaling'] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional['outputs.RailsAppLayerLoadBasedAutoScalingDownscaling']: + return pulumi.get(self, "downscaling") + + @property + @pulumi.getter + def enable(self) -> Optional[bool]: + return pulumi.get(self, "enable") + + @property + @pulumi.getter + def upscaling(self) -> Optional['outputs.RailsAppLayerLoadBasedAutoScalingUpscaling']: + return pulumi.get(self, "upscaling") + + +@pulumi.output_type +class RailsAppLayerLoadBasedAutoScalingDownscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RailsAppLayerLoadBasedAutoScalingDownscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RailsAppLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RailsAppLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + +@pulumi.output_type +class RailsAppLayerLoadBasedAutoScalingUpscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RailsAppLayerLoadBasedAutoScalingUpscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RailsAppLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RailsAppLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + @pulumi.output_type class StackCustomCookbooksSource(dict): @staticmethod @@ -3507,3 +5664,208 @@ def type(self) -> Optional[str]: return pulumi.get(self, "type") +@pulumi.output_type +class StaticWebLayerLoadBasedAutoScaling(dict): + def __init__(__self__, *, + downscaling: Optional['outputs.StaticWebLayerLoadBasedAutoScalingDownscaling'] = None, + enable: Optional[bool] = None, + upscaling: Optional['outputs.StaticWebLayerLoadBasedAutoScalingUpscaling'] = None): + if downscaling is not None: + pulumi.set(__self__, "downscaling", downscaling) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if upscaling is not None: + pulumi.set(__self__, "upscaling", upscaling) + + @property + @pulumi.getter + def downscaling(self) -> Optional['outputs.StaticWebLayerLoadBasedAutoScalingDownscaling']: + return pulumi.get(self, "downscaling") + + @property + @pulumi.getter + def enable(self) -> Optional[bool]: + return pulumi.get(self, "enable") + + @property + @pulumi.getter + def upscaling(self) -> Optional['outputs.StaticWebLayerLoadBasedAutoScalingUpscaling']: + return pulumi.get(self, "upscaling") + + +@pulumi.output_type +class StaticWebLayerLoadBasedAutoScalingDownscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StaticWebLayerLoadBasedAutoScalingDownscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StaticWebLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StaticWebLayerLoadBasedAutoScalingDownscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + +@pulumi.output_type +class StaticWebLayerLoadBasedAutoScalingUpscaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuThreshold": + suggest = "cpu_threshold" + elif key == "ignoreMetricsTime": + suggest = "ignore_metrics_time" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "loadThreshold": + suggest = "load_threshold" + elif key == "memoryThreshold": + suggest = "memory_threshold" + elif key == "thresholdsWaitTime": + suggest = "thresholds_wait_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StaticWebLayerLoadBasedAutoScalingUpscaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StaticWebLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StaticWebLayerLoadBasedAutoScalingUpscaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarms: Optional[Sequence[str]] = None, + cpu_threshold: Optional[float] = None, + ignore_metrics_time: Optional[int] = None, + instance_count: Optional[int] = None, + load_threshold: Optional[float] = None, + memory_threshold: Optional[float] = None, + thresholds_wait_time: Optional[int] = None): + if alarms is not None: + pulumi.set(__self__, "alarms", alarms) + if cpu_threshold is not None: + pulumi.set(__self__, "cpu_threshold", cpu_threshold) + if ignore_metrics_time is not None: + pulumi.set(__self__, "ignore_metrics_time", ignore_metrics_time) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if load_threshold is not None: + pulumi.set(__self__, "load_threshold", load_threshold) + if memory_threshold is not None: + pulumi.set(__self__, "memory_threshold", memory_threshold) + if thresholds_wait_time is not None: + pulumi.set(__self__, "thresholds_wait_time", thresholds_wait_time) + + @property + @pulumi.getter + def alarms(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "alarms") + + @property + @pulumi.getter(name="cpuThreshold") + def cpu_threshold(self) -> Optional[float]: + return pulumi.get(self, "cpu_threshold") + + @property + @pulumi.getter(name="ignoreMetricsTime") + def ignore_metrics_time(self) -> Optional[int]: + return pulumi.get(self, "ignore_metrics_time") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="loadThreshold") + def load_threshold(self) -> Optional[float]: + return pulumi.get(self, "load_threshold") + + @property + @pulumi.getter(name="memoryThreshold") + def memory_threshold(self) -> Optional[float]: + return pulumi.get(self, "memory_threshold") + + @property + @pulumi.getter(name="thresholdsWaitTime") + def thresholds_wait_time(self) -> Optional[int]: + return pulumi.get(self, "thresholds_wait_time") + + diff --git a/sdk/python/pulumi_aws/opsworks/php_app_layer.py b/sdk/python/pulumi_aws/opsworks/php_app_layer.py index c9578c2f92e..e990a216ba6 100644 --- a/sdk/python/pulumi_aws/opsworks/php_app_layer.py +++ b/sdk/python/pulumi_aws/opsworks/php_app_layer.py @@ -34,6 +34,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['PhpAppLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -92,6 +93,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if system_packages is not None: @@ -299,6 +302,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['PhpAppLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['PhpAppLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -369,6 +381,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['PhpAppLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -432,6 +445,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if stack_id is not None: @@ -643,6 +658,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['PhpAppLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['PhpAppLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -738,6 +762,7 @@ def __init__(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['PhpAppLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -841,6 +866,7 @@ def _internal_init(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['PhpAppLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -872,6 +898,7 @@ def _internal_init(__self__, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name if stack_id is None and not opts.urn: raise TypeError("Missing required property 'stack_id'") @@ -909,6 +936,7 @@ def get(resource_name: str, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['PhpAppLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -963,6 +991,7 @@ def get(resource_name: str, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name __props__.__dict__["stack_id"] = stack_id __props__.__dict__["system_packages"] = system_packages @@ -1097,6 +1126,11 @@ def instance_shutdown_timeout(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "instance_shutdown_timeout") + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> pulumi.Output['outputs.PhpAppLayerLoadBasedAutoScaling']: + return pulumi.get(self, "load_based_auto_scaling") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/opsworks/rails_app_layer.py b/sdk/python/pulumi_aws/opsworks/rails_app_layer.py index d5da73a390e..7cd8fc157d3 100644 --- a/sdk/python/pulumi_aws/opsworks/rails_app_layer.py +++ b/sdk/python/pulumi_aws/opsworks/rails_app_layer.py @@ -36,6 +36,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['RailsAppLayerLoadBasedAutoScalingArgs']] = None, manage_bundler: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, passenger_version: Optional[pulumi.Input[str]] = None, @@ -108,6 +109,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if manage_bundler is not None: pulumi.set(__self__, "manage_bundler", manage_bundler) if name is not None: @@ -347,6 +350,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['RailsAppLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['RailsAppLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter(name="manageBundler") def manage_bundler(self) -> Optional[pulumi.Input[bool]]: @@ -467,6 +479,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['RailsAppLayerLoadBasedAutoScalingArgs']] = None, manage_bundler: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, passenger_version: Optional[pulumi.Input[str]] = None, @@ -544,6 +557,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if manage_bundler is not None: pulumi.set(__self__, "manage_bundler", manage_bundler) if name is not None: @@ -787,6 +802,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['RailsAppLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['RailsAppLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter(name="manageBundler") def manage_bundler(self) -> Optional[pulumi.Input[bool]]: @@ -932,6 +956,7 @@ def __init__(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['RailsAppLayerLoadBasedAutoScalingArgs']]] = None, manage_bundler: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, passenger_version: Optional[pulumi.Input[str]] = None, @@ -1031,6 +1056,7 @@ def _internal_init(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['RailsAppLayerLoadBasedAutoScalingArgs']]] = None, manage_bundler: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, passenger_version: Optional[pulumi.Input[str]] = None, @@ -1068,6 +1094,7 @@ def _internal_init(__self__, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["manage_bundler"] = manage_bundler __props__.__dict__["name"] = name __props__.__dict__["passenger_version"] = passenger_version @@ -1111,6 +1138,7 @@ def get(resource_name: str, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['RailsAppLayerLoadBasedAutoScalingArgs']]] = None, manage_bundler: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, passenger_version: Optional[pulumi.Input[str]] = None, @@ -1177,6 +1205,7 @@ def get(resource_name: str, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["manage_bundler"] = manage_bundler __props__.__dict__["name"] = name __props__.__dict__["passenger_version"] = passenger_version @@ -1331,6 +1360,11 @@ def instance_shutdown_timeout(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "instance_shutdown_timeout") + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> pulumi.Output['outputs.RailsAppLayerLoadBasedAutoScaling']: + return pulumi.get(self, "load_based_auto_scaling") + @property @pulumi.getter(name="manageBundler") def manage_bundler(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_aws/opsworks/static_web_layer.py b/sdk/python/pulumi_aws/opsworks/static_web_layer.py index 8356d3de7bc..9b380cfa00e 100644 --- a/sdk/python/pulumi_aws/opsworks/static_web_layer.py +++ b/sdk/python/pulumi_aws/opsworks/static_web_layer.py @@ -34,6 +34,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['StaticWebLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -91,6 +92,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if system_packages is not None: @@ -295,6 +298,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['StaticWebLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['StaticWebLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -365,6 +377,7 @@ def __init__(__self__, *, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input['StaticWebLayerLoadBasedAutoScalingArgs']] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -427,6 +440,8 @@ def __init__(__self__, *, pulumi.set(__self__, "install_updates_on_boot", install_updates_on_boot) if instance_shutdown_timeout is not None: pulumi.set(__self__, "instance_shutdown_timeout", instance_shutdown_timeout) + if load_based_auto_scaling is not None: + pulumi.set(__self__, "load_based_auto_scaling", load_based_auto_scaling) if name is not None: pulumi.set(__self__, "name", name) if stack_id is not None: @@ -635,6 +650,15 @@ def instance_shutdown_timeout(self) -> Optional[pulumi.Input[int]]: def instance_shutdown_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_shutdown_timeout", value) + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> Optional[pulumi.Input['StaticWebLayerLoadBasedAutoScalingArgs']]: + return pulumi.get(self, "load_based_auto_scaling") + + @load_based_auto_scaling.setter + def load_based_auto_scaling(self, value: Optional[pulumi.Input['StaticWebLayerLoadBasedAutoScalingArgs']]): + pulumi.set(self, "load_based_auto_scaling", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -730,6 +754,7 @@ def __init__(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['StaticWebLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -832,6 +857,7 @@ def _internal_init(__self__, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['StaticWebLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -863,6 +889,7 @@ def _internal_init(__self__, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name if stack_id is None and not opts.urn: raise TypeError("Missing required property 'stack_id'") @@ -900,6 +927,7 @@ def get(resource_name: str, elastic_load_balancer: Optional[pulumi.Input[str]] = None, install_updates_on_boot: Optional[pulumi.Input[bool]] = None, instance_shutdown_timeout: Optional[pulumi.Input[int]] = None, + load_based_auto_scaling: Optional[pulumi.Input[pulumi.InputType['StaticWebLayerLoadBasedAutoScalingArgs']]] = None, name: Optional[pulumi.Input[str]] = None, stack_id: Optional[pulumi.Input[str]] = None, system_packages: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -953,6 +981,7 @@ def get(resource_name: str, __props__.__dict__["elastic_load_balancer"] = elastic_load_balancer __props__.__dict__["install_updates_on_boot"] = install_updates_on_boot __props__.__dict__["instance_shutdown_timeout"] = instance_shutdown_timeout + __props__.__dict__["load_based_auto_scaling"] = load_based_auto_scaling __props__.__dict__["name"] = name __props__.__dict__["stack_id"] = stack_id __props__.__dict__["system_packages"] = system_packages @@ -1084,6 +1113,11 @@ def instance_shutdown_timeout(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "instance_shutdown_timeout") + @property + @pulumi.getter(name="loadBasedAutoScaling") + def load_based_auto_scaling(self) -> pulumi.Output['outputs.StaticWebLayerLoadBasedAutoScaling']: + return pulumi.get(self, "load_based_auto_scaling") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/ram/resource_share.py b/sdk/python/pulumi_aws/ram/resource_share.py index c2db7ea7935..ee910f9f38a 100644 --- a/sdk/python/pulumi_aws/ram/resource_share.py +++ b/sdk/python/pulumi_aws/ram/resource_share.py @@ -215,7 +215,7 @@ def __init__(__self__, ## Import - Resource shares can be imported using the `id`, e.g., + Resource shares can be imported using the `arn` of the resource share, e.g., ```sh $ pulumi import aws:ram/resourceShare:ResourceShare example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 @@ -252,7 +252,7 @@ def __init__(__self__, ## Import - Resource shares can be imported using the `id`, e.g., + Resource shares can be imported using the `arn` of the resource share, e.g., ```sh $ pulumi import aws:ram/resourceShare:ResourceShare example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 diff --git a/sdk/python/pulumi_aws/rds/__init__.py b/sdk/python/pulumi_aws/rds/__init__.py index 3f0160c5729..873c92a201c 100644 --- a/sdk/python/pulumi_aws/rds/__init__.py +++ b/sdk/python/pulumi_aws/rds/__init__.py @@ -22,6 +22,7 @@ from .get_instance import * from .get_orderable_db_instance import * from .get_proxy import * +from .get_reserved_instance_offering import * from .get_snapshot import * from .get_subnet_group import * from .global_cluster import * @@ -33,6 +34,7 @@ from .proxy_default_target_group import * from .proxy_endpoint import * from .proxy_target import * +from .reserved_instance import * from .role_association import * from .security_group import * from .snapshot import * diff --git a/sdk/python/pulumi_aws/rds/_inputs.py b/sdk/python/pulumi_aws/rds/_inputs.py index dd4b133b8db..5154524e5ae 100644 --- a/sdk/python/pulumi_aws/rds/_inputs.py +++ b/sdk/python/pulumi_aws/rds/_inputs.py @@ -24,6 +24,7 @@ 'ParameterGroupParameterArgs', 'ProxyAuthArgs', 'ProxyDefaultTargetGroupConnectionPoolConfigArgs', + 'ReservedInstanceRecurringChargeArgs', 'SecurityGroupIngressArgs', 'GetEngineVersionFilterArgs', ] @@ -943,6 +944,35 @@ def session_pinning_filters(self, value: Optional[pulumi.Input[Sequence[pulumi.I pulumi.set(self, "session_pinning_filters", value) +@pulumi.input_type +class ReservedInstanceRecurringChargeArgs: + def __init__(__self__, *, + recurring_charge_amount: Optional[pulumi.Input[int]] = None, + recurring_charge_frequency: Optional[pulumi.Input[str]] = None): + if recurring_charge_amount is not None: + pulumi.set(__self__, "recurring_charge_amount", recurring_charge_amount) + if recurring_charge_frequency is not None: + pulumi.set(__self__, "recurring_charge_frequency", recurring_charge_frequency) + + @property + @pulumi.getter(name="recurringChargeAmount") + def recurring_charge_amount(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "recurring_charge_amount") + + @recurring_charge_amount.setter + def recurring_charge_amount(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "recurring_charge_amount", value) + + @property + @pulumi.getter(name="recurringChargeFrequency") + def recurring_charge_frequency(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "recurring_charge_frequency") + + @recurring_charge_frequency.setter + def recurring_charge_frequency(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "recurring_charge_frequency", value) + + @pulumi.input_type class SecurityGroupIngressArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/rds/get_reserved_instance_offering.py b/sdk/python/pulumi_aws/rds/get_reserved_instance_offering.py new file mode 100644 index 00000000000..9b2940cbbcb --- /dev/null +++ b/sdk/python/pulumi_aws/rds/get_reserved_instance_offering.py @@ -0,0 +1,208 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'GetReservedInstanceOfferingResult', + 'AwaitableGetReservedInstanceOfferingResult', + 'get_reserved_instance_offering', + 'get_reserved_instance_offering_output', +] + +@pulumi.output_type +class GetReservedInstanceOfferingResult: + """ + A collection of values returned by getReservedInstanceOffering. + """ + def __init__(__self__, currency_code=None, db_instance_class=None, duration=None, fixed_price=None, id=None, multi_az=None, offering_id=None, offering_type=None, product_description=None): + if currency_code and not isinstance(currency_code, str): + raise TypeError("Expected argument 'currency_code' to be a str") + pulumi.set(__self__, "currency_code", currency_code) + if db_instance_class and not isinstance(db_instance_class, str): + raise TypeError("Expected argument 'db_instance_class' to be a str") + pulumi.set(__self__, "db_instance_class", db_instance_class) + if duration and not isinstance(duration, int): + raise TypeError("Expected argument 'duration' to be a int") + pulumi.set(__self__, "duration", duration) + if fixed_price and not isinstance(fixed_price, float): + raise TypeError("Expected argument 'fixed_price' to be a float") + pulumi.set(__self__, "fixed_price", fixed_price) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if multi_az and not isinstance(multi_az, bool): + raise TypeError("Expected argument 'multi_az' to be a bool") + pulumi.set(__self__, "multi_az", multi_az) + if offering_id and not isinstance(offering_id, str): + raise TypeError("Expected argument 'offering_id' to be a str") + pulumi.set(__self__, "offering_id", offering_id) + if offering_type and not isinstance(offering_type, str): + raise TypeError("Expected argument 'offering_type' to be a str") + pulumi.set(__self__, "offering_type", offering_type) + if product_description and not isinstance(product_description, str): + raise TypeError("Expected argument 'product_description' to be a str") + pulumi.set(__self__, "product_description", product_description) + + @property + @pulumi.getter(name="currencyCode") + def currency_code(self) -> str: + """ + Currency code for the reserved DB instance. + """ + return pulumi.get(self, "currency_code") + + @property + @pulumi.getter(name="dbInstanceClass") + def db_instance_class(self) -> str: + return pulumi.get(self, "db_instance_class") + + @property + @pulumi.getter + def duration(self) -> int: + return pulumi.get(self, "duration") + + @property + @pulumi.getter(name="fixedPrice") + def fixed_price(self) -> float: + """ + Fixed price charged for this reserved DB instance. + """ + return pulumi.get(self, "fixed_price") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="multiAz") + def multi_az(self) -> bool: + return pulumi.get(self, "multi_az") + + @property + @pulumi.getter(name="offeringId") + def offering_id(self) -> str: + """ + Unique identifier for the reservation. + """ + return pulumi.get(self, "offering_id") + + @property + @pulumi.getter(name="offeringType") + def offering_type(self) -> str: + return pulumi.get(self, "offering_type") + + @property + @pulumi.getter(name="productDescription") + def product_description(self) -> str: + return pulumi.get(self, "product_description") + + +class AwaitableGetReservedInstanceOfferingResult(GetReservedInstanceOfferingResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetReservedInstanceOfferingResult( + currency_code=self.currency_code, + db_instance_class=self.db_instance_class, + duration=self.duration, + fixed_price=self.fixed_price, + id=self.id, + multi_az=self.multi_az, + offering_id=self.offering_id, + offering_type=self.offering_type, + product_description=self.product_description) + + +def get_reserved_instance_offering(db_instance_class: Optional[str] = None, + duration: Optional[int] = None, + multi_az: Optional[bool] = None, + offering_type: Optional[str] = None, + product_description: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetReservedInstanceOfferingResult: + """ + Information about a single RDS Reserved Instance Offering. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.rds.get_reserved_instance_offering(db_instance_class="db.t2.micro", + duration=31536000, + multi_az=False, + offering_type="All Upfront", + product_description="mysql") + ``` + + + :param str db_instance_class: DB instance class for the reserved DB instance. + :param int duration: Duration of the reservation in seconds. + :param bool multi_az: Whether the reservation applies to Multi-AZ deployments. + :param str offering_type: Offering type of this reserved DB instance. + :param str product_description: Description of the reserved DB instance. + """ + __args__ = dict() + __args__['dbInstanceClass'] = db_instance_class + __args__['duration'] = duration + __args__['multiAz'] = multi_az + __args__['offeringType'] = offering_type + __args__['productDescription'] = product_description + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:rds/getReservedInstanceOffering:getReservedInstanceOffering', __args__, opts=opts, typ=GetReservedInstanceOfferingResult).value + + return AwaitableGetReservedInstanceOfferingResult( + currency_code=__ret__.currency_code, + db_instance_class=__ret__.db_instance_class, + duration=__ret__.duration, + fixed_price=__ret__.fixed_price, + id=__ret__.id, + multi_az=__ret__.multi_az, + offering_id=__ret__.offering_id, + offering_type=__ret__.offering_type, + product_description=__ret__.product_description) + + +@_utilities.lift_output_func(get_reserved_instance_offering) +def get_reserved_instance_offering_output(db_instance_class: Optional[pulumi.Input[str]] = None, + duration: Optional[pulumi.Input[int]] = None, + multi_az: Optional[pulumi.Input[bool]] = None, + offering_type: Optional[pulumi.Input[str]] = None, + product_description: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReservedInstanceOfferingResult]: + """ + Information about a single RDS Reserved Instance Offering. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.rds.get_reserved_instance_offering(db_instance_class="db.t2.micro", + duration=31536000, + multi_az=False, + offering_type="All Upfront", + product_description="mysql") + ``` + + + :param str db_instance_class: DB instance class for the reserved DB instance. + :param int duration: Duration of the reservation in seconds. + :param bool multi_az: Whether the reservation applies to Multi-AZ deployments. + :param str offering_type: Offering type of this reserved DB instance. + :param str product_description: Description of the reserved DB instance. + """ + ... diff --git a/sdk/python/pulumi_aws/rds/option_group.py b/sdk/python/pulumi_aws/rds/option_group.py index d4df4bd3dd8..8b133e538bb 100644 --- a/sdk/python/pulumi_aws/rds/option_group.py +++ b/sdk/python/pulumi_aws/rds/option_group.py @@ -339,7 +339,7 @@ def __init__(__self__, ]) ``` - > **Note**: Any modifications to the `rds.OptionGroup` are set to happen immediately as we default to applying immediately. + > **Note:** Any modifications to the `rds.OptionGroup` are set to happen immediately as we default to applying immediately. > **WARNING:** You can perform a destroy on a `rds.OptionGroup`, as long as it is not associated with any Amazon RDS resource. An option group can be associated with a DB instance, a manual DB snapshot, or an automated DB snapshot. @@ -412,7 +412,7 @@ def __init__(__self__, ]) ``` - > **Note**: Any modifications to the `rds.OptionGroup` are set to happen immediately as we default to applying immediately. + > **Note:** Any modifications to the `rds.OptionGroup` are set to happen immediately as we default to applying immediately. > **WARNING:** You can perform a destroy on a `rds.OptionGroup`, as long as it is not associated with any Amazon RDS resource. An option group can be associated with a DB instance, a manual DB snapshot, or an automated DB snapshot. diff --git a/sdk/python/pulumi_aws/rds/outputs.py b/sdk/python/pulumi_aws/rds/outputs.py index 63bf5e26deb..ce41b40197a 100644 --- a/sdk/python/pulumi_aws/rds/outputs.py +++ b/sdk/python/pulumi_aws/rds/outputs.py @@ -25,6 +25,7 @@ 'ParameterGroupParameter', 'ProxyAuth', 'ProxyDefaultTargetGroupConnectionPoolConfig', + 'ReservedInstanceRecurringCharge', 'SecurityGroupIngress', 'GetEngineVersionFilterResult', 'GetProxyAuthResult', @@ -1001,6 +1002,46 @@ def session_pinning_filters(self) -> Optional[Sequence[str]]: return pulumi.get(self, "session_pinning_filters") +@pulumi.output_type +class ReservedInstanceRecurringCharge(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "recurringChargeAmount": + suggest = "recurring_charge_amount" + elif key == "recurringChargeFrequency": + suggest = "recurring_charge_frequency" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ReservedInstanceRecurringCharge. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ReservedInstanceRecurringCharge.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ReservedInstanceRecurringCharge.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + recurring_charge_amount: Optional[int] = None, + recurring_charge_frequency: Optional[str] = None): + if recurring_charge_amount is not None: + pulumi.set(__self__, "recurring_charge_amount", recurring_charge_amount) + if recurring_charge_frequency is not None: + pulumi.set(__self__, "recurring_charge_frequency", recurring_charge_frequency) + + @property + @pulumi.getter(name="recurringChargeAmount") + def recurring_charge_amount(self) -> Optional[int]: + return pulumi.get(self, "recurring_charge_amount") + + @property + @pulumi.getter(name="recurringChargeFrequency") + def recurring_charge_frequency(self) -> Optional[str]: + return pulumi.get(self, "recurring_charge_frequency") + + @pulumi.output_type class SecurityGroupIngress(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/rds/reserved_instance.py b/sdk/python/pulumi_aws/rds/reserved_instance.py new file mode 100644 index 00000000000..564da27029b --- /dev/null +++ b/sdk/python/pulumi_aws/rds/reserved_instance.py @@ -0,0 +1,712 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['ReservedInstanceArgs', 'ReservedInstance'] + +@pulumi.input_type +class ReservedInstanceArgs: + def __init__(__self__, *, + offering_id: pulumi.Input[str], + instance_count: Optional[pulumi.Input[int]] = None, + reservation_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a ReservedInstance resource. + :param pulumi.Input[str] offering_id: ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `rds.get_reserved_instance_offering` data source. + :param pulumi.Input[int] instance_count: Number of instances to reserve. Default value is `1`. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + """ + pulumi.set(__self__, "offering_id", offering_id) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if reservation_id is not None: + pulumi.set(__self__, "reservation_id", reservation_id) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + + @property + @pulumi.getter(name="offeringId") + def offering_id(self) -> pulumi.Input[str]: + """ + ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `rds.get_reserved_instance_offering` data source. + """ + return pulumi.get(self, "offering_id") + + @offering_id.setter + def offering_id(self, value: pulumi.Input[str]): + pulumi.set(self, "offering_id", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + """ + Number of instances to reserve. Default value is `1`. + """ + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="reservationId") + def reservation_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "reservation_id") + + @reservation_id.setter + def reservation_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "reservation_id", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + +@pulumi.input_type +class _ReservedInstanceState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + currency_code: Optional[pulumi.Input[str]] = None, + db_instance_class: Optional[pulumi.Input[str]] = None, + duration: Optional[pulumi.Input[int]] = None, + fixed_price: Optional[pulumi.Input[float]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + lease_id: Optional[pulumi.Input[str]] = None, + multi_az: Optional[pulumi.Input[bool]] = None, + offering_id: Optional[pulumi.Input[str]] = None, + offering_type: Optional[pulumi.Input[str]] = None, + product_description: Optional[pulumi.Input[str]] = None, + recurring_charges: Optional[pulumi.Input[Sequence[pulumi.Input['ReservedInstanceRecurringChargeArgs']]]] = None, + reservation_id: Optional[pulumi.Input[str]] = None, + start_time: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + usage_price: Optional[pulumi.Input[float]] = None): + """ + Input properties used for looking up and filtering ReservedInstance resources. + :param pulumi.Input[str] arn: ARN for the reserved DB instance. + :param pulumi.Input[str] currency_code: Currency code for the reserved DB instance. + :param pulumi.Input[int] duration: Duration of the reservation in seconds. + :param pulumi.Input[float] fixed_price: Fixed price charged for this reserved DB instance. + :param pulumi.Input[int] instance_count: Number of instances to reserve. Default value is `1`. + :param pulumi.Input[str] lease_id: Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. + :param pulumi.Input[bool] multi_az: Whether the reservation applies to Multi-AZ deployments. + :param pulumi.Input[str] offering_id: ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `rds.get_reserved_instance_offering` data source. + :param pulumi.Input[str] offering_type: Offering type of this reserved DB instance. + :param pulumi.Input[str] product_description: Description of the reserved DB instance. + :param pulumi.Input[Sequence[pulumi.Input['ReservedInstanceRecurringChargeArgs']]] recurring_charges: Recurring price charged to run this reserved DB instance. + :param pulumi.Input[str] start_time: Time the reservation started. + :param pulumi.Input[str] state: State of the reserved DB instance. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[float] usage_price: Hourly price charged for this reserved DB instance. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if currency_code is not None: + pulumi.set(__self__, "currency_code", currency_code) + if db_instance_class is not None: + pulumi.set(__self__, "db_instance_class", db_instance_class) + if duration is not None: + pulumi.set(__self__, "duration", duration) + if fixed_price is not None: + pulumi.set(__self__, "fixed_price", fixed_price) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if lease_id is not None: + pulumi.set(__self__, "lease_id", lease_id) + if multi_az is not None: + pulumi.set(__self__, "multi_az", multi_az) + if offering_id is not None: + pulumi.set(__self__, "offering_id", offering_id) + if offering_type is not None: + pulumi.set(__self__, "offering_type", offering_type) + if product_description is not None: + pulumi.set(__self__, "product_description", product_description) + if recurring_charges is not None: + pulumi.set(__self__, "recurring_charges", recurring_charges) + if reservation_id is not None: + pulumi.set(__self__, "reservation_id", reservation_id) + if start_time is not None: + pulumi.set(__self__, "start_time", start_time) + if state is not None: + pulumi.set(__self__, "state", state) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + if usage_price is not None: + pulumi.set(__self__, "usage_price", usage_price) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN for the reserved DB instance. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="currencyCode") + def currency_code(self) -> Optional[pulumi.Input[str]]: + """ + Currency code for the reserved DB instance. + """ + return pulumi.get(self, "currency_code") + + @currency_code.setter + def currency_code(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "currency_code", value) + + @property + @pulumi.getter(name="dbInstanceClass") + def db_instance_class(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "db_instance_class") + + @db_instance_class.setter + def db_instance_class(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "db_instance_class", value) + + @property + @pulumi.getter + def duration(self) -> Optional[pulumi.Input[int]]: + """ + Duration of the reservation in seconds. + """ + return pulumi.get(self, "duration") + + @duration.setter + def duration(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "duration", value) + + @property + @pulumi.getter(name="fixedPrice") + def fixed_price(self) -> Optional[pulumi.Input[float]]: + """ + Fixed price charged for this reserved DB instance. + """ + return pulumi.get(self, "fixed_price") + + @fixed_price.setter + def fixed_price(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "fixed_price", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[pulumi.Input[int]]: + """ + Number of instances to reserve. Default value is `1`. + """ + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="leaseId") + def lease_id(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. + """ + return pulumi.get(self, "lease_id") + + @lease_id.setter + def lease_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "lease_id", value) + + @property + @pulumi.getter(name="multiAz") + def multi_az(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the reservation applies to Multi-AZ deployments. + """ + return pulumi.get(self, "multi_az") + + @multi_az.setter + def multi_az(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "multi_az", value) + + @property + @pulumi.getter(name="offeringId") + def offering_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `rds.get_reserved_instance_offering` data source. + """ + return pulumi.get(self, "offering_id") + + @offering_id.setter + def offering_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "offering_id", value) + + @property + @pulumi.getter(name="offeringType") + def offering_type(self) -> Optional[pulumi.Input[str]]: + """ + Offering type of this reserved DB instance. + """ + return pulumi.get(self, "offering_type") + + @offering_type.setter + def offering_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "offering_type", value) + + @property + @pulumi.getter(name="productDescription") + def product_description(self) -> Optional[pulumi.Input[str]]: + """ + Description of the reserved DB instance. + """ + return pulumi.get(self, "product_description") + + @product_description.setter + def product_description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "product_description", value) + + @property + @pulumi.getter(name="recurringCharges") + def recurring_charges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ReservedInstanceRecurringChargeArgs']]]]: + """ + Recurring price charged to run this reserved DB instance. + """ + return pulumi.get(self, "recurring_charges") + + @recurring_charges.setter + def recurring_charges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ReservedInstanceRecurringChargeArgs']]]]): + pulumi.set(self, "recurring_charges", value) + + @property + @pulumi.getter(name="reservationId") + def reservation_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "reservation_id") + + @reservation_id.setter + def reservation_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "reservation_id", value) + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> Optional[pulumi.Input[str]]: + """ + Time the reservation started. + """ + return pulumi.get(self, "start_time") + + @start_time.setter + def start_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "start_time", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[str]]: + """ + State of the reserved DB instance. + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "state", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + @property + @pulumi.getter(name="usagePrice") + def usage_price(self) -> Optional[pulumi.Input[float]]: + """ + Hourly price charged for this reserved DB instance. + """ + return pulumi.get(self, "usage_price") + + @usage_price.setter + def usage_price(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "usage_price", value) + + +class ReservedInstance(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + instance_count: Optional[pulumi.Input[int]] = None, + offering_id: Optional[pulumi.Input[str]] = None, + reservation_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.rds.get_reserved_instance_offering(db_instance_class="db.t2.micro", + duration=31536000, + multi_az=False, + offering_type="All Upfront", + product_description="mysql") + example = aws.rds.ReservedInstance("example", + offering_id=test.offering_id, + reservation_id="optionalCustomReservationID", + instance_count=3) + ``` + + ## Import + + RDS DB Instance Reservations can be imported using the `instance_id`, e.g., + + ```sh + $ pulumi import aws:rds/reservedInstance:ReservedInstance reservation_instance CustomReservationID + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] instance_count: Number of instances to reserve. Default value is `1`. + :param pulumi.Input[str] offering_id: ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `rds.get_reserved_instance_offering` data source. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ReservedInstanceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.rds.get_reserved_instance_offering(db_instance_class="db.t2.micro", + duration=31536000, + multi_az=False, + offering_type="All Upfront", + product_description="mysql") + example = aws.rds.ReservedInstance("example", + offering_id=test.offering_id, + reservation_id="optionalCustomReservationID", + instance_count=3) + ``` + + ## Import + + RDS DB Instance Reservations can be imported using the `instance_id`, e.g., + + ```sh + $ pulumi import aws:rds/reservedInstance:ReservedInstance reservation_instance CustomReservationID + ``` + + :param str resource_name: The name of the resource. + :param ReservedInstanceArgs 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(ReservedInstanceArgs, 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, + instance_count: Optional[pulumi.Input[int]] = None, + offering_id: Optional[pulumi.Input[str]] = None, + reservation_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: 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__ = ReservedInstanceArgs.__new__(ReservedInstanceArgs) + + __props__.__dict__["instance_count"] = instance_count + if offering_id is None and not opts.urn: + raise TypeError("Missing required property 'offering_id'") + __props__.__dict__["offering_id"] = offering_id + __props__.__dict__["reservation_id"] = reservation_id + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["arn"] = None + __props__.__dict__["currency_code"] = None + __props__.__dict__["db_instance_class"] = None + __props__.__dict__["duration"] = None + __props__.__dict__["fixed_price"] = None + __props__.__dict__["lease_id"] = None + __props__.__dict__["multi_az"] = None + __props__.__dict__["offering_type"] = None + __props__.__dict__["product_description"] = None + __props__.__dict__["recurring_charges"] = None + __props__.__dict__["start_time"] = None + __props__.__dict__["state"] = None + __props__.__dict__["usage_price"] = None + super(ReservedInstance, __self__).__init__( + 'aws:rds/reservedInstance:ReservedInstance', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + currency_code: Optional[pulumi.Input[str]] = None, + db_instance_class: Optional[pulumi.Input[str]] = None, + duration: Optional[pulumi.Input[int]] = None, + fixed_price: Optional[pulumi.Input[float]] = None, + instance_count: Optional[pulumi.Input[int]] = None, + lease_id: Optional[pulumi.Input[str]] = None, + multi_az: Optional[pulumi.Input[bool]] = None, + offering_id: Optional[pulumi.Input[str]] = None, + offering_type: Optional[pulumi.Input[str]] = None, + product_description: Optional[pulumi.Input[str]] = None, + recurring_charges: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ReservedInstanceRecurringChargeArgs']]]]] = None, + reservation_id: Optional[pulumi.Input[str]] = None, + start_time: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + usage_price: Optional[pulumi.Input[float]] = None) -> 'ReservedInstance': + """ + Get an existing ReservedInstance 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. + :param pulumi.Input[str] arn: ARN for the reserved DB instance. + :param pulumi.Input[str] currency_code: Currency code for the reserved DB instance. + :param pulumi.Input[int] duration: Duration of the reservation in seconds. + :param pulumi.Input[float] fixed_price: Fixed price charged for this reserved DB instance. + :param pulumi.Input[int] instance_count: Number of instances to reserve. Default value is `1`. + :param pulumi.Input[str] lease_id: Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. + :param pulumi.Input[bool] multi_az: Whether the reservation applies to Multi-AZ deployments. + :param pulumi.Input[str] offering_id: ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `rds.get_reserved_instance_offering` data source. + :param pulumi.Input[str] offering_type: Offering type of this reserved DB instance. + :param pulumi.Input[str] product_description: Description of the reserved DB instance. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ReservedInstanceRecurringChargeArgs']]]] recurring_charges: Recurring price charged to run this reserved DB instance. + :param pulumi.Input[str] start_time: Time the reservation started. + :param pulumi.Input[str] state: State of the reserved DB instance. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[float] usage_price: Hourly price charged for this reserved DB instance. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ReservedInstanceState.__new__(_ReservedInstanceState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["currency_code"] = currency_code + __props__.__dict__["db_instance_class"] = db_instance_class + __props__.__dict__["duration"] = duration + __props__.__dict__["fixed_price"] = fixed_price + __props__.__dict__["instance_count"] = instance_count + __props__.__dict__["lease_id"] = lease_id + __props__.__dict__["multi_az"] = multi_az + __props__.__dict__["offering_id"] = offering_id + __props__.__dict__["offering_type"] = offering_type + __props__.__dict__["product_description"] = product_description + __props__.__dict__["recurring_charges"] = recurring_charges + __props__.__dict__["reservation_id"] = reservation_id + __props__.__dict__["start_time"] = start_time + __props__.__dict__["state"] = state + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["usage_price"] = usage_price + return ReservedInstance(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + ARN for the reserved DB instance. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="currencyCode") + def currency_code(self) -> pulumi.Output[str]: + """ + Currency code for the reserved DB instance. + """ + return pulumi.get(self, "currency_code") + + @property + @pulumi.getter(name="dbInstanceClass") + def db_instance_class(self) -> pulumi.Output[str]: + return pulumi.get(self, "db_instance_class") + + @property + @pulumi.getter + def duration(self) -> pulumi.Output[int]: + """ + Duration of the reservation in seconds. + """ + return pulumi.get(self, "duration") + + @property + @pulumi.getter(name="fixedPrice") + def fixed_price(self) -> pulumi.Output[float]: + """ + Fixed price charged for this reserved DB instance. + """ + return pulumi.get(self, "fixed_price") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> pulumi.Output[Optional[int]]: + """ + Number of instances to reserve. Default value is `1`. + """ + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="leaseId") + def lease_id(self) -> pulumi.Output[str]: + """ + Unique identifier for the lease associated with the reserved DB instance. Amazon Web Services Support might request the lease ID for an issue related to a reserved DB instance. + """ + return pulumi.get(self, "lease_id") + + @property + @pulumi.getter(name="multiAz") + def multi_az(self) -> pulumi.Output[bool]: + """ + Whether the reservation applies to Multi-AZ deployments. + """ + return pulumi.get(self, "multi_az") + + @property + @pulumi.getter(name="offeringId") + def offering_id(self) -> pulumi.Output[str]: + """ + ID of the Reserved DB instance offering to purchase. To determine an `offering_id`, see the `rds.get_reserved_instance_offering` data source. + """ + return pulumi.get(self, "offering_id") + + @property + @pulumi.getter(name="offeringType") + def offering_type(self) -> pulumi.Output[str]: + """ + Offering type of this reserved DB instance. + """ + return pulumi.get(self, "offering_type") + + @property + @pulumi.getter(name="productDescription") + def product_description(self) -> pulumi.Output[str]: + """ + Description of the reserved DB instance. + """ + return pulumi.get(self, "product_description") + + @property + @pulumi.getter(name="recurringCharges") + def recurring_charges(self) -> pulumi.Output[Sequence['outputs.ReservedInstanceRecurringCharge']]: + """ + Recurring price charged to run this reserved DB instance. + """ + return pulumi.get(self, "recurring_charges") + + @property + @pulumi.getter(name="reservationId") + def reservation_id(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "reservation_id") + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> pulumi.Output[str]: + """ + Time the reservation started. + """ + return pulumi.get(self, "start_time") + + @property + @pulumi.getter + def state(self) -> pulumi.Output[str]: + """ + State of the reserved DB instance. + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Map of tags to assign to the DB reservation. If configured with a provider [`default_tags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + return pulumi.get(self, "tags_all") + + @property + @pulumi.getter(name="usagePrice") + def usage_price(self) -> pulumi.Output[float]: + """ + Hourly price charged for this reserved DB instance. + """ + return pulumi.get(self, "usage_price") + diff --git a/sdk/python/pulumi_aws/s3control/__init__.py b/sdk/python/pulumi_aws/s3control/__init__.py index 589b4001a14..40cc49e1a59 100644 --- a/sdk/python/pulumi_aws/s3control/__init__.py +++ b/sdk/python/pulumi_aws/s3control/__init__.py @@ -13,5 +13,6 @@ from .multi_region_access_point_policy import * from .object_lambda_access_point import * from .object_lambda_access_point_policy import * +from .storage_lens_configuration import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws/s3control/_inputs.py b/sdk/python/pulumi_aws/s3control/_inputs.py index df862e402ee..207343d31c3 100644 --- a/sdk/python/pulumi_aws/s3control/_inputs.py +++ b/sdk/python/pulumi_aws/s3control/_inputs.py @@ -22,6 +22,23 @@ 'ObjectLambdaAccessPointConfigurationTransformationConfigurationArgs', 'ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationArgs', 'ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambdaArgs', + 'StorageLensConfigurationStorageLensConfigurationArgs', + 'StorageLensConfigurationStorageLensConfigurationAccountLevelArgs', + 'StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs', + 'StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs', + 'StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs', + 'StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs', + 'StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs', + 'StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs', + 'StorageLensConfigurationStorageLensConfigurationAwsOrgArgs', + 'StorageLensConfigurationStorageLensConfigurationDataExportArgs', + 'StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs', + 'StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs', + 'StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs', + 'StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs', + 'StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args', + 'StorageLensConfigurationStorageLensConfigurationExcludeArgs', + 'StorageLensConfigurationStorageLensConfigurationIncludeArgs', ] @pulumi.input_type @@ -537,3 +554,670 @@ def function_payload(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "function_payload", value) +@pulumi.input_type +class StorageLensConfigurationStorageLensConfigurationArgs: + def __init__(__self__, *, + account_level: pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelArgs'], + enabled: pulumi.Input[bool], + aws_org: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationAwsOrgArgs']] = None, + data_export: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportArgs']] = None, + exclude: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationExcludeArgs']] = None, + include: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationIncludeArgs']] = None): + """ + :param pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelArgs'] account_level: The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. + :param pulumi.Input[bool] enabled: Whether the S3 Storage Lens configuration is enabled. + :param pulumi.Input['StorageLensConfigurationStorageLensConfigurationAwsOrgArgs'] aws_org: The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. + :param pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportArgs'] data_export: Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. + :param pulumi.Input['StorageLensConfigurationStorageLensConfigurationExcludeArgs'] exclude: What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. + :param pulumi.Input['StorageLensConfigurationStorageLensConfigurationIncludeArgs'] include: What is included in this configuration. Conflicts with `exclude`. See Include below for more details. + """ + pulumi.set(__self__, "account_level", account_level) + pulumi.set(__self__, "enabled", enabled) + if aws_org is not None: + pulumi.set(__self__, "aws_org", aws_org) + if data_export is not None: + pulumi.set(__self__, "data_export", data_export) + if exclude is not None: + pulumi.set(__self__, "exclude", exclude) + if include is not None: + pulumi.set(__self__, "include", include) + + @property + @pulumi.getter(name="accountLevel") + def account_level(self) -> pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelArgs']: + """ + The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. + """ + return pulumi.get(self, "account_level") + + @account_level.setter + def account_level(self, value: pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelArgs']): + pulumi.set(self, "account_level", value) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + Whether the S3 Storage Lens configuration is enabled. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="awsOrg") + def aws_org(self) -> Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationAwsOrgArgs']]: + """ + The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. + """ + return pulumi.get(self, "aws_org") + + @aws_org.setter + def aws_org(self, value: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationAwsOrgArgs']]): + pulumi.set(self, "aws_org", value) + + @property + @pulumi.getter(name="dataExport") + def data_export(self) -> Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportArgs']]: + """ + Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. + """ + return pulumi.get(self, "data_export") + + @data_export.setter + def data_export(self, value: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportArgs']]): + pulumi.set(self, "data_export", value) + + @property + @pulumi.getter + def exclude(self) -> Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationExcludeArgs']]: + """ + What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. + """ + return pulumi.get(self, "exclude") + + @exclude.setter + def exclude(self, value: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationExcludeArgs']]): + pulumi.set(self, "exclude", value) + + @property + @pulumi.getter + def include(self) -> Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationIncludeArgs']]: + """ + What is included in this configuration. Conflicts with `exclude`. See Include below for more details. + """ + return pulumi.get(self, "include") + + @include.setter + def include(self, value: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationIncludeArgs']]): + pulumi.set(self, "include", value) + + +@pulumi.input_type +class StorageLensConfigurationStorageLensConfigurationAccountLevelArgs: + def __init__(__self__, *, + bucket_level: pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs'], + activity_metrics: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs']] = None): + """ + :param pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs'] bucket_level: S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. + :param pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs'] activity_metrics: S3 Storage Lens activity metrics. See Activity Metrics below for more details. + """ + pulumi.set(__self__, "bucket_level", bucket_level) + if activity_metrics is not None: + pulumi.set(__self__, "activity_metrics", activity_metrics) + + @property + @pulumi.getter(name="bucketLevel") + def bucket_level(self) -> pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs']: + """ + S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. + """ + return pulumi.get(self, "bucket_level") + + @bucket_level.setter + def bucket_level(self, value: pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs']): + pulumi.set(self, "bucket_level", value) + + @property + @pulumi.getter(name="activityMetrics") + def activity_metrics(self) -> Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs']]: + """ + S3 Storage Lens activity metrics. See Activity Metrics below for more details. + """ + return pulumi.get(self, "activity_metrics") + + @activity_metrics.setter + def activity_metrics(self, value: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs']]): + pulumi.set(self, "activity_metrics", value) + + +@pulumi.input_type +class StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[bool] enabled: Whether the activity metrics are enabled. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the activity metrics are enabled. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs: + def __init__(__self__, *, + activity_metrics: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs']] = None, + prefix_level: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs']] = None): + """ + :param pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs'] activity_metrics: S3 Storage Lens activity metrics. See Activity Metrics above for more details. + :param pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs'] prefix_level: Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. + """ + if activity_metrics is not None: + pulumi.set(__self__, "activity_metrics", activity_metrics) + if prefix_level is not None: + pulumi.set(__self__, "prefix_level", prefix_level) + + @property + @pulumi.getter(name="activityMetrics") + def activity_metrics(self) -> Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs']]: + """ + S3 Storage Lens activity metrics. See Activity Metrics above for more details. + """ + return pulumi.get(self, "activity_metrics") + + @activity_metrics.setter + def activity_metrics(self, value: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs']]): + pulumi.set(self, "activity_metrics", value) + + @property + @pulumi.getter(name="prefixLevel") + def prefix_level(self) -> Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs']]: + """ + Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. + """ + return pulumi.get(self, "prefix_level") + + @prefix_level.setter + def prefix_level(self, value: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs']]): + pulumi.set(self, "prefix_level", value) + + +@pulumi.input_type +class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[bool] enabled: Whether the activity metrics are enabled. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the activity metrics are enabled. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs: + def __init__(__self__, *, + storage_metrics: pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs']): + """ + :param pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs'] storage_metrics: Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. + """ + pulumi.set(__self__, "storage_metrics", storage_metrics) + + @property + @pulumi.getter(name="storageMetrics") + def storage_metrics(self) -> pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs']: + """ + Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. + """ + return pulumi.get(self, "storage_metrics") + + @storage_metrics.setter + def storage_metrics(self, value: pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs']): + pulumi.set(self, "storage_metrics", value) + + +@pulumi.input_type +class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None, + selection_criteria: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs']] = None): + """ + :param pulumi.Input[bool] enabled: Whether prefix-level storage metrics are enabled. + :param pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs'] selection_criteria: Selection criteria. See Selection Criteria below for more details. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if selection_criteria is not None: + pulumi.set(__self__, "selection_criteria", selection_criteria) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether prefix-level storage metrics are enabled. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="selectionCriteria") + def selection_criteria(self) -> Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs']]: + """ + Selection criteria. See Selection Criteria below for more details. + """ + return pulumi.get(self, "selection_criteria") + + @selection_criteria.setter + def selection_criteria(self, value: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs']]): + pulumi.set(self, "selection_criteria", value) + + +@pulumi.input_type +class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs: + def __init__(__self__, *, + delimiter: Optional[pulumi.Input[str]] = None, + max_depth: Optional[pulumi.Input[int]] = None, + min_storage_bytes_percentage: Optional[pulumi.Input[float]] = None): + """ + :param pulumi.Input[str] delimiter: The delimiter of the selection criteria being used. + :param pulumi.Input[int] max_depth: The max depth of the selection criteria. + :param pulumi.Input[float] min_storage_bytes_percentage: The minimum number of storage bytes percentage whose metrics will be selected. + """ + if delimiter is not None: + pulumi.set(__self__, "delimiter", delimiter) + if max_depth is not None: + pulumi.set(__self__, "max_depth", max_depth) + if min_storage_bytes_percentage is not None: + pulumi.set(__self__, "min_storage_bytes_percentage", min_storage_bytes_percentage) + + @property + @pulumi.getter + def delimiter(self) -> Optional[pulumi.Input[str]]: + """ + The delimiter of the selection criteria being used. + """ + return pulumi.get(self, "delimiter") + + @delimiter.setter + def delimiter(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "delimiter", value) + + @property + @pulumi.getter(name="maxDepth") + def max_depth(self) -> Optional[pulumi.Input[int]]: + """ + The max depth of the selection criteria. + """ + return pulumi.get(self, "max_depth") + + @max_depth.setter + def max_depth(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_depth", value) + + @property + @pulumi.getter(name="minStorageBytesPercentage") + def min_storage_bytes_percentage(self) -> Optional[pulumi.Input[float]]: + """ + The minimum number of storage bytes percentage whose metrics will be selected. + """ + return pulumi.get(self, "min_storage_bytes_percentage") + + @min_storage_bytes_percentage.setter + def min_storage_bytes_percentage(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "min_storage_bytes_percentage", value) + + +@pulumi.input_type +class StorageLensConfigurationStorageLensConfigurationAwsOrgArgs: + def __init__(__self__, *, + arn: pulumi.Input[str]): + """ + :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) of the Amazon Web Services organization. + """ + pulumi.set(__self__, "arn", arn) + + @property + @pulumi.getter + def arn(self) -> pulumi.Input[str]: + """ + The Amazon Resource Name (ARN) of the Amazon Web Services organization. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: pulumi.Input[str]): + pulumi.set(self, "arn", value) + + +@pulumi.input_type +class StorageLensConfigurationStorageLensConfigurationDataExportArgs: + def __init__(__self__, *, + cloud_watch_metrics: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs']] = None, + s3_bucket_destination: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs']] = None): + """ + :param pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs'] cloud_watch_metrics: Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. + :param pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs'] s3_bucket_destination: The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. + """ + if cloud_watch_metrics is not None: + pulumi.set(__self__, "cloud_watch_metrics", cloud_watch_metrics) + if s3_bucket_destination is not None: + pulumi.set(__self__, "s3_bucket_destination", s3_bucket_destination) + + @property + @pulumi.getter(name="cloudWatchMetrics") + def cloud_watch_metrics(self) -> Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs']]: + """ + Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. + """ + return pulumi.get(self, "cloud_watch_metrics") + + @cloud_watch_metrics.setter + def cloud_watch_metrics(self, value: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs']]): + pulumi.set(self, "cloud_watch_metrics", value) + + @property + @pulumi.getter(name="s3BucketDestination") + def s3_bucket_destination(self) -> Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs']]: + """ + The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. + """ + return pulumi.get(self, "s3_bucket_destination") + + @s3_bucket_destination.setter + def s3_bucket_destination(self, value: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs']]): + pulumi.set(self, "s3_bucket_destination", value) + + +@pulumi.input_type +class StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs: + def __init__(__self__, *, + enabled: pulumi.Input[bool]): + """ + :param pulumi.Input[bool] enabled: Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. + """ + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs: + def __init__(__self__, *, + account_id: pulumi.Input[str], + arn: pulumi.Input[str], + format: pulumi.Input[str], + output_schema_version: pulumi.Input[str], + encryption: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs']] = None, + prefix: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] account_id: The account ID of the owner of the S3 Storage Lens metrics export bucket. + :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) of the bucket. + :param pulumi.Input[str] format: The export format. Valid values: `CSV`, `Parquet`. + :param pulumi.Input[str] output_schema_version: The schema version of the export file. Valid values: `V_1`. + :param pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs'] encryption: Encryption of the metrics exports in this bucket. See Encryption below for more details. + :param pulumi.Input[str] prefix: The prefix of the destination bucket where the metrics export will be delivered. + """ + pulumi.set(__self__, "account_id", account_id) + pulumi.set(__self__, "arn", arn) + pulumi.set(__self__, "format", format) + pulumi.set(__self__, "output_schema_version", output_schema_version) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> pulumi.Input[str]: + """ + The account ID of the owner of the S3 Storage Lens metrics export bucket. + """ + return pulumi.get(self, "account_id") + + @account_id.setter + def account_id(self, value: pulumi.Input[str]): + pulumi.set(self, "account_id", value) + + @property + @pulumi.getter + def arn(self) -> pulumi.Input[str]: + """ + The Amazon Resource Name (ARN) of the bucket. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: pulumi.Input[str]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter + def format(self) -> pulumi.Input[str]: + """ + The export format. Valid values: `CSV`, `Parquet`. + """ + return pulumi.get(self, "format") + + @format.setter + def format(self, value: pulumi.Input[str]): + pulumi.set(self, "format", value) + + @property + @pulumi.getter(name="outputSchemaVersion") + def output_schema_version(self) -> pulumi.Input[str]: + """ + The schema version of the export file. Valid values: `V_1`. + """ + return pulumi.get(self, "output_schema_version") + + @output_schema_version.setter + def output_schema_version(self, value: pulumi.Input[str]): + pulumi.set(self, "output_schema_version", value) + + @property + @pulumi.getter + def encryption(self) -> Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs']]: + """ + Encryption of the metrics exports in this bucket. See Encryption below for more details. + """ + return pulumi.get(self, "encryption") + + @encryption.setter + def encryption(self, value: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs']]): + pulumi.set(self, "encryption", value) + + @property + @pulumi.getter + def prefix(self) -> Optional[pulumi.Input[str]]: + """ + The prefix of the destination bucket where the metrics export will be delivered. + """ + return pulumi.get(self, "prefix") + + @prefix.setter + def prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "prefix", value) + + +@pulumi.input_type +class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs: + def __init__(__self__, *, + sse_kms: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs']] = None, + sse_s3s: Optional[pulumi.Input[Sequence[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args']]]] = None): + """ + :param pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs'] sse_kms: SSE-KMS encryption. See SSE KMS below for more details. + :param pulumi.Input[Sequence[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args']]] sse_s3s: SSE-S3 encryption. An empty configuration block `{}` should be used. + """ + if sse_kms is not None: + pulumi.set(__self__, "sse_kms", sse_kms) + if sse_s3s is not None: + pulumi.set(__self__, "sse_s3s", sse_s3s) + + @property + @pulumi.getter(name="sseKms") + def sse_kms(self) -> Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs']]: + """ + SSE-KMS encryption. See SSE KMS below for more details. + """ + return pulumi.get(self, "sse_kms") + + @sse_kms.setter + def sse_kms(self, value: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs']]): + pulumi.set(self, "sse_kms", value) + + @property + @pulumi.getter(name="sseS3s") + def sse_s3s(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args']]]]: + """ + SSE-S3 encryption. An empty configuration block `{}` should be used. + """ + return pulumi.get(self, "sse_s3s") + + @sse_s3s.setter + def sse_s3s(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args']]]]): + pulumi.set(self, "sse_s3s", value) + + +@pulumi.input_type +class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs: + def __init__(__self__, *, + key_id: pulumi.Input[str]): + """ + :param pulumi.Input[str] key_id: KMS key ARN. + """ + pulumi.set(__self__, "key_id", key_id) + + @property + @pulumi.getter(name="keyId") + def key_id(self) -> pulumi.Input[str]: + """ + KMS key ARN. + """ + return pulumi.get(self, "key_id") + + @key_id.setter + def key_id(self, value: pulumi.Input[str]): + pulumi.set(self, "key_id", value) + + +@pulumi.input_type +class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args: + def __init__(__self__): + pass + + +@pulumi.input_type +class StorageLensConfigurationStorageLensConfigurationExcludeArgs: + def __init__(__self__, *, + buckets: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] buckets: List of S3 bucket ARNs. + :param pulumi.Input[Sequence[pulumi.Input[str]]] regions: List of AWS Regions. + """ + if buckets is not None: + pulumi.set(__self__, "buckets", buckets) + if regions is not None: + pulumi.set(__self__, "regions", regions) + + @property + @pulumi.getter + def buckets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of S3 bucket ARNs. + """ + return pulumi.get(self, "buckets") + + @buckets.setter + def buckets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "buckets", value) + + @property + @pulumi.getter + def regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of AWS Regions. + """ + return pulumi.get(self, "regions") + + @regions.setter + def regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "regions", value) + + +@pulumi.input_type +class StorageLensConfigurationStorageLensConfigurationIncludeArgs: + def __init__(__self__, *, + buckets: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] buckets: List of S3 bucket ARNs. + :param pulumi.Input[Sequence[pulumi.Input[str]]] regions: List of AWS Regions. + """ + if buckets is not None: + pulumi.set(__self__, "buckets", buckets) + if regions is not None: + pulumi.set(__self__, "regions", regions) + + @property + @pulumi.getter + def buckets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of S3 bucket ARNs. + """ + return pulumi.get(self, "buckets") + + @buckets.setter + def buckets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "buckets", value) + + @property + @pulumi.getter + def regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of AWS Regions. + """ + return pulumi.get(self, "regions") + + @regions.setter + def regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "regions", value) + + diff --git a/sdk/python/pulumi_aws/s3control/outputs.py b/sdk/python/pulumi_aws/s3control/outputs.py index b965c46d410..d84b7d1562e 100644 --- a/sdk/python/pulumi_aws/s3control/outputs.py +++ b/sdk/python/pulumi_aws/s3control/outputs.py @@ -23,6 +23,23 @@ 'ObjectLambdaAccessPointConfigurationTransformationConfiguration', 'ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformation', 'ObjectLambdaAccessPointConfigurationTransformationConfigurationContentTransformationAwsLambda', + 'StorageLensConfigurationStorageLensConfiguration', + 'StorageLensConfigurationStorageLensConfigurationAccountLevel', + 'StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics', + 'StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel', + 'StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics', + 'StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel', + 'StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics', + 'StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria', + 'StorageLensConfigurationStorageLensConfigurationAwsOrg', + 'StorageLensConfigurationStorageLensConfigurationDataExport', + 'StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics', + 'StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination', + 'StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption', + 'StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms', + 'StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3', + 'StorageLensConfigurationStorageLensConfigurationExclude', + 'StorageLensConfigurationStorageLensConfigurationInclude', ] @pulumi.output_type @@ -585,3 +602,716 @@ def function_payload(self) -> Optional[str]: return pulumi.get(self, "function_payload") +@pulumi.output_type +class StorageLensConfigurationStorageLensConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accountLevel": + suggest = "account_level" + elif key == "awsOrg": + suggest = "aws_org" + elif key == "dataExport": + suggest = "data_export" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageLensConfigurationStorageLensConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageLensConfigurationStorageLensConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageLensConfigurationStorageLensConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + account_level: 'outputs.StorageLensConfigurationStorageLensConfigurationAccountLevel', + enabled: bool, + aws_org: Optional['outputs.StorageLensConfigurationStorageLensConfigurationAwsOrg'] = None, + data_export: Optional['outputs.StorageLensConfigurationStorageLensConfigurationDataExport'] = None, + exclude: Optional['outputs.StorageLensConfigurationStorageLensConfigurationExclude'] = None, + include: Optional['outputs.StorageLensConfigurationStorageLensConfigurationInclude'] = None): + """ + :param 'StorageLensConfigurationStorageLensConfigurationAccountLevelArgs' account_level: The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. + :param bool enabled: Whether the S3 Storage Lens configuration is enabled. + :param 'StorageLensConfigurationStorageLensConfigurationAwsOrgArgs' aws_org: The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. + :param 'StorageLensConfigurationStorageLensConfigurationDataExportArgs' data_export: Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. + :param 'StorageLensConfigurationStorageLensConfigurationExcludeArgs' exclude: What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. + :param 'StorageLensConfigurationStorageLensConfigurationIncludeArgs' include: What is included in this configuration. Conflicts with `exclude`. See Include below for more details. + """ + pulumi.set(__self__, "account_level", account_level) + pulumi.set(__self__, "enabled", enabled) + if aws_org is not None: + pulumi.set(__self__, "aws_org", aws_org) + if data_export is not None: + pulumi.set(__self__, "data_export", data_export) + if exclude is not None: + pulumi.set(__self__, "exclude", exclude) + if include is not None: + pulumi.set(__self__, "include", include) + + @property + @pulumi.getter(name="accountLevel") + def account_level(self) -> 'outputs.StorageLensConfigurationStorageLensConfigurationAccountLevel': + """ + The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details. + """ + return pulumi.get(self, "account_level") + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Whether the S3 Storage Lens configuration is enabled. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="awsOrg") + def aws_org(self) -> Optional['outputs.StorageLensConfigurationStorageLensConfigurationAwsOrg']: + """ + The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details. + """ + return pulumi.get(self, "aws_org") + + @property + @pulumi.getter(name="dataExport") + def data_export(self) -> Optional['outputs.StorageLensConfigurationStorageLensConfigurationDataExport']: + """ + Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details. + """ + return pulumi.get(self, "data_export") + + @property + @pulumi.getter + def exclude(self) -> Optional['outputs.StorageLensConfigurationStorageLensConfigurationExclude']: + """ + What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details. + """ + return pulumi.get(self, "exclude") + + @property + @pulumi.getter + def include(self) -> Optional['outputs.StorageLensConfigurationStorageLensConfigurationInclude']: + """ + What is included in this configuration. Conflicts with `exclude`. See Include below for more details. + """ + return pulumi.get(self, "include") + + +@pulumi.output_type +class StorageLensConfigurationStorageLensConfigurationAccountLevel(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "bucketLevel": + suggest = "bucket_level" + elif key == "activityMetrics": + suggest = "activity_metrics" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageLensConfigurationStorageLensConfigurationAccountLevel. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageLensConfigurationStorageLensConfigurationAccountLevel.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageLensConfigurationStorageLensConfigurationAccountLevel.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bucket_level: 'outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel', + activity_metrics: Optional['outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics'] = None): + """ + :param 'StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs' bucket_level: S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. + :param 'StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs' activity_metrics: S3 Storage Lens activity metrics. See Activity Metrics below for more details. + """ + pulumi.set(__self__, "bucket_level", bucket_level) + if activity_metrics is not None: + pulumi.set(__self__, "activity_metrics", activity_metrics) + + @property + @pulumi.getter(name="bucketLevel") + def bucket_level(self) -> 'outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel': + """ + S3 Storage Lens bucket-level configuration. See Bucket Level below for more details. + """ + return pulumi.get(self, "bucket_level") + + @property + @pulumi.getter(name="activityMetrics") + def activity_metrics(self) -> Optional['outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics']: + """ + S3 Storage Lens activity metrics. See Activity Metrics below for more details. + """ + return pulumi.get(self, "activity_metrics") + + +@pulumi.output_type +class StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetrics(dict): + def __init__(__self__, *, + enabled: Optional[bool] = None): + """ + :param bool enabled: Whether the activity metrics are enabled. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether the activity metrics are enabled. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "activityMetrics": + suggest = "activity_metrics" + elif key == "prefixLevel": + suggest = "prefix_level" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevel.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + activity_metrics: Optional['outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics'] = None, + prefix_level: Optional['outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel'] = None): + """ + :param 'StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs' activity_metrics: S3 Storage Lens activity metrics. See Activity Metrics above for more details. + :param 'StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelArgs' prefix_level: Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. + """ + if activity_metrics is not None: + pulumi.set(__self__, "activity_metrics", activity_metrics) + if prefix_level is not None: + pulumi.set(__self__, "prefix_level", prefix_level) + + @property + @pulumi.getter(name="activityMetrics") + def activity_metrics(self) -> Optional['outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics']: + """ + S3 Storage Lens activity metrics. See Activity Metrics above for more details. + """ + return pulumi.get(self, "activity_metrics") + + @property + @pulumi.getter(name="prefixLevel") + def prefix_level(self) -> Optional['outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel']: + """ + Prefix-level metrics for S3 Storage Lens. See Prefix Level below for more details. + """ + return pulumi.get(self, "prefix_level") + + +@pulumi.output_type +class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetrics(dict): + def __init__(__self__, *, + enabled: Optional[bool] = None): + """ + :param bool enabled: Whether the activity metrics are enabled. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether the activity metrics are enabled. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "storageMetrics": + suggest = "storage_metrics" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevel.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + storage_metrics: 'outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics'): + """ + :param 'StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsArgs' storage_metrics: Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. + """ + pulumi.set(__self__, "storage_metrics", storage_metrics) + + @property + @pulumi.getter(name="storageMetrics") + def storage_metrics(self) -> 'outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics': + """ + Prefix-level storage metrics for S3 Storage Lens. See Prefix Level Storage Metrics below for more details. + """ + return pulumi.get(self, "storage_metrics") + + +@pulumi.output_type +class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "selectionCriteria": + suggest = "selection_criteria" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetrics.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: Optional[bool] = None, + selection_criteria: Optional['outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria'] = None): + """ + :param bool enabled: Whether prefix-level storage metrics are enabled. + :param 'StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteriaArgs' selection_criteria: Selection criteria. See Selection Criteria below for more details. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if selection_criteria is not None: + pulumi.set(__self__, "selection_criteria", selection_criteria) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether prefix-level storage metrics are enabled. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="selectionCriteria") + def selection_criteria(self) -> Optional['outputs.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria']: + """ + Selection criteria. See Selection Criteria below for more details. + """ + return pulumi.get(self, "selection_criteria") + + +@pulumi.output_type +class StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maxDepth": + suggest = "max_depth" + elif key == "minStorageBytesPercentage": + suggest = "min_storage_bytes_percentage" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelPrefixLevelStorageMetricsSelectionCriteria.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + delimiter: Optional[str] = None, + max_depth: Optional[int] = None, + min_storage_bytes_percentage: Optional[float] = None): + """ + :param str delimiter: The delimiter of the selection criteria being used. + :param int max_depth: The max depth of the selection criteria. + :param float min_storage_bytes_percentage: The minimum number of storage bytes percentage whose metrics will be selected. + """ + if delimiter is not None: + pulumi.set(__self__, "delimiter", delimiter) + if max_depth is not None: + pulumi.set(__self__, "max_depth", max_depth) + if min_storage_bytes_percentage is not None: + pulumi.set(__self__, "min_storage_bytes_percentage", min_storage_bytes_percentage) + + @property + @pulumi.getter + def delimiter(self) -> Optional[str]: + """ + The delimiter of the selection criteria being used. + """ + return pulumi.get(self, "delimiter") + + @property + @pulumi.getter(name="maxDepth") + def max_depth(self) -> Optional[int]: + """ + The max depth of the selection criteria. + """ + return pulumi.get(self, "max_depth") + + @property + @pulumi.getter(name="minStorageBytesPercentage") + def min_storage_bytes_percentage(self) -> Optional[float]: + """ + The minimum number of storage bytes percentage whose metrics will be selected. + """ + return pulumi.get(self, "min_storage_bytes_percentage") + + +@pulumi.output_type +class StorageLensConfigurationStorageLensConfigurationAwsOrg(dict): + def __init__(__self__, *, + arn: str): + """ + :param str arn: The Amazon Resource Name (ARN) of the Amazon Web Services organization. + """ + pulumi.set(__self__, "arn", arn) + + @property + @pulumi.getter + def arn(self) -> str: + """ + The Amazon Resource Name (ARN) of the Amazon Web Services organization. + """ + return pulumi.get(self, "arn") + + +@pulumi.output_type +class StorageLensConfigurationStorageLensConfigurationDataExport(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cloudWatchMetrics": + suggest = "cloud_watch_metrics" + elif key == "s3BucketDestination": + suggest = "s3_bucket_destination" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageLensConfigurationStorageLensConfigurationDataExport. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageLensConfigurationStorageLensConfigurationDataExport.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageLensConfigurationStorageLensConfigurationDataExport.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cloud_watch_metrics: Optional['outputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics'] = None, + s3_bucket_destination: Optional['outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination'] = None): + """ + :param 'StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs' cloud_watch_metrics: Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. + :param 'StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs' s3_bucket_destination: The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. + """ + if cloud_watch_metrics is not None: + pulumi.set(__self__, "cloud_watch_metrics", cloud_watch_metrics) + if s3_bucket_destination is not None: + pulumi.set(__self__, "s3_bucket_destination", s3_bucket_destination) + + @property + @pulumi.getter(name="cloudWatchMetrics") + def cloud_watch_metrics(self) -> Optional['outputs.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics']: + """ + Amazon CloudWatch publishing for S3 Storage Lens metrics. See Cloud Watch Metrics below for more details. + """ + return pulumi.get(self, "cloud_watch_metrics") + + @property + @pulumi.getter(name="s3BucketDestination") + def s3_bucket_destination(self) -> Optional['outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination']: + """ + The bucket where the S3 Storage Lens metrics export will be located. See S3 Bucket Destination below for more details. + """ + return pulumi.get(self, "s3_bucket_destination") + + +@pulumi.output_type +class StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetrics(dict): + def __init__(__self__, *, + enabled: bool): + """ + :param bool enabled: Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. + """ + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Whether CloudWatch publishing for S3 Storage Lens metrics is enabled. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accountId": + suggest = "account_id" + elif key == "outputSchemaVersion": + suggest = "output_schema_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestination.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + account_id: str, + arn: str, + format: str, + output_schema_version: str, + encryption: Optional['outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption'] = None, + prefix: Optional[str] = None): + """ + :param str account_id: The account ID of the owner of the S3 Storage Lens metrics export bucket. + :param str arn: The Amazon Resource Name (ARN) of the bucket. + :param str format: The export format. Valid values: `CSV`, `Parquet`. + :param str output_schema_version: The schema version of the export file. Valid values: `V_1`. + :param 'StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs' encryption: Encryption of the metrics exports in this bucket. See Encryption below for more details. + :param str prefix: The prefix of the destination bucket where the metrics export will be delivered. + """ + pulumi.set(__self__, "account_id", account_id) + pulumi.set(__self__, "arn", arn) + pulumi.set(__self__, "format", format) + pulumi.set(__self__, "output_schema_version", output_schema_version) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> str: + """ + The account ID of the owner of the S3 Storage Lens metrics export bucket. + """ + return pulumi.get(self, "account_id") + + @property + @pulumi.getter + def arn(self) -> str: + """ + The Amazon Resource Name (ARN) of the bucket. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def format(self) -> str: + """ + The export format. Valid values: `CSV`, `Parquet`. + """ + return pulumi.get(self, "format") + + @property + @pulumi.getter(name="outputSchemaVersion") + def output_schema_version(self) -> str: + """ + The schema version of the export file. Valid values: `V_1`. + """ + return pulumi.get(self, "output_schema_version") + + @property + @pulumi.getter + def encryption(self) -> Optional['outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption']: + """ + Encryption of the metrics exports in this bucket. See Encryption below for more details. + """ + return pulumi.get(self, "encryption") + + @property + @pulumi.getter + def prefix(self) -> Optional[str]: + """ + The prefix of the destination bucket where the metrics export will be delivered. + """ + return pulumi.get(self, "prefix") + + +@pulumi.output_type +class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "sseKms": + suggest = "sse_kms" + elif key == "sseS3s": + suggest = "sse_s3s" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryption.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + sse_kms: Optional['outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms'] = None, + sse_s3s: Optional[Sequence['outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3']] = None): + """ + :param 'StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKmsArgs' sse_kms: SSE-KMS encryption. See SSE KMS below for more details. + :param Sequence['StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args'] sse_s3s: SSE-S3 encryption. An empty configuration block `{}` should be used. + """ + if sse_kms is not None: + pulumi.set(__self__, "sse_kms", sse_kms) + if sse_s3s is not None: + pulumi.set(__self__, "sse_s3s", sse_s3s) + + @property + @pulumi.getter(name="sseKms") + def sse_kms(self) -> Optional['outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms']: + """ + SSE-KMS encryption. See SSE KMS below for more details. + """ + return pulumi.get(self, "sse_kms") + + @property + @pulumi.getter(name="sseS3s") + def sse_s3s(self) -> Optional[Sequence['outputs.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3']]: + """ + SSE-S3 encryption. An empty configuration block `{}` should be used. + """ + return pulumi.get(self, "sse_s3s") + + +@pulumi.output_type +class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyId": + suggest = "key_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseKms.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key_id: str): + """ + :param str key_id: KMS key ARN. + """ + pulumi.set(__self__, "key_id", key_id) + + @property + @pulumi.getter(name="keyId") + def key_id(self) -> str: + """ + KMS key ARN. + """ + return pulumi.get(self, "key_id") + + +@pulumi.output_type +class StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3(dict): + def __init__(__self__): + pass + + +@pulumi.output_type +class StorageLensConfigurationStorageLensConfigurationExclude(dict): + def __init__(__self__, *, + buckets: Optional[Sequence[str]] = None, + regions: Optional[Sequence[str]] = None): + """ + :param Sequence[str] buckets: List of S3 bucket ARNs. + :param Sequence[str] regions: List of AWS Regions. + """ + if buckets is not None: + pulumi.set(__self__, "buckets", buckets) + if regions is not None: + pulumi.set(__self__, "regions", regions) + + @property + @pulumi.getter + def buckets(self) -> Optional[Sequence[str]]: + """ + List of S3 bucket ARNs. + """ + return pulumi.get(self, "buckets") + + @property + @pulumi.getter + def regions(self) -> Optional[Sequence[str]]: + """ + List of AWS Regions. + """ + return pulumi.get(self, "regions") + + +@pulumi.output_type +class StorageLensConfigurationStorageLensConfigurationInclude(dict): + def __init__(__self__, *, + buckets: Optional[Sequence[str]] = None, + regions: Optional[Sequence[str]] = None): + """ + :param Sequence[str] buckets: List of S3 bucket ARNs. + :param Sequence[str] regions: List of AWS Regions. + """ + if buckets is not None: + pulumi.set(__self__, "buckets", buckets) + if regions is not None: + pulumi.set(__self__, "regions", regions) + + @property + @pulumi.getter + def buckets(self) -> Optional[Sequence[str]]: + """ + List of S3 bucket ARNs. + """ + return pulumi.get(self, "buckets") + + @property + @pulumi.getter + def regions(self) -> Optional[Sequence[str]]: + """ + List of AWS Regions. + """ + return pulumi.get(self, "regions") + + diff --git a/sdk/python/pulumi_aws/s3control/storage_lens_configuration.py b/sdk/python/pulumi_aws/s3control/storage_lens_configuration.py new file mode 100644 index 00000000000..4eb98214a8d --- /dev/null +++ b/sdk/python/pulumi_aws/s3control/storage_lens_configuration.py @@ -0,0 +1,445 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['StorageLensConfigurationArgs', 'StorageLensConfiguration'] + +@pulumi.input_type +class StorageLensConfigurationArgs: + def __init__(__self__, *, + config_id: pulumi.Input[str], + storage_lens_configuration: pulumi.Input['StorageLensConfigurationStorageLensConfigurationArgs'], + account_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a StorageLensConfiguration resource. + :param pulumi.Input[str] config_id: The ID of the S3 Storage Lens configuration. + :param pulumi.Input['StorageLensConfigurationStorageLensConfigurationArgs'] storage_lens_configuration: The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + :param pulumi.Input[str] account_id: The account ID of the owner of the S3 Storage Lens metrics export bucket. + """ + pulumi.set(__self__, "config_id", config_id) + pulumi.set(__self__, "storage_lens_configuration", storage_lens_configuration) + if account_id is not None: + pulumi.set(__self__, "account_id", account_id) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + + @property + @pulumi.getter(name="configId") + def config_id(self) -> pulumi.Input[str]: + """ + The ID of the S3 Storage Lens configuration. + """ + return pulumi.get(self, "config_id") + + @config_id.setter + def config_id(self, value: pulumi.Input[str]): + pulumi.set(self, "config_id", value) + + @property + @pulumi.getter(name="storageLensConfiguration") + def storage_lens_configuration(self) -> pulumi.Input['StorageLensConfigurationStorageLensConfigurationArgs']: + """ + The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + """ + return pulumi.get(self, "storage_lens_configuration") + + @storage_lens_configuration.setter + def storage_lens_configuration(self, value: pulumi.Input['StorageLensConfigurationStorageLensConfigurationArgs']): + pulumi.set(self, "storage_lens_configuration", value) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> Optional[pulumi.Input[str]]: + """ + The account ID of the owner of the S3 Storage Lens metrics export bucket. + """ + return pulumi.get(self, "account_id") + + @account_id.setter + def account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "account_id", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + +@pulumi.input_type +class _StorageLensConfigurationState: + def __init__(__self__, *, + account_id: Optional[pulumi.Input[str]] = None, + arn: Optional[pulumi.Input[str]] = None, + config_id: Optional[pulumi.Input[str]] = None, + storage_lens_configuration: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering StorageLensConfiguration resources. + :param pulumi.Input[str] account_id: The account ID of the owner of the S3 Storage Lens metrics export bucket. + :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) of the bucket. + :param pulumi.Input[str] config_id: The ID of the S3 Storage Lens configuration. + :param pulumi.Input['StorageLensConfigurationStorageLensConfigurationArgs'] storage_lens_configuration: The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + """ + if account_id is not None: + pulumi.set(__self__, "account_id", account_id) + if arn is not None: + pulumi.set(__self__, "arn", arn) + if config_id is not None: + pulumi.set(__self__, "config_id", config_id) + if storage_lens_configuration is not None: + pulumi.set(__self__, "storage_lens_configuration", storage_lens_configuration) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> Optional[pulumi.Input[str]]: + """ + The account ID of the owner of the S3 Storage Lens metrics export bucket. + """ + return pulumi.get(self, "account_id") + + @account_id.setter + def account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "account_id", value) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the bucket. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="configId") + def config_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the S3 Storage Lens configuration. + """ + return pulumi.get(self, "config_id") + + @config_id.setter + def config_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "config_id", value) + + @property + @pulumi.getter(name="storageLensConfiguration") + def storage_lens_configuration(self) -> Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationArgs']]: + """ + The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + """ + return pulumi.get(self, "storage_lens_configuration") + + @storage_lens_configuration.setter + def storage_lens_configuration(self, value: Optional[pulumi.Input['StorageLensConfigurationStorageLensConfigurationArgs']]): + pulumi.set(self, "storage_lens_configuration", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + +class StorageLensConfiguration(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_id: Optional[pulumi.Input[str]] = None, + config_id: Optional[pulumi.Input[str]] = None, + storage_lens_configuration: Optional[pulumi.Input[pulumi.InputType['StorageLensConfigurationStorageLensConfigurationArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Provides a resource to manage an S3 Storage Lens configuration. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + current = aws.get_caller_identity() + example = aws.s3control.StorageLensConfiguration("example", + config_id="example-1", + storage_lens_configuration=aws.s3control.StorageLensConfigurationStorageLensConfigurationArgs( + enabled=True, + account_level=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs( + activity_metrics=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs( + enabled=True, + ), + bucket_level=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs( + activity_metrics=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs( + enabled=True, + ), + ), + ), + data_export=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportArgs( + cloud_watch_metrics=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs( + enabled=True, + ), + s3_bucket_destination=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs( + account_id=current.account_id, + arn=aws_s3_bucket["target"]["arn"], + format="CSV", + output_schema_version="V_1", + encryption=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs( + sse_s3s=[aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args()], + ), + ), + ), + exclude=aws.s3control.StorageLensConfigurationStorageLensConfigurationExcludeArgs( + buckets=[ + aws_s3_bucket["b1"]["arn"], + aws_s3_bucket["b2"]["arn"], + ], + regions=["us-east-2"], + ), + )) + ``` + + ## Import + + S3 Storage Lens configurations can be imported using the `account_id` and `config_id`, separated by a colon (`:`), e.g. + + ```sh + $ pulumi import aws:s3control/storageLensConfiguration:StorageLensConfiguration example 123456789012:example-1 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] account_id: The account ID of the owner of the S3 Storage Lens metrics export bucket. + :param pulumi.Input[str] config_id: The ID of the S3 Storage Lens configuration. + :param pulumi.Input[pulumi.InputType['StorageLensConfigurationStorageLensConfigurationArgs']] storage_lens_configuration: The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: StorageLensConfigurationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to manage an S3 Storage Lens configuration. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + current = aws.get_caller_identity() + example = aws.s3control.StorageLensConfiguration("example", + config_id="example-1", + storage_lens_configuration=aws.s3control.StorageLensConfigurationStorageLensConfigurationArgs( + enabled=True, + account_level=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs( + activity_metrics=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelActivityMetricsArgs( + enabled=True, + ), + bucket_level=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelArgs( + activity_metrics=aws.s3control.StorageLensConfigurationStorageLensConfigurationAccountLevelBucketLevelActivityMetricsArgs( + enabled=True, + ), + ), + ), + data_export=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportArgs( + cloud_watch_metrics=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportCloudWatchMetricsArgs( + enabled=True, + ), + s3_bucket_destination=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationArgs( + account_id=current.account_id, + arn=aws_s3_bucket["target"]["arn"], + format="CSV", + output_schema_version="V_1", + encryption=aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionArgs( + sse_s3s=[aws.s3control.StorageLensConfigurationStorageLensConfigurationDataExportS3BucketDestinationEncryptionSseS3Args()], + ), + ), + ), + exclude=aws.s3control.StorageLensConfigurationStorageLensConfigurationExcludeArgs( + buckets=[ + aws_s3_bucket["b1"]["arn"], + aws_s3_bucket["b2"]["arn"], + ], + regions=["us-east-2"], + ), + )) + ``` + + ## Import + + S3 Storage Lens configurations can be imported using the `account_id` and `config_id`, separated by a colon (`:`), e.g. + + ```sh + $ pulumi import aws:s3control/storageLensConfiguration:StorageLensConfiguration example 123456789012:example-1 + ``` + + :param str resource_name: The name of the resource. + :param StorageLensConfigurationArgs 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(StorageLensConfigurationArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_id: Optional[pulumi.Input[str]] = None, + config_id: Optional[pulumi.Input[str]] = None, + storage_lens_configuration: Optional[pulumi.Input[pulumi.InputType['StorageLensConfigurationStorageLensConfigurationArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: 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__ = StorageLensConfigurationArgs.__new__(StorageLensConfigurationArgs) + + __props__.__dict__["account_id"] = account_id + if config_id is None and not opts.urn: + raise TypeError("Missing required property 'config_id'") + __props__.__dict__["config_id"] = config_id + if storage_lens_configuration is None and not opts.urn: + raise TypeError("Missing required property 'storage_lens_configuration'") + __props__.__dict__["storage_lens_configuration"] = storage_lens_configuration + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["arn"] = None + super(StorageLensConfiguration, __self__).__init__( + 'aws:s3control/storageLensConfiguration:StorageLensConfiguration', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + account_id: Optional[pulumi.Input[str]] = None, + arn: Optional[pulumi.Input[str]] = None, + config_id: Optional[pulumi.Input[str]] = None, + storage_lens_configuration: Optional[pulumi.Input[pulumi.InputType['StorageLensConfigurationStorageLensConfigurationArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'StorageLensConfiguration': + """ + Get an existing StorageLensConfiguration 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. + :param pulumi.Input[str] account_id: The account ID of the owner of the S3 Storage Lens metrics export bucket. + :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) of the bucket. + :param pulumi.Input[str] config_id: The ID of the S3 Storage Lens configuration. + :param pulumi.Input[pulumi.InputType['StorageLensConfigurationStorageLensConfigurationArgs']] storage_lens_configuration: The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _StorageLensConfigurationState.__new__(_StorageLensConfigurationState) + + __props__.__dict__["account_id"] = account_id + __props__.__dict__["arn"] = arn + __props__.__dict__["config_id"] = config_id + __props__.__dict__["storage_lens_configuration"] = storage_lens_configuration + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + return StorageLensConfiguration(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> pulumi.Output[str]: + """ + The account ID of the owner of the S3 Storage Lens metrics export bucket. + """ + return pulumi.get(self, "account_id") + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the bucket. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="configId") + def config_id(self) -> pulumi.Output[str]: + """ + The ID of the S3 Storage Lens configuration. + """ + return pulumi.get(self, "config_id") + + @property + @pulumi.getter(name="storageLensConfiguration") + def storage_lens_configuration(self) -> pulumi.Output['outputs.StorageLensConfigurationStorageLensConfiguration']: + """ + The S3 Storage Lens configuration. See Storage Lens Configuration below for more details. + """ + return pulumi.get(self, "storage_lens_configuration") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + return pulumi.get(self, "tags_all") + diff --git a/sdk/python/pulumi_aws/servicecatalog/product.py b/sdk/python/pulumi_aws/servicecatalog/product.py index b09134dedc3..100ed58f345 100644 --- a/sdk/python/pulumi_aws/servicecatalog/product.py +++ b/sdk/python/pulumi_aws/servicecatalog/product.py @@ -483,6 +483,22 @@ def __init__(__self__, > A "provisioning artifact" is also referred to as a "version." A "distributor" is also referred to as a "vendor." ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.servicecatalog.Product("example", + owner="example-owner", + provisioning_artifact_parameters=aws.servicecatalog.ProductProvisioningArtifactParametersArgs( + template_url="https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json", + ), + tags={ + "foo": "bar", + }, + type="CLOUD_FORMATION_TEMPLATE") + ``` ## Import @@ -520,6 +536,22 @@ def __init__(__self__, > A "provisioning artifact" is also referred to as a "version." A "distributor" is also referred to as a "vendor." ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.servicecatalog.Product("example", + owner="example-owner", + provisioning_artifact_parameters=aws.servicecatalog.ProductProvisioningArtifactParametersArgs( + template_url="https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json", + ), + tags={ + "foo": "bar", + }, + type="CLOUD_FORMATION_TEMPLATE") + ``` ## Import diff --git a/sdk/python/pulumi_aws/ses/domain_dkim.py b/sdk/python/pulumi_aws/ses/domain_dkim.py index 839690e3792..ba5c3c46076 100644 --- a/sdk/python/pulumi_aws/ses/domain_dkim.py +++ b/sdk/python/pulumi_aws/ses/domain_dkim.py @@ -108,10 +108,10 @@ def __init__(__self__, for range in [{"value": i} for i in range(0, 3)]: example_amazonses_dkim_record.append(aws.route53.Record(f"exampleAmazonsesDkimRecord-{range['value']}", zone_id="ABCDEFGHIJ123", - name=example_domain_dkim.dkim_tokens[range["value"]].apply(lambda dkim_tokens: f"{dkim_tokens}._domainkey"), + name=example_domain_dkim.dkim_tokens.apply(lambda dkim_tokens: f"{dkim_tokens[range['value']]}._domainkey"), type="CNAME", ttl=600, - records=[example_domain_dkim.dkim_tokens[range["value"]].apply(lambda dkim_tokens: f"{dkim_tokens}.dkim.amazonses.com")])) + records=[example_domain_dkim.dkim_tokens.apply(lambda dkim_tokens: f"{dkim_tokens[range['value']]}.dkim.amazonses.com")])) ``` ## Import @@ -149,10 +149,10 @@ def __init__(__self__, for range in [{"value": i} for i in range(0, 3)]: example_amazonses_dkim_record.append(aws.route53.Record(f"exampleAmazonsesDkimRecord-{range['value']}", zone_id="ABCDEFGHIJ123", - name=example_domain_dkim.dkim_tokens[range["value"]].apply(lambda dkim_tokens: f"{dkim_tokens}._domainkey"), + name=example_domain_dkim.dkim_tokens.apply(lambda dkim_tokens: f"{dkim_tokens[range['value']]}._domainkey"), type="CNAME", ttl=600, - records=[example_domain_dkim.dkim_tokens[range["value"]].apply(lambda dkim_tokens: f"{dkim_tokens}.dkim.amazonses.com")])) + records=[example_domain_dkim.dkim_tokens.apply(lambda dkim_tokens: f"{dkim_tokens[range['value']]}.dkim.amazonses.com")])) ``` ## Import diff --git a/sdk/python/pulumi_aws/sesv2/__init__.py b/sdk/python/pulumi_aws/sesv2/__init__.py new file mode 100644 index 00000000000..88c2c90bccf --- /dev/null +++ b/sdk/python/pulumi_aws/sesv2/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** 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 .configuration_set import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_aws/sesv2/_inputs.py b/sdk/python/pulumi_aws/sesv2/_inputs.py new file mode 100644 index 00000000000..14dadf48717 --- /dev/null +++ b/sdk/python/pulumi_aws/sesv2/_inputs.py @@ -0,0 +1,165 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'ConfigurationSetDeliveryOptionsArgs', + 'ConfigurationSetReputationOptionsArgs', + 'ConfigurationSetSendingOptionsArgs', + 'ConfigurationSetSuppressionOptionsArgs', + 'ConfigurationSetTrackingOptionsArgs', +] + +@pulumi.input_type +class ConfigurationSetDeliveryOptionsArgs: + def __init__(__self__, *, + sending_pool_name: Optional[pulumi.Input[str]] = None, + tls_policy: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] sending_pool_name: The name of the dedicated IP pool to associate with the configuration set. + :param pulumi.Input[str] tls_policy: Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. + """ + if sending_pool_name is not None: + pulumi.set(__self__, "sending_pool_name", sending_pool_name) + if tls_policy is not None: + pulumi.set(__self__, "tls_policy", tls_policy) + + @property + @pulumi.getter(name="sendingPoolName") + def sending_pool_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the dedicated IP pool to associate with the configuration set. + """ + return pulumi.get(self, "sending_pool_name") + + @sending_pool_name.setter + def sending_pool_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sending_pool_name", value) + + @property + @pulumi.getter(name="tlsPolicy") + def tls_policy(self) -> Optional[pulumi.Input[str]]: + """ + Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. + """ + return pulumi.get(self, "tls_policy") + + @tls_policy.setter + def tls_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tls_policy", value) + + +@pulumi.input_type +class ConfigurationSetReputationOptionsArgs: + def __init__(__self__, *, + last_fresh_start: Optional[pulumi.Input[str]] = None, + reputation_metrics_enabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[str] last_fresh_start: The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. + :param pulumi.Input[bool] reputation_metrics_enabled: If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. + """ + if last_fresh_start is not None: + pulumi.set(__self__, "last_fresh_start", last_fresh_start) + if reputation_metrics_enabled is not None: + pulumi.set(__self__, "reputation_metrics_enabled", reputation_metrics_enabled) + + @property + @pulumi.getter(name="lastFreshStart") + def last_fresh_start(self) -> Optional[pulumi.Input[str]]: + """ + The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. + """ + return pulumi.get(self, "last_fresh_start") + + @last_fresh_start.setter + def last_fresh_start(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "last_fresh_start", value) + + @property + @pulumi.getter(name="reputationMetricsEnabled") + def reputation_metrics_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. + """ + return pulumi.get(self, "reputation_metrics_enabled") + + @reputation_metrics_enabled.setter + def reputation_metrics_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "reputation_metrics_enabled", value) + + +@pulumi.input_type +class ConfigurationSetSendingOptionsArgs: + def __init__(__self__, *, + sending_enabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[bool] sending_enabled: If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. + """ + if sending_enabled is not None: + pulumi.set(__self__, "sending_enabled", sending_enabled) + + @property + @pulumi.getter(name="sendingEnabled") + def sending_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. + """ + return pulumi.get(self, "sending_enabled") + + @sending_enabled.setter + def sending_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "sending_enabled", value) + + +@pulumi.input_type +class ConfigurationSetSuppressionOptionsArgs: + def __init__(__self__, *, + suppressed_reasons: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] suppressed_reasons: A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + """ + if suppressed_reasons is not None: + pulumi.set(__self__, "suppressed_reasons", suppressed_reasons) + + @property + @pulumi.getter(name="suppressedReasons") + def suppressed_reasons(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + """ + return pulumi.get(self, "suppressed_reasons") + + @suppressed_reasons.setter + def suppressed_reasons(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "suppressed_reasons", value) + + +@pulumi.input_type +class ConfigurationSetTrackingOptionsArgs: + def __init__(__self__, *, + custom_redirect_domain: pulumi.Input[str]): + """ + :param pulumi.Input[str] custom_redirect_domain: The domain to use for tracking open and click events. + """ + pulumi.set(__self__, "custom_redirect_domain", custom_redirect_domain) + + @property + @pulumi.getter(name="customRedirectDomain") + def custom_redirect_domain(self) -> pulumi.Input[str]: + """ + The domain to use for tracking open and click events. + """ + return pulumi.get(self, "custom_redirect_domain") + + @custom_redirect_domain.setter + def custom_redirect_domain(self, value: pulumi.Input[str]): + pulumi.set(self, "custom_redirect_domain", value) + + diff --git a/sdk/python/pulumi_aws/sesv2/configuration_set.py b/sdk/python/pulumi_aws/sesv2/configuration_set.py new file mode 100644 index 00000000000..243f4c3eab8 --- /dev/null +++ b/sdk/python/pulumi_aws/sesv2/configuration_set.py @@ -0,0 +1,495 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['ConfigurationSetArgs', 'ConfigurationSet'] + +@pulumi.input_type +class ConfigurationSetArgs: + def __init__(__self__, *, + configuration_set_name: pulumi.Input[str], + delivery_options: Optional[pulumi.Input['ConfigurationSetDeliveryOptionsArgs']] = None, + reputation_options: Optional[pulumi.Input['ConfigurationSetReputationOptionsArgs']] = None, + sending_options: Optional[pulumi.Input['ConfigurationSetSendingOptionsArgs']] = None, + suppression_options: Optional[pulumi.Input['ConfigurationSetSuppressionOptionsArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tracking_options: Optional[pulumi.Input['ConfigurationSetTrackingOptionsArgs']] = None): + """ + The set of arguments for constructing a ConfigurationSet resource. + :param pulumi.Input[str] configuration_set_name: The name of the configuration set. + :param pulumi.Input['ConfigurationSetDeliveryOptionsArgs'] delivery_options: An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + :param pulumi.Input['ConfigurationSetReputationOptionsArgs'] reputation_options: An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + :param pulumi.Input['ConfigurationSetSendingOptionsArgs'] sending_options: An object that defines whether or not Amazon SES can send email that you send using the configuration set. + :param pulumi.Input['ConfigurationSetSuppressionOptionsArgs'] suppression_options: An object that contains information about the suppression list preferences for your account. + :param pulumi.Input['ConfigurationSetTrackingOptionsArgs'] tracking_options: An object that defines the open and click tracking options for emails that you send using the configuration set. + """ + pulumi.set(__self__, "configuration_set_name", configuration_set_name) + if delivery_options is not None: + pulumi.set(__self__, "delivery_options", delivery_options) + if reputation_options is not None: + pulumi.set(__self__, "reputation_options", reputation_options) + if sending_options is not None: + pulumi.set(__self__, "sending_options", sending_options) + if suppression_options is not None: + pulumi.set(__self__, "suppression_options", suppression_options) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + if tracking_options is not None: + pulumi.set(__self__, "tracking_options", tracking_options) + + @property + @pulumi.getter(name="configurationSetName") + def configuration_set_name(self) -> pulumi.Input[str]: + """ + The name of the configuration set. + """ + return pulumi.get(self, "configuration_set_name") + + @configuration_set_name.setter + def configuration_set_name(self, value: pulumi.Input[str]): + pulumi.set(self, "configuration_set_name", value) + + @property + @pulumi.getter(name="deliveryOptions") + def delivery_options(self) -> Optional[pulumi.Input['ConfigurationSetDeliveryOptionsArgs']]: + """ + An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + """ + return pulumi.get(self, "delivery_options") + + @delivery_options.setter + def delivery_options(self, value: Optional[pulumi.Input['ConfigurationSetDeliveryOptionsArgs']]): + pulumi.set(self, "delivery_options", value) + + @property + @pulumi.getter(name="reputationOptions") + def reputation_options(self) -> Optional[pulumi.Input['ConfigurationSetReputationOptionsArgs']]: + """ + An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + """ + return pulumi.get(self, "reputation_options") + + @reputation_options.setter + def reputation_options(self, value: Optional[pulumi.Input['ConfigurationSetReputationOptionsArgs']]): + pulumi.set(self, "reputation_options", value) + + @property + @pulumi.getter(name="sendingOptions") + def sending_options(self) -> Optional[pulumi.Input['ConfigurationSetSendingOptionsArgs']]: + """ + An object that defines whether or not Amazon SES can send email that you send using the configuration set. + """ + return pulumi.get(self, "sending_options") + + @sending_options.setter + def sending_options(self, value: Optional[pulumi.Input['ConfigurationSetSendingOptionsArgs']]): + pulumi.set(self, "sending_options", value) + + @property + @pulumi.getter(name="suppressionOptions") + def suppression_options(self) -> Optional[pulumi.Input['ConfigurationSetSuppressionOptionsArgs']]: + """ + An object that contains information about the suppression list preferences for your account. + """ + return pulumi.get(self, "suppression_options") + + @suppression_options.setter + def suppression_options(self, value: Optional[pulumi.Input['ConfigurationSetSuppressionOptionsArgs']]): + pulumi.set(self, "suppression_options", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + @property + @pulumi.getter(name="trackingOptions") + def tracking_options(self) -> Optional[pulumi.Input['ConfigurationSetTrackingOptionsArgs']]: + """ + An object that defines the open and click tracking options for emails that you send using the configuration set. + """ + return pulumi.get(self, "tracking_options") + + @tracking_options.setter + def tracking_options(self, value: Optional[pulumi.Input['ConfigurationSetTrackingOptionsArgs']]): + pulumi.set(self, "tracking_options", value) + + +@pulumi.input_type +class _ConfigurationSetState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + configuration_set_name: Optional[pulumi.Input[str]] = None, + delivery_options: Optional[pulumi.Input['ConfigurationSetDeliveryOptionsArgs']] = None, + reputation_options: Optional[pulumi.Input['ConfigurationSetReputationOptionsArgs']] = None, + sending_options: Optional[pulumi.Input['ConfigurationSetSendingOptionsArgs']] = None, + suppression_options: Optional[pulumi.Input['ConfigurationSetSuppressionOptionsArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tracking_options: Optional[pulumi.Input['ConfigurationSetTrackingOptionsArgs']] = None): + """ + Input properties used for looking up and filtering ConfigurationSet resources. + :param pulumi.Input[str] arn: ARN of the Configuration Set. + :param pulumi.Input[str] configuration_set_name: The name of the configuration set. + :param pulumi.Input['ConfigurationSetDeliveryOptionsArgs'] delivery_options: An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + :param pulumi.Input['ConfigurationSetReputationOptionsArgs'] reputation_options: An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + :param pulumi.Input['ConfigurationSetSendingOptionsArgs'] sending_options: An object that defines whether or not Amazon SES can send email that you send using the configuration set. + :param pulumi.Input['ConfigurationSetSuppressionOptionsArgs'] suppression_options: An object that contains information about the suppression list preferences for your account. + :param pulumi.Input['ConfigurationSetTrackingOptionsArgs'] tracking_options: An object that defines the open and click tracking options for emails that you send using the configuration set. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if configuration_set_name is not None: + pulumi.set(__self__, "configuration_set_name", configuration_set_name) + if delivery_options is not None: + pulumi.set(__self__, "delivery_options", delivery_options) + if reputation_options is not None: + pulumi.set(__self__, "reputation_options", reputation_options) + if sending_options is not None: + pulumi.set(__self__, "sending_options", sending_options) + if suppression_options is not None: + pulumi.set(__self__, "suppression_options", suppression_options) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + if tracking_options is not None: + pulumi.set(__self__, "tracking_options", tracking_options) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the Configuration Set. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="configurationSetName") + def configuration_set_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the configuration set. + """ + return pulumi.get(self, "configuration_set_name") + + @configuration_set_name.setter + def configuration_set_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "configuration_set_name", value) + + @property + @pulumi.getter(name="deliveryOptions") + def delivery_options(self) -> Optional[pulumi.Input['ConfigurationSetDeliveryOptionsArgs']]: + """ + An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + """ + return pulumi.get(self, "delivery_options") + + @delivery_options.setter + def delivery_options(self, value: Optional[pulumi.Input['ConfigurationSetDeliveryOptionsArgs']]): + pulumi.set(self, "delivery_options", value) + + @property + @pulumi.getter(name="reputationOptions") + def reputation_options(self) -> Optional[pulumi.Input['ConfigurationSetReputationOptionsArgs']]: + """ + An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + """ + return pulumi.get(self, "reputation_options") + + @reputation_options.setter + def reputation_options(self, value: Optional[pulumi.Input['ConfigurationSetReputationOptionsArgs']]): + pulumi.set(self, "reputation_options", value) + + @property + @pulumi.getter(name="sendingOptions") + def sending_options(self) -> Optional[pulumi.Input['ConfigurationSetSendingOptionsArgs']]: + """ + An object that defines whether or not Amazon SES can send email that you send using the configuration set. + """ + return pulumi.get(self, "sending_options") + + @sending_options.setter + def sending_options(self, value: Optional[pulumi.Input['ConfigurationSetSendingOptionsArgs']]): + pulumi.set(self, "sending_options", value) + + @property + @pulumi.getter(name="suppressionOptions") + def suppression_options(self) -> Optional[pulumi.Input['ConfigurationSetSuppressionOptionsArgs']]: + """ + An object that contains information about the suppression list preferences for your account. + """ + return pulumi.get(self, "suppression_options") + + @suppression_options.setter + def suppression_options(self, value: Optional[pulumi.Input['ConfigurationSetSuppressionOptionsArgs']]): + pulumi.set(self, "suppression_options", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + @property + @pulumi.getter(name="trackingOptions") + def tracking_options(self) -> Optional[pulumi.Input['ConfigurationSetTrackingOptionsArgs']]: + """ + An object that defines the open and click tracking options for emails that you send using the configuration set. + """ + return pulumi.get(self, "tracking_options") + + @tracking_options.setter + def tracking_options(self, value: Optional[pulumi.Input['ConfigurationSetTrackingOptionsArgs']]): + pulumi.set(self, "tracking_options", value) + + +class ConfigurationSet(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + configuration_set_name: Optional[pulumi.Input[str]] = None, + delivery_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetDeliveryOptionsArgs']]] = None, + reputation_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetReputationOptionsArgs']]] = None, + sending_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetSendingOptionsArgs']]] = None, + suppression_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetSuppressionOptionsArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tracking_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetTrackingOptionsArgs']]] = None, + __props__=None): + """ + ## Example Usage + + ## Import + + SESv2 (Simple Email V2) Configuration Set can be imported using the `configuration_set_name`, e.g., + + ```sh + $ pulumi import aws:sesv2/configurationSet:ConfigurationSet example example + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] configuration_set_name: The name of the configuration set. + :param pulumi.Input[pulumi.InputType['ConfigurationSetDeliveryOptionsArgs']] delivery_options: An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + :param pulumi.Input[pulumi.InputType['ConfigurationSetReputationOptionsArgs']] reputation_options: An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + :param pulumi.Input[pulumi.InputType['ConfigurationSetSendingOptionsArgs']] sending_options: An object that defines whether or not Amazon SES can send email that you send using the configuration set. + :param pulumi.Input[pulumi.InputType['ConfigurationSetSuppressionOptionsArgs']] suppression_options: An object that contains information about the suppression list preferences for your account. + :param pulumi.Input[pulumi.InputType['ConfigurationSetTrackingOptionsArgs']] tracking_options: An object that defines the open and click tracking options for emails that you send using the configuration set. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ConfigurationSetArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Example Usage + + ## Import + + SESv2 (Simple Email V2) Configuration Set can be imported using the `configuration_set_name`, e.g., + + ```sh + $ pulumi import aws:sesv2/configurationSet:ConfigurationSet example example + ``` + + :param str resource_name: The name of the resource. + :param ConfigurationSetArgs 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(ConfigurationSetArgs, 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, + configuration_set_name: Optional[pulumi.Input[str]] = None, + delivery_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetDeliveryOptionsArgs']]] = None, + reputation_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetReputationOptionsArgs']]] = None, + sending_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetSendingOptionsArgs']]] = None, + suppression_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetSuppressionOptionsArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tracking_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetTrackingOptionsArgs']]] = 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__ = ConfigurationSetArgs.__new__(ConfigurationSetArgs) + + if configuration_set_name is None and not opts.urn: + raise TypeError("Missing required property 'configuration_set_name'") + __props__.__dict__["configuration_set_name"] = configuration_set_name + __props__.__dict__["delivery_options"] = delivery_options + __props__.__dict__["reputation_options"] = reputation_options + __props__.__dict__["sending_options"] = sending_options + __props__.__dict__["suppression_options"] = suppression_options + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["tracking_options"] = tracking_options + __props__.__dict__["arn"] = None + super(ConfigurationSet, __self__).__init__( + 'aws:sesv2/configurationSet:ConfigurationSet', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + configuration_set_name: Optional[pulumi.Input[str]] = None, + delivery_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetDeliveryOptionsArgs']]] = None, + reputation_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetReputationOptionsArgs']]] = None, + sending_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetSendingOptionsArgs']]] = None, + suppression_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetSuppressionOptionsArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tracking_options: Optional[pulumi.Input[pulumi.InputType['ConfigurationSetTrackingOptionsArgs']]] = None) -> 'ConfigurationSet': + """ + Get an existing ConfigurationSet 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. + :param pulumi.Input[str] arn: ARN of the Configuration Set. + :param pulumi.Input[str] configuration_set_name: The name of the configuration set. + :param pulumi.Input[pulumi.InputType['ConfigurationSetDeliveryOptionsArgs']] delivery_options: An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + :param pulumi.Input[pulumi.InputType['ConfigurationSetReputationOptionsArgs']] reputation_options: An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + :param pulumi.Input[pulumi.InputType['ConfigurationSetSendingOptionsArgs']] sending_options: An object that defines whether or not Amazon SES can send email that you send using the configuration set. + :param pulumi.Input[pulumi.InputType['ConfigurationSetSuppressionOptionsArgs']] suppression_options: An object that contains information about the suppression list preferences for your account. + :param pulumi.Input[pulumi.InputType['ConfigurationSetTrackingOptionsArgs']] tracking_options: An object that defines the open and click tracking options for emails that you send using the configuration set. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ConfigurationSetState.__new__(_ConfigurationSetState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["configuration_set_name"] = configuration_set_name + __props__.__dict__["delivery_options"] = delivery_options + __props__.__dict__["reputation_options"] = reputation_options + __props__.__dict__["sending_options"] = sending_options + __props__.__dict__["suppression_options"] = suppression_options + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["tracking_options"] = tracking_options + return ConfigurationSet(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + ARN of the Configuration Set. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="configurationSetName") + def configuration_set_name(self) -> pulumi.Output[str]: + """ + The name of the configuration set. + """ + return pulumi.get(self, "configuration_set_name") + + @property + @pulumi.getter(name="deliveryOptions") + def delivery_options(self) -> pulumi.Output[Optional['outputs.ConfigurationSetDeliveryOptions']]: + """ + An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set. + """ + return pulumi.get(self, "delivery_options") + + @property + @pulumi.getter(name="reputationOptions") + def reputation_options(self) -> pulumi.Output['outputs.ConfigurationSetReputationOptions']: + """ + An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. + """ + return pulumi.get(self, "reputation_options") + + @property + @pulumi.getter(name="sendingOptions") + def sending_options(self) -> pulumi.Output['outputs.ConfigurationSetSendingOptions']: + """ + An object that defines whether or not Amazon SES can send email that you send using the configuration set. + """ + return pulumi.get(self, "sending_options") + + @property + @pulumi.getter(name="suppressionOptions") + def suppression_options(self) -> pulumi.Output[Optional['outputs.ConfigurationSetSuppressionOptions']]: + """ + An object that contains information about the suppression list preferences for your account. + """ + return pulumi.get(self, "suppression_options") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + return pulumi.get(self, "tags_all") + + @property + @pulumi.getter(name="trackingOptions") + def tracking_options(self) -> pulumi.Output[Optional['outputs.ConfigurationSetTrackingOptions']]: + """ + An object that defines the open and click tracking options for emails that you send using the configuration set. + """ + return pulumi.get(self, "tracking_options") + diff --git a/sdk/python/pulumi_aws/sesv2/outputs.py b/sdk/python/pulumi_aws/sesv2/outputs.py new file mode 100644 index 00000000000..0752004ba12 --- /dev/null +++ b/sdk/python/pulumi_aws/sesv2/outputs.py @@ -0,0 +1,226 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'ConfigurationSetDeliveryOptions', + 'ConfigurationSetReputationOptions', + 'ConfigurationSetSendingOptions', + 'ConfigurationSetSuppressionOptions', + 'ConfigurationSetTrackingOptions', +] + +@pulumi.output_type +class ConfigurationSetDeliveryOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "sendingPoolName": + suggest = "sending_pool_name" + elif key == "tlsPolicy": + suggest = "tls_policy" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigurationSetDeliveryOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigurationSetDeliveryOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigurationSetDeliveryOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + sending_pool_name: Optional[str] = None, + tls_policy: Optional[str] = None): + """ + :param str sending_pool_name: The name of the dedicated IP pool to associate with the configuration set. + :param str tls_policy: Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. + """ + if sending_pool_name is not None: + pulumi.set(__self__, "sending_pool_name", sending_pool_name) + if tls_policy is not None: + pulumi.set(__self__, "tls_policy", tls_policy) + + @property + @pulumi.getter(name="sendingPoolName") + def sending_pool_name(self) -> Optional[str]: + """ + The name of the dedicated IP pool to associate with the configuration set. + """ + return pulumi.get(self, "sending_pool_name") + + @property + @pulumi.getter(name="tlsPolicy") + def tls_policy(self) -> Optional[str]: + """ + Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. + """ + return pulumi.get(self, "tls_policy") + + +@pulumi.output_type +class ConfigurationSetReputationOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "lastFreshStart": + suggest = "last_fresh_start" + elif key == "reputationMetricsEnabled": + suggest = "reputation_metrics_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigurationSetReputationOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigurationSetReputationOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigurationSetReputationOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + last_fresh_start: Optional[str] = None, + reputation_metrics_enabled: Optional[bool] = None): + """ + :param str last_fresh_start: The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. + :param bool reputation_metrics_enabled: If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. + """ + if last_fresh_start is not None: + pulumi.set(__self__, "last_fresh_start", last_fresh_start) + if reputation_metrics_enabled is not None: + pulumi.set(__self__, "reputation_metrics_enabled", reputation_metrics_enabled) + + @property + @pulumi.getter(name="lastFreshStart") + def last_fresh_start(self) -> Optional[str]: + """ + The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start. + """ + return pulumi.get(self, "last_fresh_start") + + @property + @pulumi.getter(name="reputationMetricsEnabled") + def reputation_metrics_enabled(self) -> Optional[bool]: + """ + If `true`, tracking of reputation metrics is enabled for the configuration set. If `false`, tracking of reputation metrics is disabled for the configuration set. + """ + return pulumi.get(self, "reputation_metrics_enabled") + + +@pulumi.output_type +class ConfigurationSetSendingOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "sendingEnabled": + suggest = "sending_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigurationSetSendingOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigurationSetSendingOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigurationSetSendingOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + sending_enabled: Optional[bool] = None): + """ + :param bool sending_enabled: If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. + """ + if sending_enabled is not None: + pulumi.set(__self__, "sending_enabled", sending_enabled) + + @property + @pulumi.getter(name="sendingEnabled") + def sending_enabled(self) -> Optional[bool]: + """ + If `true`, email sending is enabled for the configuration set. If `false`, email sending is disabled for the configuration set. + """ + return pulumi.get(self, "sending_enabled") + + +@pulumi.output_type +class ConfigurationSetSuppressionOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "suppressedReasons": + suggest = "suppressed_reasons" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigurationSetSuppressionOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigurationSetSuppressionOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigurationSetSuppressionOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + suppressed_reasons: Optional[Sequence[str]] = None): + """ + :param Sequence[str] suppressed_reasons: A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + """ + if suppressed_reasons is not None: + pulumi.set(__self__, "suppressed_reasons", suppressed_reasons) + + @property + @pulumi.getter(name="suppressedReasons") + def suppressed_reasons(self) -> Optional[Sequence[str]]: + """ + A list that contains the reasons that email addresses are automatically added to the suppression list for your account. Valid vales: `BOUNCE`, `COMPLAINT`. + """ + return pulumi.get(self, "suppressed_reasons") + + +@pulumi.output_type +class ConfigurationSetTrackingOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "customRedirectDomain": + suggest = "custom_redirect_domain" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigurationSetTrackingOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigurationSetTrackingOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigurationSetTrackingOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + custom_redirect_domain: str): + """ + :param str custom_redirect_domain: The domain to use for tracking open and click events. + """ + pulumi.set(__self__, "custom_redirect_domain", custom_redirect_domain) + + @property + @pulumi.getter(name="customRedirectDomain") + def custom_redirect_domain(self) -> str: + """ + The domain to use for tracking open and click events. + """ + return pulumi.get(self, "custom_redirect_domain") + + diff --git a/sdk/python/pulumi_aws/transfer/__init__.py b/sdk/python/pulumi_aws/transfer/__init__.py index 2cab889da1f..53270f49a80 100644 --- a/sdk/python/pulumi_aws/transfer/__init__.py +++ b/sdk/python/pulumi_aws/transfer/__init__.py @@ -9,6 +9,7 @@ from .get_server import * from .server import * from .ssh_key import * +from .tag import * from .user import * from .workflow import * from ._inputs import * diff --git a/sdk/python/pulumi_aws/transfer/server.py b/sdk/python/pulumi_aws/transfer/server.py index cb0d5f88374..d4b9ce43b0b 100644 --- a/sdk/python/pulumi_aws/transfer/server.py +++ b/sdk/python/pulumi_aws/transfer/server.py @@ -714,6 +714,8 @@ def __init__(__self__, > **NOTE on AWS IAM permissions:** If the `endpoint_type` is set to `VPC`, the `ec2:DescribeVpcEndpoints` and `ec2:ModifyVpcEndpoint` [actions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) are used. + > **NOTE:** Use the `transfer.Tag` resource to manage the system tags used for [custom hostnames](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-dns.html#tag-custom-hostname-cdk). + ## Example Usage ### Basic @@ -834,6 +836,8 @@ def __init__(__self__, > **NOTE on AWS IAM permissions:** If the `endpoint_type` is set to `VPC`, the `ec2:DescribeVpcEndpoints` and `ec2:ModifyVpcEndpoint` [actions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) are used. + > **NOTE:** Use the `transfer.Tag` resource to manage the system tags used for [custom hostnames](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-dns.html#tag-custom-hostname-cdk). + ## Example Usage ### Basic diff --git a/sdk/python/pulumi_aws/transfer/tag.py b/sdk/python/pulumi_aws/transfer/tag.py new file mode 100644 index 00000000000..4df623142bc --- /dev/null +++ b/sdk/python/pulumi_aws/transfer/tag.py @@ -0,0 +1,288 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['TagArgs', 'Tag'] + +@pulumi.input_type +class TagArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + resource_arn: pulumi.Input[str], + value: pulumi.Input[str]): + """ + The set of arguments for constructing a Tag resource. + :param pulumi.Input[str] key: Tag name. + :param pulumi.Input[str] resource_arn: Amazon Resource Name (ARN) of the Transfer Family resource to tag. + :param pulumi.Input[str] value: Tag value. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "resource_arn", resource_arn) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + """ + Tag name. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="resourceArn") + def resource_arn(self) -> pulumi.Input[str]: + """ + Amazon Resource Name (ARN) of the Transfer Family resource to tag. + """ + return pulumi.get(self, "resource_arn") + + @resource_arn.setter + def resource_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_arn", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + Tag value. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class _TagState: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + resource_arn: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Tag resources. + :param pulumi.Input[str] key: Tag name. + :param pulumi.Input[str] resource_arn: Amazon Resource Name (ARN) of the Transfer Family resource to tag. + :param pulumi.Input[str] value: Tag value. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if resource_arn is not None: + pulumi.set(__self__, "resource_arn", resource_arn) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Tag name. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="resourceArn") + def resource_arn(self) -> Optional[pulumi.Input[str]]: + """ + Amazon Resource Name (ARN) of the Transfer Family resource to tag. + """ + return pulumi.get(self, "resource_arn") + + @resource_arn.setter + def resource_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_arn", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + Tag value. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + +class Tag(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + key: Optional[pulumi.Input[str]] = None, + resource_arn: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.transfer.Server("example", identity_provider_type="SERVICE_MANAGED") + zone_id = aws.transfer.Tag("zoneId", + resource_arn=example.arn, + key="aws:transfer:route53HostedZoneId", + value="/hostedzone/MyHostedZoneId") + hostname = aws.transfer.Tag("hostname", + resource_arn=example.arn, + key="aws:transfer:customHostname", + value="example.com") + ``` + + ## Import + + `aws_transfer_tag` can be imported by using the Transfer Family resource identifier and key, separated by a comma (`,`), e.g., + + ```sh + $ pulumi import aws:transfer/tag:Tag example arn:aws:transfer:us-east-1:123456789012:server/s-1234567890abcdef0,Name + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] key: Tag name. + :param pulumi.Input[str] resource_arn: Amazon Resource Name (ARN) of the Transfer Family resource to tag. + :param pulumi.Input[str] value: Tag value. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: TagArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.transfer.Server("example", identity_provider_type="SERVICE_MANAGED") + zone_id = aws.transfer.Tag("zoneId", + resource_arn=example.arn, + key="aws:transfer:route53HostedZoneId", + value="/hostedzone/MyHostedZoneId") + hostname = aws.transfer.Tag("hostname", + resource_arn=example.arn, + key="aws:transfer:customHostname", + value="example.com") + ``` + + ## Import + + `aws_transfer_tag` can be imported by using the Transfer Family resource identifier and key, separated by a comma (`,`), e.g., + + ```sh + $ pulumi import aws:transfer/tag:Tag example arn:aws:transfer:us-east-1:123456789012:server/s-1234567890abcdef0,Name + ``` + + :param str resource_name: The name of the resource. + :param TagArgs 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(TagArgs, 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, + key: Optional[pulumi.Input[str]] = None, + resource_arn: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = TagArgs.__new__(TagArgs) + + if key is None and not opts.urn: + raise TypeError("Missing required property 'key'") + __props__.__dict__["key"] = key + if resource_arn is None and not opts.urn: + raise TypeError("Missing required property 'resource_arn'") + __props__.__dict__["resource_arn"] = resource_arn + if value is None and not opts.urn: + raise TypeError("Missing required property 'value'") + __props__.__dict__["value"] = value + super(Tag, __self__).__init__( + 'aws:transfer/tag:Tag', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + key: Optional[pulumi.Input[str]] = None, + resource_arn: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None) -> 'Tag': + """ + Get an existing Tag 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. + :param pulumi.Input[str] key: Tag name. + :param pulumi.Input[str] resource_arn: Amazon Resource Name (ARN) of the Transfer Family resource to tag. + :param pulumi.Input[str] value: Tag value. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _TagState.__new__(_TagState) + + __props__.__dict__["key"] = key + __props__.__dict__["resource_arn"] = resource_arn + __props__.__dict__["value"] = value + return Tag(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def key(self) -> pulumi.Output[str]: + """ + Tag name. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="resourceArn") + def resource_arn(self) -> pulumi.Output[str]: + """ + Amazon Resource Name (ARN) of the Transfer Family resource to tag. + """ + return pulumi.get(self, "resource_arn") + + @property + @pulumi.getter + def value(self) -> pulumi.Output[str]: + """ + Tag value. + """ + return pulumi.get(self, "value") + diff --git a/sdk/python/pulumi_aws/waf/get_subscribed_rule_group.py b/sdk/python/pulumi_aws/waf/get_subscribed_rule_group.py index 6e7f5251df8..22cea878250 100644 --- a/sdk/python/pulumi_aws/waf/get_subscribed_rule_group.py +++ b/sdk/python/pulumi_aws/waf/get_subscribed_rule_group.py @@ -76,6 +76,7 @@ def get_subscribed_rule_group(metric_name: Optional[str] = None, by_name = aws.waf.get_subscribed_rule_group(name="F5 Bot Detection Signatures For AWS WAF") by_metric_name = aws.waf.get_subscribed_rule_group(metric_name="F5BotDetectionSignatures") + # ... acl = aws.waf.WebAcl("acl", rules=[ aws.waf.WebAclRuleArgs( priority=1, @@ -121,6 +122,7 @@ def get_subscribed_rule_group_output(metric_name: Optional[pulumi.Input[Optional by_name = aws.waf.get_subscribed_rule_group(name="F5 Bot Detection Signatures For AWS WAF") by_metric_name = aws.waf.get_subscribed_rule_group(metric_name="F5BotDetectionSignatures") + # ... acl = aws.waf.WebAcl("acl", rules=[ aws.waf.WebAclRuleArgs( priority=1, diff --git a/sdk/python/pulumi_aws/wafregional/get_subscribed_rule_group.py b/sdk/python/pulumi_aws/wafregional/get_subscribed_rule_group.py index d73d0ef6a6d..19e22bcee86 100644 --- a/sdk/python/pulumi_aws/wafregional/get_subscribed_rule_group.py +++ b/sdk/python/pulumi_aws/wafregional/get_subscribed_rule_group.py @@ -76,6 +76,7 @@ def get_subscribed_rule_group(metric_name: Optional[str] = None, by_name = aws.wafregional.get_subscribed_rule_group(name="F5 Bot Detection Signatures For AWS WAF") by_metric_name = aws.wafregional.get_subscribed_rule_group(metric_name="F5BotDetectionSignatures") + # ... acl = aws.wafregional.WebAcl("acl", rules=[ aws.wafregional.WebAclRuleArgs( priority=1, @@ -121,6 +122,7 @@ def get_subscribed_rule_group_output(metric_name: Optional[pulumi.Input[Optional by_name = aws.wafregional.get_subscribed_rule_group(name="F5 Bot Detection Signatures For AWS WAF") by_metric_name = aws.wafregional.get_subscribed_rule_group(metric_name="F5BotDetectionSignatures") + # ... acl = aws.wafregional.WebAcl("acl", rules=[ aws.wafregional.WebAclRuleArgs( priority=1,