@pulumi/aws-native
Version:
The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)
185 lines (184 loc) • 8.5 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
* A resource that has been registered in the CloudFormation Registry.
*
* ## Example Usage
* ### Example
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws_native from "@pulumi/aws-native";
*
* const resourceVersion = new aws_native.cloudformation.ResourceVersion("resourceVersion", {
* typeName: "My::Sample::Resource",
* schemaHandlerPackage: "s3://my-sample-resourceversion-bucket/my-sample-resource.zip",
* });
* const resourceDefaultVersion = new aws_native.cloudformation.ResourceDefaultVersion("resourceDefaultVersion", {typeVersionArn: resourceVersion.id});
*
* ```
* ### Example
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws_native from "@pulumi/aws-native";
*
* const resourceVersion = new aws_native.cloudformation.ResourceVersion("resourceVersion", {
* typeName: "My::Sample::Resource",
* schemaHandlerPackage: "s3://my-sample-resourceversion-bucket/my-sample-resource.zip",
* });
* const resourceDefaultVersion = new aws_native.cloudformation.ResourceDefaultVersion("resourceDefaultVersion", {typeVersionArn: resourceVersion.id});
*
* ```
* ### Example
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws_native from "@pulumi/aws-native";
*
* const resourceVersion = new aws_native.cloudformation.ResourceVersion("resourceVersion", {
* typeName: "My::Sample::Resource",
* schemaHandlerPackage: "s3://my-sample-resourceversion-bucket/my-sample-resource.zip",
* });
*
* ```
* ### Example
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws_native from "@pulumi/aws-native";
*
* const resourceVersion = new aws_native.cloudformation.ResourceVersion("resourceVersion", {
* typeName: "My::Sample::Resource",
* schemaHandlerPackage: "s3://my-sample-resourceversion-bucket/my-sample-resource.zip",
* });
*
* ```
* ### Example
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws_native from "@pulumi/aws-native";
*
* const resourceVersion = new aws_native.cloudformation.ResourceVersion("resourceVersion", {
* typeName: "My::Sample::Resource",
* schemaHandlerPackage: "s3://my-sample-resourceversion-bucket/my-sample-resource.zip",
* });
* const resourceDefaultVersion = new aws_native.cloudformation.ResourceDefaultVersion("resourceDefaultVersion", {typeVersionArn: resourceVersion.id});
*
* ```
* ### Example
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws_native from "@pulumi/aws-native";
*
* const resourceVersion = new aws_native.cloudformation.ResourceVersion("resourceVersion", {
* typeName: "My::Sample::Resource",
* schemaHandlerPackage: "s3://my-sample-resourceversion-bucket/my-sample-resource.zip",
* });
* const resourceDefaultVersion = new aws_native.cloudformation.ResourceDefaultVersion("resourceDefaultVersion", {typeVersionArn: resourceVersion.id});
*
* ```
*/
export declare class ResourceVersion extends pulumi.CustomResource {
/**
* Get an existing ResourceVersion 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 opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): ResourceVersion;
/**
* Returns true if the given object is an instance of ResourceVersion. 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 ResourceVersion;
/**
* The Amazon Resource Name (ARN) of the type, here the ResourceVersion. This is used to uniquely identify a ResourceVersion resource
*/
readonly arn: pulumi.Output<string>;
/**
* The Amazon Resource Name (ARN) of the IAM execution role to use to register the type. If your resource type calls AWS APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those AWS APIs, and provision that execution role in your account. CloudFormation then assumes that execution role to provide your resource type with the appropriate credentials.
*/
readonly executionRoleArn: pulumi.Output<string | undefined>;
/**
* Indicates if this type version is the current default version
*/
readonly isDefaultVersion: pulumi.Output<boolean>;
/**
* Specifies logging configuration information for a type.
*/
readonly loggingConfig: pulumi.Output<outputs.cloudformation.ResourceVersionLoggingConfig | undefined>;
/**
* The provisioning behavior of the type. AWS CloudFormation determines the provisioning type during registration, based on the types of handlers in the schema handler package submitted.
*/
readonly provisioningType: pulumi.Output<enums.cloudformation.ResourceVersionProvisioningType>;
/**
* A url to the S3 bucket containing the schema handler package that contains the schema, event handlers, and associated files for the type you want to register.
*
* For information on generating a schema handler package for the type you want to register, see submit in the CloudFormation CLI User Guide.
*/
readonly schemaHandlerPackage: pulumi.Output<string>;
/**
* The Amazon Resource Name (ARN) of the type without the versionID.
*/
readonly typeArn: pulumi.Output<string>;
/**
* The name of the type being registered.
*
* We recommend that type names adhere to the following pattern: company_or_organization::service::type.
*/
readonly typeName: pulumi.Output<string>;
/**
* The ID of the version of the type represented by this resource instance.
*/
readonly versionId: pulumi.Output<string>;
/**
* The scope at which the type is visible and usable in CloudFormation operations.
*
* Valid values include:
*
* PRIVATE: The type is only visible and usable within the account in which it is registered. Currently, AWS CloudFormation marks any types you register as PRIVATE.
*
* PUBLIC: The type is publically visible and usable within any Amazon account.
*/
readonly visibility: pulumi.Output<enums.cloudformation.ResourceVersionVisibility>;
/**
* Create a ResourceVersion 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: ResourceVersionArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a ResourceVersion resource.
*/
export interface ResourceVersionArgs {
/**
* The Amazon Resource Name (ARN) of the IAM execution role to use to register the type. If your resource type calls AWS APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those AWS APIs, and provision that execution role in your account. CloudFormation then assumes that execution role to provide your resource type with the appropriate credentials.
*/
executionRoleArn?: pulumi.Input<string>;
/**
* Specifies logging configuration information for a type.
*/
loggingConfig?: pulumi.Input<inputs.cloudformation.ResourceVersionLoggingConfigArgs>;
/**
* A url to the S3 bucket containing the schema handler package that contains the schema, event handlers, and associated files for the type you want to register.
*
* For information on generating a schema handler package for the type you want to register, see submit in the CloudFormation CLI User Guide.
*/
schemaHandlerPackage: pulumi.Input<string>;
/**
* The name of the type being registered.
*
* We recommend that type names adhere to the following pattern: company_or_organization::service::type.
*/
typeName: pulumi.Input<string>;
}