Provisioning Artifact
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 thetemplate_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
Language code. Valid values: en
(English), jp
(Japanese), zh
(Chinese). The default value is en
.
Time when the provisioning artifact was created.
Description of the provisioning artifact (i.e., version), including how it differs from the previous provisioning artifact.
Whether AWS Service Catalog stops validating the specified provisioning artifact template even if it is invalid.
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.
Provisioning artifact identifier.
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]
.
Template source as URL of the CloudFormation template in Amazon S3. The following arguments are optional: