import * as pulumi from "@pulumi/pulumi"; /** * Create and manage an OVHcloud Savings Plan * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ovh from "@ovhcloud/pulumi-ovh"; * * const plan = new ovh.savingsplan.SavingsPlan("plan", { * serviceName: "", * flavor: "Rancher", * period: "P1M", * size: 2, * displayName: "one_month_rancher_savings_plan", * autoRenewal: true, * }); * ``` * * ## Import * * A savings plan can be imported using the following format: `service_name` and `id` of the savings plan, separated by "/" e.g. * * bash * * ```sh * $ pulumi import ovh:SavingsPlan/savingsPlan:SavingsPlan plan service_name/savings_plan_id * ``` */ export declare class SavingsPlan extends pulumi.CustomResource { /** * Get an existing SavingsPlan 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, state?: SavingsPlanState, opts?: pulumi.CustomResourceOptions): SavingsPlan; /** * Returns true if the given object is an instance of SavingsPlan. 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 SavingsPlan; /** * Whether Savings Plan should be renewed at the end of the period (defaults to false) */ readonly autoRenewal: pulumi.Output; /** * Deployment type of the Savings Plan. Can be either `1AZ` or `3AZ`. Defaults to `1AZ` and cannot be set to `3AZ` for Rancher flavors. */ readonly deploymentType: pulumi.Output; /** * Custom display name, used in invoices */ readonly displayName: pulumi.Output; /** * End date of the Savings Plan */ readonly endDate: pulumi.Output; /** * Savings Plan flavor. The list of available flavors can be retrieved in the next section. */ readonly flavor: pulumi.Output; /** * Periodicity of the Savings Plan */ readonly period: pulumi.Output; /** * Action performed when reaching the end of the period (controles by the `autoRenewal` parameter) */ readonly periodEndAction: pulumi.Output; /** * End date of the current period */ readonly periodEndDate: pulumi.Output; /** * Start date of the current period */ readonly periodStartDate: pulumi.Output; /** * Billing ID of the service */ readonly serviceId: pulumi.Output; /** * ID of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. */ readonly serviceName: pulumi.Output; /** * Size of the Savings Plan */ readonly size: pulumi.Output; /** * Start date of the Savings Plan */ readonly startDate: pulumi.Output; /** * Status of the Savings Plan */ readonly status: pulumi.Output; /** * Create a SavingsPlan 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: SavingsPlanArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SavingsPlan resources. */ export interface SavingsPlanState { /** * Whether Savings Plan should be renewed at the end of the period (defaults to false) */ autoRenewal?: pulumi.Input; /** * Deployment type of the Savings Plan. Can be either `1AZ` or `3AZ`. Defaults to `1AZ` and cannot be set to `3AZ` for Rancher flavors. */ deploymentType?: pulumi.Input; /** * Custom display name, used in invoices */ displayName?: pulumi.Input; /** * End date of the Savings Plan */ endDate?: pulumi.Input; /** * Savings Plan flavor. The list of available flavors can be retrieved in the next section. */ flavor?: pulumi.Input; /** * Periodicity of the Savings Plan */ period?: pulumi.Input; /** * Action performed when reaching the end of the period (controles by the `autoRenewal` parameter) */ periodEndAction?: pulumi.Input; /** * End date of the current period */ periodEndDate?: pulumi.Input; /** * Start date of the current period */ periodStartDate?: pulumi.Input; /** * Billing ID of the service */ serviceId?: pulumi.Input; /** * ID of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. */ serviceName?: pulumi.Input; /** * Size of the Savings Plan */ size?: pulumi.Input; /** * Start date of the Savings Plan */ startDate?: pulumi.Input; /** * Status of the Savings Plan */ status?: pulumi.Input; } /** * The set of arguments for constructing a SavingsPlan resource. */ export interface SavingsPlanArgs { /** * Whether Savings Plan should be renewed at the end of the period (defaults to false) */ autoRenewal?: pulumi.Input; /** * Deployment type of the Savings Plan. Can be either `1AZ` or `3AZ`. Defaults to `1AZ` and cannot be set to `3AZ` for Rancher flavors. */ deploymentType?: pulumi.Input; /** * Custom display name, used in invoices */ displayName: pulumi.Input; /** * Savings Plan flavor. The list of available flavors can be retrieved in the next section. */ flavor: pulumi.Input; /** * Periodicity of the Savings Plan */ period: pulumi.Input; /** * ID of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used. */ serviceName?: pulumi.Input; /** * Size of the Savings Plan */ size: pulumi.Input; }