import * as core from "@terrascript/core"; export interface OutputsArgs extends core.SchemaArgs { description: string | core.StringOut; key: string | core.StringOut; value: string | core.StringOut; } export class Outputs extends core.Schema { @core.attr(String, { computed: true }) public description!: string | core.StringOut; @core.attr(String, { computed: true }) public key!: string | core.StringOut; @core.attr(String, { computed: true }) public value!: string | core.StringOut; } export interface StackSetProvisioningPreferencesArgs extends core.SchemaArgs { accounts?: core.Array | core.ArrayOut; failureToleranceCount?: number | core.NumberOut; failureTolerancePercentage?: number | core.NumberOut; maxConcurrencyCount?: number | core.NumberOut; maxConcurrencyPercentage?: number | core.NumberOut; regions?: core.Array | core.ArrayOut; } export class StackSetProvisioningPreferences extends core.Schema { @core.attr(String, { kind: "array" }) public accounts?: core.Array | core.ArrayOut; @core.attr(Number) public failureToleranceCount?: number | core.NumberOut; @core.attr(Number) public failureTolerancePercentage?: number | core.NumberOut; @core.attr(Number) public maxConcurrencyCount?: number | core.NumberOut; @core.attr(Number) public maxConcurrencyPercentage?: number | core.NumberOut; @core.attr(String, { kind: "array" }) public regions?: core.Array | core.ArrayOut; } export interface ProvisioningParametersArgs extends core.SchemaArgs { key: string | core.StringOut; usePreviousValue?: boolean | core.BooleanOut; value?: string | core.StringOut; } export class ProvisioningParameters extends core.Schema { @core.attr(String) public key!: string | core.StringOut; @core.attr(Boolean) public usePreviousValue?: boolean | core.BooleanOut; @core.attr(String) public value?: string | core.StringOut; } export interface ProvisionedProductArgs extends core.ResourceArgs { /** * (Optional) Language code. Valid values: `en` (English), `jp` (Japanese), `zh` (Chinese). Default val * ue is `en`. */ acceptLanguage?: string | core.StringOut; /** * (Optional) _Only applies to deleting._ If set to `true`, AWS Service Catalog stops managing the spec * ified provisioned product even if it cannot delete the underlying resources. The default value is `f * alse`. */ ignoreErrors?: boolean | core.BooleanOut; /** * (Required) User-friendly name of the provisioned product. */ name: string | core.StringOut; /** * (Optional) Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events. */ notificationArns?: core.Array | core.ArrayOut; /** * (Optional) 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_servi * cecatalog_launch_paths`. When required, you must provide `path_id` or `path_name`, but not both. */ pathId?: string | core.StringOut; /** * (Optional) Name of the path. You must provide `path_id` or `path_name`, but not both. */ pathName?: string | core.StringOut; /** * (Optional) Product identifier. For example, `prod-abcdzk7xy33qa`. You must provide `product_id` or ` * product_name`, but not both. */ productId?: string | core.StringOut; /** * (Optional) Name of the product. You must provide `product_id` or `product_name`, but not both. */ productName?: string | core.StringOut; /** * (Optional) Identifier of the provisioning artifact. For example, `pa-4abcdjnxjj6ne`. You must provid * e the `provisioning_artifact_id` or `provisioning_artifact_name`, but not both. */ provisioningArtifactId?: string | core.StringOut; /** * (Optional) Name of the provisioning artifact. You must provide the `provisioning_artifact_id` or `pr * ovisioning_artifact_name`, but not both. */ provisioningArtifactName?: string | core.StringOut; /** * (Optional) Configuration block with parameters specified by the administrator that are required for * provisioning the product. See details below. */ provisioningParameters?: | core.Array | core.ArrayOut; /** * (Optional) _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 p * roduct. The default value is `false`. */ retainPhysicalResources?: boolean | core.BooleanOut; /** * (Optional) Configuration block with information about the provisioning preferences for a stack set. * See details below. */ stackSetProvisioningPreferences?: StackSetProvisioningPreferences; /** * (Optional) Tags to apply to the provisioned product. If configured with a provider [`default_tags` c * onfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-c * onfiguration-block) present, tags with matching keys will overwrite those defined at the provider-le * vel. */ tags?: core.Map | core.MapOut; /** * Map of tags assigned to the resource, including those inherited from the provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block). */ tagsAll?: core.Map | core.MapOut; } export class ProvisionedProduct extends core.Resource { /** * (Optional) Language code. Valid values: `en` (English), `jp` (Japanese), `zh` (Chinese). Default val * ue is `en`. */ @core.attr(String) public acceptLanguage?: string | core.StringOut; /** * ARN of the provisioned product. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * Set of CloudWatch dashboards that were created when provisioning the product. */ @core.attr(String, { computed: true, kind: "array" }) public cloudwatchDashboardNames!: | core.Array | core.ArrayOut; /** * Time when the provisioned product was created. */ @core.attr(String, { computed: true }) public createdTime!: string | core.StringOut; /** * Provisioned Product ID. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) _Only applies to deleting._ If set to `true`, AWS Service Catalog stops managing the spec * ified provisioned product even if it cannot delete the underlying resources. The default value is `f * alse`. */ @core.attr(Boolean) public ignoreErrors?: boolean | core.BooleanOut; /** * Record identifier of the last request performed on this provisioned product of the following types: * ProvisionedProduct`, `UpdateProvisionedProduct`, `ExecuteProvisionedProductPlan`, `TerminateProvisi * onedProduct`. */ @core.attr(String, { computed: true }) public lastProvisioningRecordId!: string | core.StringOut; /** * Record identifier of the last request performed on this provisioned product. */ @core.attr(String, { computed: true }) public lastRecordId!: string | core.StringOut; /** * Record identifier of the last successful request performed on this provisioned product of the follow * ing types: `ProvisionedProduct`, `UpdateProvisionedProduct`, `ExecuteProvisionedProductPlan`, `Termi * nateProvisionedProduct`. */ @core.attr(String, { computed: true }) public lastSuccessfulProvisioningRecordId!: string | core.StringOut; /** * ARN of the launch role associated with the provisioned product. */ @core.attr(String, { computed: true }) public launchRoleArn!: string | core.StringOut; /** * (Required) User-friendly name of the provisioned product. */ @core.attr(String) public name!: string | core.StringOut; /** * (Optional) Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events. */ @core.attr(String, { kind: "array" }) public notificationArns?: core.Array | core.ArrayOut; /** * The set of outputs for the product created. */ @core.attr(Outputs, { computed: true, kind: "array" }) public outputs!: core.Array | core.ArrayOut; /** * (Optional) 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_servi * cecatalog_launch_paths`. When required, you must provide `path_id` or `path_name`, but not both. */ @core.attr(String, { computed: true }) public pathId?: string | core.StringOut; /** * (Optional) Name of the path. You must provide `path_id` or `path_name`, but not both. */ @core.attr(String) public pathName?: string | core.StringOut; /** * (Optional) Product identifier. For example, `prod-abcdzk7xy33qa`. You must provide `product_id` or ` * product_name`, but not both. */ @core.attr(String, { computed: true }) public productId?: string | core.StringOut; /** * (Optional) Name of the product. You must provide `product_id` or `product_name`, but not both. */ @core.attr(String) public productName?: string | core.StringOut; /** * (Optional) Identifier of the provisioning artifact. For example, `pa-4abcdjnxjj6ne`. You must provid * e the `provisioning_artifact_id` or `provisioning_artifact_name`, but not both. */ @core.attr(String, { computed: true }) public provisioningArtifactId?: string | core.StringOut; /** * (Optional) Name of the provisioning artifact. You must provide the `provisioning_artifact_id` or `pr * ovisioning_artifact_name`, but not both. */ @core.attr(String) public provisioningArtifactName?: string | core.StringOut; /** * (Optional) Configuration block with parameters specified by the administrator that are required for * provisioning the product. See details below. */ @core.attr(ProvisioningParameters, { kind: "array" }) public provisioningParameters?: | core.Array | core.ArrayOut; /** * (Optional) _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 p * roduct. The default value is `false`. */ @core.attr(Boolean) public retainPhysicalResources?: boolean | core.BooleanOut; /** * (Optional) Configuration block with information about the provisioning preferences for a stack set. * See details below. */ @core.attr(StackSetProvisioningPreferences) public stackSetProvisioningPreferences?: StackSetProvisioningPreferences; /** * Current status of the provisioned product. See meanings below. */ @core.attr(String, { computed: true }) public status!: string | core.StringOut; /** * Current status message of the provisioned product. */ @core.attr(String, { computed: true }) public statusMessage!: string | core.StringOut; /** * (Optional) Tags to apply to the provisioned product. If configured with a provider [`default_tags` c * onfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-c * onfiguration-block) present, tags with matching keys will overwrite those defined at the provider-le * vel. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * Map of tags assigned to the resource, including those inherited from the provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; /** * Type of provisioned product. Valid values are `CFN_STACK` and `CFN_STACKSET`. */ @core.attr(String, { computed: true }) public type!: string | core.StringOut; constructor(name: string, args?: ProvisionedProductArgs) { super(name, "aws_servicecatalog_provisioned_product", args); } public override getNamespace(): string { return "aws_servicecatalog"; } }