ProvisioningArtifact

class ProvisioningArtifact : KotlinCustomResource

Manages a Service Catalog Provisioning Artifact for a specified product.

A "provisioning artifact" is also referred to as a "version." NOTE: You cannot create a provisioning artifact for a product that was shared with you. NOTE: The user or role that use this resource must have the cloudformation:GetTemplate IAM policy permission. This policy permission is required when using the template_physical_id argument.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.servicecatalog.ProvisioningArtifact("example", {
name: "example",
productId: exampleAwsServicecatalogProduct.id,
type: "CLOUD_FORMATION_TEMPLATE",
templateUrl: `https://${exampleAwsS3Bucket.bucketRegionalDomainName}/${exampleAwsS3Object.key}`,
});
import pulumi
import pulumi_aws as aws
example = aws.servicecatalog.ProvisioningArtifact("example",
name="example",
product_id=example_aws_servicecatalog_product["id"],
type="CLOUD_FORMATION_TEMPLATE",
template_url=f"https://{example_aws_s3_bucket['bucketRegionalDomainName']}/{example_aws_s3_object['key']}")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.ServiceCatalog.ProvisioningArtifact("example", new()
{
Name = "example",
ProductId = exampleAwsServicecatalogProduct.Id,
Type = "CLOUD_FORMATION_TEMPLATE",
TemplateUrl = $"https://{exampleAwsS3Bucket.BucketRegionalDomainName}/{exampleAwsS3Object.Key}",
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := servicecatalog.NewProvisioningArtifact(ctx, "example", &servicecatalog.ProvisioningArtifactArgs{
Name: pulumi.String("example"),
ProductId: pulumi.Any(exampleAwsServicecatalogProduct.Id),
Type: pulumi.String("CLOUD_FORMATION_TEMPLATE"),
TemplateUrl: pulumi.Sprintf("https://%v/%v", exampleAwsS3Bucket.BucketRegionalDomainName, exampleAwsS3Object.Key),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.servicecatalog.ProvisioningArtifact;
import com.pulumi.aws.servicecatalog.ProvisioningArtifactArgs;
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 ProvisioningArtifact("example", ProvisioningArtifactArgs.builder()
.name("example")
.productId(exampleAwsServicecatalogProduct.id())
.type("CLOUD_FORMATION_TEMPLATE")
.templateUrl(String.format("https://%s/%s", exampleAwsS3Bucket.bucketRegionalDomainName(),exampleAwsS3Object.key()))
.build());
}
}
resources:
example:
type: aws:servicecatalog:ProvisioningArtifact
properties:
name: example
productId: ${exampleAwsServicecatalogProduct.id}
type: CLOUD_FORMATION_TEMPLATE
templateUrl: https://${exampleAwsS3Bucket.bucketRegionalDomainName}/${exampleAwsS3Object.key}

Import

Using pulumi import, import aws_servicecatalog_provisioning_artifact using the provisioning artifact ID and product ID separated by a colon. For example:

$ pulumi import aws:servicecatalog/provisioningArtifact:ProvisioningArtifact example pa-ij2b6lusy6dec:prod-el3an0rma3

Properties

Link copied to clipboard
val acceptLanguage: Output<String>?

Language code. Valid values: en (English), jp (Japanese), zh (Chinese). The default value is en.

Link copied to clipboard
val active: Output<Boolean>?

Whether the product version is active. Inactive provisioning artifacts are invisible to end users. End users cannot launch or update a provisioned product from an inactive provisioning artifact. Default is true.

Link copied to clipboard
val createdTime: Output<String>

Time when the provisioning artifact was created.

Link copied to clipboard
val description: Output<String>

Description of the provisioning artifact (i.e., version), including how it differs from the previous provisioning artifact.

Link copied to clipboard

Whether AWS Service Catalog stops validating the specified provisioning artifact template even if it is invalid.

Link copied to clipboard
val guidance: Output<String>?

Information set by the administrator to provide guidance to end users about which provisioning artifacts to use. Valid values are DEFAULT and DEPRECATED. The default is DEFAULT. Users are able to make updates to a provisioned product of a deprecated version but cannot launch new provisioned products using a deprecated version.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val name: Output<String>

Name of the provisioning artifact (for example, v1, v2beta). No spaces are allowed.

Link copied to clipboard
val productId: Output<String>

Identifier of the product.

Link copied to clipboard

Provisioning artifact identifier.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Template source as the physical ID of the resource that contains the template. Currently only supports CloudFormation stack ARN. Specify the physical ID as arn:[partition]:cloudformation:[region]:[account ID]:stack/[stack name]/[resource ID].

Link copied to clipboard
val templateUrl: Output<String>?

Template source as URL of the CloudFormation template in Amazon S3. The following arguments are optional:

Link copied to clipboard
val type: Output<String>?

Type of provisioning artifact. See AWS Docs for valid list of values.

Link copied to clipboard
val urn: Output<String>