import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "../../types"; /** * Creates a commitment in the specified project using the data included in the request. */ export declare class RegionCommitment extends pulumi.CustomResource { /** * Get an existing RegionCommitment 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, opts?: pulumi.CustomResourceOptions): RegionCommitment; /** * Returns true if the given object is an instance of RegionCommitment. 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 RegionCommitment; /** * The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified. */ readonly category: pulumi.Output; /** * [Output Only] Creation timestamp in RFC3339 text format. */ readonly creationTimestamp: pulumi.Output; /** * An optional description of this resource. Provide this property when you create the resource. */ readonly description: pulumi.Output; /** * [Output Only] Commitment end time in RFC3339 text format. */ readonly endTimestamp: pulumi.Output; /** * [Output Only] Type of the resource. Always compute#commitment for commitments. */ readonly kind: pulumi.Output; /** * The license specification required as part of a license commitment. */ readonly licenseResource: pulumi.Output; /** * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */ readonly name: pulumi.Output; /** * The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years). */ readonly plan: pulumi.Output; /** * [Output Only] URL of the region where this commitment may be used. */ readonly region: pulumi.Output; /** * List of reservations in this commitment. */ readonly reservations: pulumi.Output; /** * A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together. */ readonly resources: pulumi.Output; /** * [Output Only] Server-defined URL for the resource. */ readonly selfLink: pulumi.Output; /** * [Output Only] Server-defined URL for this resource with the resource id. */ readonly selfLinkWithId: pulumi.Output; /** * [Output Only] Commitment start time in RFC3339 text format. */ readonly startTimestamp: pulumi.Output; /** * [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED. */ readonly status: pulumi.Output; /** * [Output Only] An optional, human-readable explanation of the status. */ readonly statusMessage: pulumi.Output; /** * The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines. */ readonly type: pulumi.Output; /** * Create a RegionCommitment 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: RegionCommitmentArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a RegionCommitment resource. */ export interface RegionCommitmentArgs { /** * The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified. */ readonly category?: pulumi.Input; readonly commitment: pulumi.Input; /** * [Output Only] Creation timestamp in RFC3339 text format. */ readonly creationTimestamp?: pulumi.Input; /** * An optional description of this resource. Provide this property when you create the resource. */ readonly description?: pulumi.Input; /** * [Output Only] Commitment end time in RFC3339 text format. */ readonly endTimestamp?: pulumi.Input; /** * [Output Only] The unique identifier for the resource. This identifier is defined by the server. */ readonly id?: pulumi.Input; /** * [Output Only] Type of the resource. Always compute#commitment for commitments. */ readonly kind?: pulumi.Input; /** * The license specification required as part of a license commitment. */ readonly licenseResource?: pulumi.Input; /** * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */ readonly name?: pulumi.Input; /** * The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years). */ readonly plan?: pulumi.Input; readonly project: pulumi.Input; /** * [Output Only] URL of the region where this commitment may be used. */ readonly region: pulumi.Input; /** * List of reservations in this commitment. */ readonly reservations?: pulumi.Input[]>; /** * A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together. */ readonly resources?: pulumi.Input[]>; /** * [Output Only] Server-defined URL for the resource. */ readonly selfLink?: pulumi.Input; /** * [Output Only] Server-defined URL for this resource with the resource id. */ readonly selfLinkWithId?: pulumi.Input; /** * [Output Only] Commitment start time in RFC3339 text format. */ readonly startTimestamp?: pulumi.Input; /** * [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED. */ readonly status?: pulumi.Input; /** * [Output Only] An optional, human-readable explanation of the status. */ readonly statusMessage?: pulumi.Input; /** * The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines. */ readonly type?: pulumi.Input; }