UNPKG

pulumi-stripe

Version:

A Pulumi package for creating and managing Stripe resources.

222 lines (221 loc) 10.8 kB
import * as pulumi from "@pulumi/pulumi"; /** * ## Example Usage * * <!--Start PulumiCodeChooser --> * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as stripe from "pulumi-stripe"; * * // the most basic product * const product = new stripe.Product("product", { * description: "fantastic product", * unitLabel: "piece", * url: "https://www.terraform.io", * }); * ``` * <!--End PulumiCodeChooser --> */ export declare class Product extends pulumi.CustomResource { /** * Get an existing Product 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?: ProductState, opts?: pulumi.CustomResourceOptions): Product; /** * Returns true if the given object is an instance of Product. 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 Product; /** * Bool. Whether the product is currently available for purchase. Defaults to `true`. */ readonly active: pulumi.Output<boolean | undefined>; /** * String. The product’s description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes. */ readonly description: pulumi.Output<string | undefined>; /** * List(String). A list of up to 15 features for this product. These are displayed in pricing tables. */ readonly features: pulumi.Output<string[] | undefined>; /** * List(String). A list of up to 8 URLs of images for this product, meant to be displayable to the customer. */ readonly images: pulumi.Output<string[] | undefined>; /** * Map(String). Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ readonly metadata: pulumi.Output<{ [key: string]: string; } | undefined>; /** * String. The product’s name, meant to be displayable to the customer. Whenever this product is sold via a subscription, name will show up on associated invoice line item descriptions. */ readonly name: pulumi.Output<string>; /** * Map(Float). The dimensions of this product for shipping purposes. When used these fields are required: `height`,`length`,`width` and `weight`; the precision is 2 decimal places. */ readonly packageDimensions: pulumi.Output<{ [key: string]: number; } | undefined>; /** * String. The bespoke unique identifier for the object. */ readonly productId: pulumi.Output<string>; /** * Bool. Whether this product is shipped (i.e., physical goods). */ readonly shippable: pulumi.Output<boolean | undefined>; /** * String. An arbitrary string to be displayed on your customer’s credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all. This may be up to 22 characters. The statement description may not include `<`,` >`, `\`, `"`, `’` characters, and will appear on your customer’s statement in capital letters. Non-ASCII characters are automatically stripped. It must contain at least one letter. */ readonly statementDescriptor: pulumi.Output<string | undefined>; /** * String. A tax code ID. Supported values are listed in the TaxCode resource and at https://stripe.com/docs/tax/tax-categories. */ readonly taxCode: pulumi.Output<string | undefined>; /** * String. A label that represents units of this product in Stripe and on customers’ receipts and invoices. When set, this will be included in associated invoice line item descriptions. */ readonly unitLabel: pulumi.Output<string | undefined>; /** * String. A URL of a publicly-accessible webpage for this product. */ readonly url: pulumi.Output<string | undefined>; /** * Create a Product 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?: ProductArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Product resources. */ export interface ProductState { /** * Bool. Whether the product is currently available for purchase. Defaults to `true`. */ active?: pulumi.Input<boolean>; /** * String. The product’s description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes. */ description?: pulumi.Input<string>; /** * List(String). A list of up to 15 features for this product. These are displayed in pricing tables. */ features?: pulumi.Input<pulumi.Input<string>[]>; /** * List(String). A list of up to 8 URLs of images for this product, meant to be displayable to the customer. */ images?: pulumi.Input<pulumi.Input<string>[]>; /** * Map(String). Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * String. The product’s name, meant to be displayable to the customer. Whenever this product is sold via a subscription, name will show up on associated invoice line item descriptions. */ name?: pulumi.Input<string>; /** * Map(Float). The dimensions of this product for shipping purposes. When used these fields are required: `height`,`length`,`width` and `weight`; the precision is 2 decimal places. */ packageDimensions?: pulumi.Input<{ [key: string]: pulumi.Input<number>; }>; /** * String. The bespoke unique identifier for the object. */ productId?: pulumi.Input<string>; /** * Bool. Whether this product is shipped (i.e., physical goods). */ shippable?: pulumi.Input<boolean>; /** * String. An arbitrary string to be displayed on your customer’s credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all. This may be up to 22 characters. The statement description may not include `<`,` >`, `\`, `"`, `’` characters, and will appear on your customer’s statement in capital letters. Non-ASCII characters are automatically stripped. It must contain at least one letter. */ statementDescriptor?: pulumi.Input<string>; /** * String. A tax code ID. Supported values are listed in the TaxCode resource and at https://stripe.com/docs/tax/tax-categories. */ taxCode?: pulumi.Input<string>; /** * String. A label that represents units of this product in Stripe and on customers’ receipts and invoices. When set, this will be included in associated invoice line item descriptions. */ unitLabel?: pulumi.Input<string>; /** * String. A URL of a publicly-accessible webpage for this product. */ url?: pulumi.Input<string>; } /** * The set of arguments for constructing a Product resource. */ export interface ProductArgs { /** * Bool. Whether the product is currently available for purchase. Defaults to `true`. */ active?: pulumi.Input<boolean>; /** * String. The product’s description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes. */ description?: pulumi.Input<string>; /** * List(String). A list of up to 15 features for this product. These are displayed in pricing tables. */ features?: pulumi.Input<pulumi.Input<string>[]>; /** * List(String). A list of up to 8 URLs of images for this product, meant to be displayable to the customer. */ images?: pulumi.Input<pulumi.Input<string>[]>; /** * Map(String). Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * String. The product’s name, meant to be displayable to the customer. Whenever this product is sold via a subscription, name will show up on associated invoice line item descriptions. */ name?: pulumi.Input<string>; /** * Map(Float). The dimensions of this product for shipping purposes. When used these fields are required: `height`,`length`,`width` and `weight`; the precision is 2 decimal places. */ packageDimensions?: pulumi.Input<{ [key: string]: pulumi.Input<number>; }>; /** * String. The bespoke unique identifier for the object. */ productId?: pulumi.Input<string>; /** * Bool. Whether this product is shipped (i.e., physical goods). */ shippable?: pulumi.Input<boolean>; /** * String. An arbitrary string to be displayed on your customer’s credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all. This may be up to 22 characters. The statement description may not include `<`,` >`, `\`, `"`, `’` characters, and will appear on your customer’s statement in capital letters. Non-ASCII characters are automatically stripped. It must contain at least one letter. */ statementDescriptor?: pulumi.Input<string>; /** * String. A tax code ID. Supported values are listed in the TaxCode resource and at https://stripe.com/docs/tax/tax-categories. */ taxCode?: pulumi.Input<string>; /** * String. A label that represents units of this product in Stripe and on customers’ receipts and invoices. When set, this will be included in associated invoice line item descriptions. */ unitLabel?: pulumi.Input<string>; /** * String. A URL of a publicly-accessible webpage for this product. */ url?: pulumi.Input<string>; }