import * as pulumi from "@pulumi/pulumi";
/**
 * Manages DataArts Studio instance resource within HuaweiCloud.
 *
 * > Only **prePaid** charging mode is supported.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as pulumi from "@huaweicloudos/pulumi";
 *
 * const config = new pulumi.Config();
 * const availabilityZone = config.requireObject("availabilityZone");
 * const vpcId = config.requireObject("vpcId");
 * const subnetId = config.requireObject("subnetId");
 * const secgroupId = config.requireObject("secgroupId");
 * const myDemo = new huaweicloud.dataartsstudio.StudioInstance("myDemo", {
 *     version: "dayu.starter",
 *     vpcId: vpcId,
 *     subnetId: subnetId,
 *     securityGroupId: secgroupId,
 *     availabilityZone: availabilityZone,
 *     periodUnit: "month",
 *     period: 1,
 *     enterpriseProjectId: "0",
 *     tags: {
 *         key: "value",
 *     },
 * });
 * ```
 *
 * <!--markdownlint-disable MD033-->
 *
 * ## Import
 *
 * DataArts Studio instances can be imported using their `id`, e.g.
 *
 * ```sh
 *  $ pulumi import huaweicloud:DataArtsStudio/studioInstance:StudioInstance instance e60361de2cfd42d7a6b673f0ae58db82
 * ```
 *
 *  Note that the imported state may not be identical to your resource definition, due to some attributes missing from the API response, security or some other reason. The missing attributes include`tags`, `period_unit`, `period`, `auto_renew`. It is generally recommended running `terraform plan` after importing an instance. You can then decide if changes should be applied to the instance, or the resource definition should be updated to align with the instance. Also you can ignore changes as below. hcl resource "huaweicloud_dataarts_studio_instance" "instance" {
 *
 *  ...
 *
 *  lifecycle {
 *
 *  ignore_changes = [
 *
 *  tags, period_unit, period, auto_renew,
 *
 *  ]
 *
 *  } }
 */
