@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
372 lines (371 loc) • 18 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* This resource provisions and manages a Service Catalog provisioned product.
*
* A provisioned product is a resourced instance of a product. For example, provisioning a product based on a CloudFormation template launches a CloudFormation stack and its underlying resources.
*
* Like this resource, the `awsServicecatalogRecord` data source also provides information about a provisioned product. Although a Service Catalog record provides some overlapping information with this resource, a record is tied to a provisioned product event, such as provisioning, termination, and updating.
*
* > **Tip:** If you include conflicted keys as tags, AWS will report an error, "Parameter validation failed: Missing required parameter in Tags[N]:Value".
*
* > **Tip:** 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.ProvisionedProduct("example", {
* name: "example",
* productName: "Example product",
* provisioningArtifactName: "Example version",
* provisioningParameters: [{
* key: "foo",
* value: "bar",
* }],
* tags: {
* foo: "bar",
* },
* });
* ```
*
* ## Import
*
* Using `pulumi import`, import `aws_servicecatalog_provisioned_product` using the provisioned product ID. For example:
*
* ```sh
* $ pulumi import aws:servicecatalog/provisionedProduct:ProvisionedProduct example pp-dnigbtea24ste
* ```
*/
export declare class ProvisionedProduct extends pulumi.CustomResource {
/**
* Get an existing ProvisionedProduct 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.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ProvisionedProductState, opts?: pulumi.CustomResourceOptions): ProvisionedProduct;
/**
* Returns true if the given object is an instance of ProvisionedProduct. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is ProvisionedProduct;
/**
* Language code. Valid values: `en` (English), `jp` (Japanese), `zh` (Chinese). Default value is `en`.
*/
readonly acceptLanguage: pulumi.Output<string | undefined>;
/**
* ARN of the provisioned product.
*/
readonly arn: pulumi.Output<string>;
/**
* Set of CloudWatch dashboards that were created when provisioning the product.
*/
readonly cloudwatchDashboardNames: pulumi.Output<string[]>;
/**
* Time when the provisioned product was created.
*/
readonly createdTime: pulumi.Output<string>;
/**
* _Only applies to deleting._ If set to `true`, AWS Service Catalog stops managing the specified provisioned product even if it cannot delete the underlying resources. The default value is `false`.
*/
readonly ignoreErrors: pulumi.Output<boolean | undefined>;
/**
* Record identifier of the last request performed on this provisioned product of the following types: `ProvisionedProduct`, `UpdateProvisionedProduct`, `ExecuteProvisionedProductPlan`, `TerminateProvisionedProduct`.
*/
readonly lastProvisioningRecordId: pulumi.Output<string>;
/**
* Record identifier of the last request performed on this provisioned product.
*/
readonly lastRecordId: pulumi.Output<string>;
/**
* Record identifier of the last successful request performed on this provisioned product of the following types: `ProvisionedProduct`, `UpdateProvisionedProduct`, `ExecuteProvisionedProductPlan`, `TerminateProvisionedProduct`.
*/
readonly lastSuccessfulProvisioningRecordId: pulumi.Output<string>;
/**
* ARN of the launch role associated with the provisioned product.
*/
readonly launchRoleArn: pulumi.Output<string>;
/**
* User-friendly name of the provisioned product.
*
* The following arguments are optional:
*/
readonly name: pulumi.Output<string>;
/**
* Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.
*/
readonly notificationArns: pulumi.Output<string[] | undefined>;
/**
* The set of outputs for the product created.
*/
readonly outputs: pulumi.Output<outputs.servicecatalog.ProvisionedProductOutput[]>;
/**
* Path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use `aws.servicecatalog.getLaunchPaths`. When required, you must provide `pathId` or `pathName`, but not both.
*/
readonly pathId: pulumi.Output<string>;
/**
* Name of the path. You must provide `pathId` or `pathName`, but not both.
*/
readonly pathName: pulumi.Output<string | undefined>;
/**
* Product identifier. For example, `prod-abcdzk7xy33qa`. You must provide `productId` or `productName`, but not both.
*/
readonly productId: pulumi.Output<string>;
/**
* Name of the product. You must provide `productId` or `productName`, but not both.
*/
readonly productName: pulumi.Output<string | undefined>;
/**
* Identifier of the provisioning artifact. For example, `pa-4abcdjnxjj6ne`. You must provide the `provisioningArtifactId` or `provisioningArtifactName`, but not both.
*/
readonly provisioningArtifactId: pulumi.Output<string>;
/**
* Name of the provisioning artifact. You must provide the `provisioningArtifactId` or `provisioningArtifactName`, but not both.
*/
readonly provisioningArtifactName: pulumi.Output<string | undefined>;
/**
* Configuration block with parameters specified by the administrator that are required for provisioning the product. See `provisioningParameters` Block for details.
*/
readonly provisioningParameters: pulumi.Output<outputs.servicecatalog.ProvisionedProductProvisioningParameter[] | undefined>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
readonly region: pulumi.Output<string>;
/**
* _Only applies to deleting._ Whether to delete the Service Catalog provisioned product but leave the CloudFormation stack, stack set, or the underlying resources of the deleted provisioned product. The default value is `false`.
*/
readonly retainPhysicalResources: pulumi.Output<boolean | undefined>;
/**
* Configuration block with information about the provisioning preferences for a stack set. See `stackSetProvisioningPreferences` Block for details.
*/
readonly stackSetProvisioningPreferences: pulumi.Output<outputs.servicecatalog.ProvisionedProductStackSetProvisioningPreferences | undefined>;
/**
* Current status of the provisioned product. See meanings below.
*/
readonly status: pulumi.Output<string>;
/**
* Current status message of the provisioned product.
*/
readonly statusMessage: pulumi.Output<string>;
/**
* Tags to apply to the provisioned product. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
readonly tags: pulumi.Output<{
[key: string]: string;
} | undefined>;
/**
* Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
*/
readonly tagsAll: pulumi.Output<{
[key: string]: string;
}>;
/**
* Type of provisioned product. Valid values are `CFN_STACK` and `CFN_STACKSET`.
*/
readonly type: pulumi.Output<string>;
/**
* Create a ProvisionedProduct 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?: ProvisionedProductArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering ProvisionedProduct resources.
*/
export interface ProvisionedProductState {
/**
* Language code. Valid values: `en` (English), `jp` (Japanese), `zh` (Chinese). Default value is `en`.
*/
acceptLanguage?: pulumi.Input<string>;
/**
* ARN of the provisioned product.
*/
arn?: pulumi.Input<string>;
/**
* Set of CloudWatch dashboards that were created when provisioning the product.
*/
cloudwatchDashboardNames?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Time when the provisioned product was created.
*/
createdTime?: pulumi.Input<string>;
/**
* _Only applies to deleting._ If set to `true`, AWS Service Catalog stops managing the specified provisioned product even if it cannot delete the underlying resources. The default value is `false`.
*/
ignoreErrors?: pulumi.Input<boolean>;
/**
* Record identifier of the last request performed on this provisioned product of the following types: `ProvisionedProduct`, `UpdateProvisionedProduct`, `ExecuteProvisionedProductPlan`, `TerminateProvisionedProduct`.
*/
lastProvisioningRecordId?: pulumi.Input<string>;
/**
* Record identifier of the last request performed on this provisioned product.
*/
lastRecordId?: pulumi.Input<string>;
/**
* Record identifier of the last successful request performed on this provisioned product of the following types: `ProvisionedProduct`, `UpdateProvisionedProduct`, `ExecuteProvisionedProductPlan`, `TerminateProvisionedProduct`.
*/
lastSuccessfulProvisioningRecordId?: pulumi.Input<string>;
/**
* ARN of the launch role associated with the provisioned product.
*/
launchRoleArn?: pulumi.Input<string>;
/**
* User-friendly name of the provisioned product.
*
* The following arguments are optional:
*/
name?: pulumi.Input<string>;
/**
* Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.
*/
notificationArns?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The set of outputs for the product created.
*/
outputs?: pulumi.Input<pulumi.Input<inputs.servicecatalog.ProvisionedProductOutput>[]>;
/**
* Path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use `aws.servicecatalog.getLaunchPaths`. When required, you must provide `pathId` or `pathName`, but not both.
*/
pathId?: pulumi.Input<string>;
/**
* Name of the path. You must provide `pathId` or `pathName`, but not both.
*/
pathName?: pulumi.Input<string>;
/**
* Product identifier. For example, `prod-abcdzk7xy33qa`. You must provide `productId` or `productName`, but not both.
*/
productId?: pulumi.Input<string>;
/**
* Name of the product. You must provide `productId` or `productName`, but not both.
*/
productName?: pulumi.Input<string>;
/**
* Identifier of the provisioning artifact. For example, `pa-4abcdjnxjj6ne`. You must provide the `provisioningArtifactId` or `provisioningArtifactName`, but not both.
*/
provisioningArtifactId?: pulumi.Input<string>;
/**
* Name of the provisioning artifact. You must provide the `provisioningArtifactId` or `provisioningArtifactName`, but not both.
*/
provisioningArtifactName?: pulumi.Input<string>;
/**
* Configuration block with parameters specified by the administrator that are required for provisioning the product. See `provisioningParameters` Block for details.
*/
provisioningParameters?: pulumi.Input<pulumi.Input<inputs.servicecatalog.ProvisionedProductProvisioningParameter>[]>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: pulumi.Input<string>;
/**
* _Only applies to deleting._ Whether to delete the Service Catalog provisioned product but leave the CloudFormation stack, stack set, or the underlying resources of the deleted provisioned product. The default value is `false`.
*/
retainPhysicalResources?: pulumi.Input<boolean>;
/**
* Configuration block with information about the provisioning preferences for a stack set. See `stackSetProvisioningPreferences` Block for details.
*/
stackSetProvisioningPreferences?: pulumi.Input<inputs.servicecatalog.ProvisionedProductStackSetProvisioningPreferences>;
/**
* Current status of the provisioned product. See meanings below.
*/
status?: pulumi.Input<string>;
/**
* Current status message of the provisioned product.
*/
statusMessage?: pulumi.Input<string>;
/**
* Tags to apply to the provisioned product. 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<string>;
}>;
/**
* Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
*/
tagsAll?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Type of provisioned product. Valid values are `CFN_STACK` and `CFN_STACKSET`.
*/
type?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a ProvisionedProduct resource.
*/
export interface ProvisionedProductArgs {
/**
* Language code. Valid values: `en` (English), `jp` (Japanese), `zh` (Chinese). Default value is `en`.
*/
acceptLanguage?: pulumi.Input<string>;
/**
* _Only applies to deleting._ If set to `true`, AWS Service Catalog stops managing the specified provisioned product even if it cannot delete the underlying resources. The default value is `false`.
*/
ignoreErrors?: pulumi.Input<boolean>;
/**
* User-friendly name of the provisioned product.
*
* The following arguments are optional:
*/
name?: pulumi.Input<string>;
/**
* Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.
*/
notificationArns?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use `aws.servicecatalog.getLaunchPaths`. When required, you must provide `pathId` or `pathName`, but not both.
*/
pathId?: pulumi.Input<string>;
/**
* Name of the path. You must provide `pathId` or `pathName`, but not both.
*/
pathName?: pulumi.Input<string>;
/**
* Product identifier. For example, `prod-abcdzk7xy33qa`. You must provide `productId` or `productName`, but not both.
*/
productId?: pulumi.Input<string>;
/**
* Name of the product. You must provide `productId` or `productName`, but not both.
*/
productName?: pulumi.Input<string>;
/**
* Identifier of the provisioning artifact. For example, `pa-4abcdjnxjj6ne`. You must provide the `provisioningArtifactId` or `provisioningArtifactName`, but not both.
*/
provisioningArtifactId?: pulumi.Input<string>;
/**
* Name of the provisioning artifact. You must provide the `provisioningArtifactId` or `provisioningArtifactName`, but not both.
*/
provisioningArtifactName?: pulumi.Input<string>;
/**
* Configuration block with parameters specified by the administrator that are required for provisioning the product. See `provisioningParameters` Block for details.
*/
provisioningParameters?: pulumi.Input<pulumi.Input<inputs.servicecatalog.ProvisionedProductProvisioningParameter>[]>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: pulumi.Input<string>;
/**
* _Only applies to deleting._ Whether to delete the Service Catalog provisioned product but leave the CloudFormation stack, stack set, or the underlying resources of the deleted provisioned product. The default value is `false`.
*/
retainPhysicalResources?: pulumi.Input<boolean>;
/**
* Configuration block with information about the provisioning preferences for a stack set. See `stackSetProvisioningPreferences` Block for details.
*/
stackSetProvisioningPreferences?: pulumi.Input<inputs.servicecatalog.ProvisionedProductStackSetProvisioningPreferences>;
/**
* Tags to apply to the provisioned product. 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<string>;
}>;
}