UNPKG

@pulumi/aws

Version:

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

372 lines (371 loc) • 18 kB
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>; }>; }