export declare class StudioInstance extends pulumi.CustomResource {
    /**
     * Get an existing StudioInstance 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?: StudioInstanceState, opts?: pulumi.CustomResourceOptions): StudioInstance;
    /**
     * Returns true if the given object is an instance of StudioInstance.  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 StudioInstance;
    /**
     * Specifies whether auto renew is enabled.
     * Valid values are `true` and `false`, defaults to `false`. Changing this parameter will create a new resource.
     */
    readonly autoRenew: pulumi.Output<string | undefined>;
    /**
     * Specifies the AZ name. Changing this creates a new instance.
     */
    readonly availabilityZone: pulumi.Output<string>;
    /**
     * The charging mode. The value is `prePaid` indicates the yearly/monthly billing mode.
     */
    readonly chargingMode: pulumi.Output<string>;
    /**
     * Specifies the enterprise project id of the instance.
     */
    readonly enterpriseProjectId: pulumi.Output<string>;
    /**
     * The expire days to renew.
     */
    readonly expireDays: pulumi.Output<string>;
    /**
     * Specifies the DataArts Studio instance name. Changing this creates a new instance.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The order ID of this DataArts Studio instance.
     */
    readonly orderId: pulumi.Output<string>;
    /**
     * Specifies the charging period of the DataArts Studio instance.
     * If `periodUnit` is set to **month**, the value ranges from `1` to `9`.
     * If `periodUnit` is set to **year**, the value ranges from `1` to `3`.
     * Changing this creates a new instance.
     */
    readonly period: pulumi.Output<number>;
    /**
     * Specifies the charging period unit of the instance.
     * Valid values are **month** and **year**.
     * Changing this creates a new instance.
     */
    readonly periodUnit: pulumi.Output<string>;
    /**
     * Specifies the region in which to manage the DataArts Studio instance.
     * Changing this creates a new instance.
     */
    readonly region: pulumi.Output<string>;
    /**
     * Specifies the security group ID. Changing this creates a new instance.
     */
    readonly securityGroupId: pulumi.Output<string>;
    /**
     * The status of this DataArts Studio instance.
     */
    readonly status: pulumi.Output<number>;
    /**
     * Specifies the VPC subnet ID. Changing this creates a new instance.
     */
    readonly subnetId: pulumi.Output<string>;
    /**
     * The key/value pairs to associate with the DataArts Studio instance.
     * Changing this creates a new instance.
     */
    readonly tags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * Specifies the DataArts Studio version version.
     * The valid values are **dayu.starter**, **dayu.nb.professional** and **dayu.nb.enterprise**.
     * Changing this creates a new instance.
     */
    readonly version: pulumi.Output<string>;
    /**
     * Specifies the VPC ID. Changing this creates a new instance.
     */
    readonly vpcId: pulumi.Output<string>;
    /**
     * Create a StudioInstance 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: StudioInstanceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering StudioInstance resources.
 */
export interface StudioInstanceState {
    /**
     * Specifies whether auto renew is enabled.
     * Valid values are `true` and `false`, defaults to `false`. Changing this parameter will create a new resource.
     */
    autoRenew?: pulumi.Input<string>;
    /**
     * Specifies the AZ name. Changing this creates a new instance.
     */
    availabilityZone?: pulumi.Input<string>;
    /**
     * The charging mode. The value is `prePaid` indicates the yearly/monthly billing mode.
     */
    chargingMode?: pulumi.Input<string>;
    /**
     * Specifies the enterprise project id of the instance.
     */
    enterpriseProjectId?: pulumi.Input<string>;
    /**
     * The expire days to renew.
     */
    expireDays?: pulumi.Input<string>;
    /**
     * Specifies the DataArts Studio instance name. Changing this creates a new instance.
     */
    name?: pulumi.Input<string>;
    /**
     * The order ID of this DataArts Studio instance.
     */
    orderId?: pulumi.Input<string>;
    /**
     * Specifies the charging period of the DataArts Studio instance.
     * If `periodUnit` is set to **month**, the value ranges from `1` to `9`.
     * If `periodUnit` is set to **year**, the value ranges from `1` to `3`.
     * Changing this creates a new instance.
     */
    period?: pulumi.Input<number>;
    /**
     * Specifies the charging period unit of the instance.
     * Valid values are **month** and **year**.
     * Changing this creates a new instance.
     */
    periodUnit?: pulumi.Input<string>;
    /**
     * Specifies the region in which to manage the DataArts Studio instance.
     * Changing this creates a new instance.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the security group ID. Changing this creates a new instance.
     */
    securityGroupId?: pulumi.Input<string>;
    /**
     * The status of this DataArts Studio instance.
     */
    status?: pulumi.Input<number>;
    /**
     * Specifies the VPC subnet ID. Changing this creates a new instance.
     */
    subnetId?: pulumi.Input<string>;
    /**
     * The key/value pairs to associate with the DataArts Studio instance.
     * Changing this creates a new instance.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * Specifies the DataArts Studio version version.
     * The valid values are **dayu.starter**, **dayu.nb.professional** and **dayu.nb.enterprise**.
     * Changing this creates a new instance.
     */
    version?: pulumi.Input<string>;
    /**
     * Specifies the VPC ID. Changing this creates a new instance.
     */
    vpcId?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a StudioInstance resource.
 */
export interface StudioInstanceArgs {
    /**
     * Specifies whether auto renew is enabled.
     * Valid values are `true` and `false`, defaults to `false`. Changing this parameter will create a new resource.
     */
    autoRenew?: pulumi.Input<string>;
    /**
     * Specifies the AZ name. Changing this creates a new instance.
     */
    availabilityZone: pulumi.Input<string>;
    /**
     * Specifies the enterprise project id of the instance.
     */
    enterpriseProjectId?: pulumi.Input<string>;
    /**
     * Specifies the DataArts Studio instance name. Changing this creates a new instance.
     */
    name?: pulumi.Input<string>;
    /**
     * Specifies the charging period of the DataArts Studio instance.
     * If `periodUnit` is set to **month**, the value ranges from `1` to `9`.
     * If `periodUnit` is set to **year**, the value ranges from `1` to `3`.
     * Changing this creates a new instance.
     */
    period: pulumi.Input<number>;
    /**
     * Specifies the charging period unit of the instance.
     * Valid values are **month** and **year**.
     * Changing this creates a new instance.
     */
    periodUnit: pulumi.Input<string>;
    /**
     * Specifies the region in which to manage the DataArts Studio instance.
     * Changing this creates a new instance.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the security group ID. Changing this creates a new instance.
     */
    securityGroupId: pulumi.Input<string>;
    /**
     * Specifies the VPC subnet ID. Changing this creates a new instance.
     */
    subnetId: pulumi.Input<string>;
    /**
     * The key/value pairs to associate with the DataArts Studio instance.
     * Changing this creates a new instance.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * Specifies the DataArts Studio version version.
     * The valid values are **dayu.starter**, **dayu.nb.professional** and **dayu.nb.enterprise**.
     * Changing this creates a new instance.
     */
    version: pulumi.Input<string>;
    /**
     * Specifies the VPC ID. Changing this creates a new instance.
     */
    vpcId: pulumi.Input<string>;
}
