UNPKG

@volcengine/pulumi

Version:

A Pulumi package for creating and managing volcengine cloud resources.

513 lines (512 loc) 17.5 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcengine from "@pulumi/volcengine"; * import * as volcengine from "@volcengine/pulumi"; * * const fooZones = volcengine.ecs.getZones({}); * // create vpc * const fooVpc = new volcengine.vpc.Vpc("fooVpc", { * vpcName: "acc-test-vpc", * cidrBlock: "172.16.0.0/16", * dnsServers: [ * "8.8.8.8", * "114.114.114.114", * ], * projectName: "default", * }); * // create subnet * const fooSubnet = new volcengine.vpc.Subnet("fooSubnet", { * subnetName: "acc-test-subnet", * cidrBlock: "172.16.0.0/24", * zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id), * vpcId: fooVpc.id, * }); * // create escloud instance * const fooEscloudInstanceV2 = new volcengine.escloud_v2.EscloudInstanceV2("fooEscloudInstanceV2", { * instanceName: "acc-test-escloud-instance", * version: "V7_10", * zoneIds: [ * fooZones.then(fooZones => fooZones.zones?.[0]?.id), * fooZones.then(fooZones => fooZones.zones?.[1]?.id), * fooZones.then(fooZones => fooZones.zones?.[2]?.id), * ], * subnetId: fooSubnet.id, * enableHttps: false, * adminPassword: "Password@@123", * chargeType: "PostPaid", * autoRenew: false, * period: 1, * configurationCode: "es.standard", * enablePureMaster: true, * deletionProtection: false, * projectName: "default", * nodeSpecsAssigns: [ * { * type: "Master", * number: 3, * resourceSpecName: "es.x2.medium", * storageSpecName: "es.volume.essd.pl0", * storageSize: 20, * }, * { * type: "Hot", * number: 6, * resourceSpecName: "es.x2.medium", * storageSpecName: "es.volume.essd.flexpl-standard", * storageSize: 500, * extraPerformance: { * throughput: 65, * }, * }, * { * type: "Kibana", * number: 1, * resourceSpecName: "kibana.x2.small", * storageSpecName: "", * storageSize: 0, * }, * ], * networkSpecs: [ * { * type: "Elasticsearch", * bandwidth: 1, * isOpen: true, * specName: "es.eip.bgp_fixed_bandwidth", * }, * { * type: "Kibana", * bandwidth: 1, * isOpen: true, * specName: "es.eip.bgp_fixed_bandwidth", * }, * ], * tags: [{ * key: "k1", * value: "v1", * }], * }); * // create escloud ip white list * const fooEscloudIpWhiteList = new volcengine.escloud_v2.EscloudIpWhiteList("fooEscloudIpWhiteList", { * instanceId: fooEscloudInstanceV2.id, * type: "public", * component: "es", * ipLists: [ * "172.16.0.10", * "172.16.0.11", * "172.16.0.12", * ], * }); * ``` * * ## Import * * EscloudInstanceV2 can be imported using the id, e.g. * * ```sh * $ pulumi import volcengine:escloud_v2/escloudInstanceV2:EscloudInstanceV2 default resource_id * ``` */ export declare class EscloudInstanceV2 extends pulumi.CustomResource { /** * Get an existing EscloudInstanceV2 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?: EscloudInstanceV2State, opts?: pulumi.CustomResourceOptions): EscloudInstanceV2; /** * Returns true if the given object is an instance of EscloudInstanceV2. 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 EscloudInstanceV2; /** * The password of administrator account. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields. */ readonly adminPassword: pulumi.Output<string>; /** * Whether to automatically renew in prepaid scenarios. Default is false. */ readonly autoRenew: pulumi.Output<boolean | undefined>; /** * The cerebro private domain of instance. */ readonly cerebroPrivateDomain: pulumi.Output<string>; /** * The cerebro public domain of instance. */ readonly cerebroPublicDomain: pulumi.Output<string>; /** * The charge type of ESCloud instance, valid values: `PostPaid`, `PrePaid`. */ readonly chargeType: pulumi.Output<string>; /** * Configuration code used for billing. */ readonly configurationCode: pulumi.Output<string>; /** * Whether enable deletion protection for ESCloud instance. Default is false. */ readonly deletionProtection: pulumi.Output<boolean | undefined>; /** * Whether Https access is enabled. */ readonly enableHttps: pulumi.Output<boolean>; /** * Whether the Master node is independent. */ readonly enablePureMaster: pulumi.Output<boolean>; /** * The eip address of instance. */ readonly esEip: pulumi.Output<string>; /** * The eip id associated with the instance. */ readonly esEipId: pulumi.Output<string>; /** * The es private domain of instance. */ readonly esPrivateDomain: pulumi.Output<string>; /** * The es private endpoint of instance. */ readonly esPrivateEndpoint: pulumi.Output<string>; /** * The whitelist of es private ip. */ readonly esPrivateIpWhitelist: pulumi.Output<string>; /** * The es public domain of instance. */ readonly esPublicDomain: pulumi.Output<string>; /** * The es public endpoint of instance. */ readonly esPublicEndpoint: pulumi.Output<string>; /** * The whitelist of es public ip. */ readonly esPublicIpWhitelist: pulumi.Output<string>; /** * The name of ESCloud instance. */ readonly instanceName: pulumi.Output<string>; /** * The eip address of kibana. */ readonly kibanaEip: pulumi.Output<string>; /** * The eip id associated with kibana. */ readonly kibanaEipId: pulumi.Output<string>; /** * The kibana private domain of instance. */ readonly kibanaPrivateDomain: pulumi.Output<string>; /** * The whitelist of kibana private ip. */ readonly kibanaPrivateIpWhitelist: pulumi.Output<string>; /** * The kibana public domain of instance. */ readonly kibanaPublicDomain: pulumi.Output<string>; /** * The whitelist of kibana public ip. */ readonly kibanaPublicIpWhitelist: pulumi.Output<string>; /** * The main zone id of instance. */ readonly mainZoneId: pulumi.Output<string>; /** * The maintainable day for the instance. Valid values: `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`. Works only on modified scenes. */ readonly maintenanceDays: pulumi.Output<string[]>; /** * The maintainable time period for the instance. Works only on modified scenes. */ readonly maintenanceTime: pulumi.Output<string>; /** * The public network config of the ESCloud instance. */ readonly networkSpecs: pulumi.Output<outputs.escloud_v2.EscloudInstanceV2NetworkSpec[] | undefined>; /** * The number and configuration of various ESCloud instance node. Kibana NodeSpecsAssign should not be modified. */ readonly nodeSpecsAssigns: pulumi.Output<outputs.escloud_v2.EscloudInstanceV2NodeSpecsAssign[]>; /** * Purchase duration in prepaid scenarios. Unit: Monthly. */ readonly period: pulumi.Output<number | undefined>; /** * The project name to which the ESCloud instance belongs. */ readonly projectName: pulumi.Output<string>; /** * The status of instance. */ readonly status: pulumi.Output<string>; /** * The id of subnet, the subnet must belong to the AZ selected. */ readonly subnetId: pulumi.Output<string>; /** * Tags. */ readonly tags: pulumi.Output<outputs.escloud_v2.EscloudInstanceV2Tag[] | undefined>; /** * The version of instance. When creating ESCloud instance, the valid value is `V6_7` or `V7_10`. When creating OpenSearch instance, the valid value is `OPEN_SEARCH_2_9`. */ readonly version: pulumi.Output<string>; /** * The zone id of the ESCloud instance. Support specifying multiple availability zones. * The first zone id is the primary availability zone, while the rest are backup availability zones. */ readonly zoneIds: pulumi.Output<string[]>; /** * Create a EscloudInstanceV2 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: EscloudInstanceV2Args, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering EscloudInstanceV2 resources. */ export interface EscloudInstanceV2State { /** * The password of administrator account. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields. */ adminPassword?: pulumi.Input<string>; /** * Whether to automatically renew in prepaid scenarios. Default is false. */ autoRenew?: pulumi.Input<boolean>; /** * The cerebro private domain of instance. */ cerebroPrivateDomain?: pulumi.Input<string>; /** * The cerebro public domain of instance. */ cerebroPublicDomain?: pulumi.Input<string>; /** * The charge type of ESCloud instance, valid values: `PostPaid`, `PrePaid`. */ chargeType?: pulumi.Input<string>; /** * Configuration code used for billing. */ configurationCode?: pulumi.Input<string>; /** * Whether enable deletion protection for ESCloud instance. Default is false. */ deletionProtection?: pulumi.Input<boolean>; /** * Whether Https access is enabled. */ enableHttps?: pulumi.Input<boolean>; /** * Whether the Master node is independent. */ enablePureMaster?: pulumi.Input<boolean>; /** * The eip address of instance. */ esEip?: pulumi.Input<string>; /** * The eip id associated with the instance. */ esEipId?: pulumi.Input<string>; /** * The es private domain of instance. */ esPrivateDomain?: pulumi.Input<string>; /** * The es private endpoint of instance. */ esPrivateEndpoint?: pulumi.Input<string>; /** * The whitelist of es private ip. */ esPrivateIpWhitelist?: pulumi.Input<string>; /** * The es public domain of instance. */ esPublicDomain?: pulumi.Input<string>; /** * The es public endpoint of instance. */ esPublicEndpoint?: pulumi.Input<string>; /** * The whitelist of es public ip. */ esPublicIpWhitelist?: pulumi.Input<string>; /** * The name of ESCloud instance. */ instanceName?: pulumi.Input<string>; /** * The eip address of kibana. */ kibanaEip?: pulumi.Input<string>; /** * The eip id associated with kibana. */ kibanaEipId?: pulumi.Input<string>; /** * The kibana private domain of instance. */ kibanaPrivateDomain?: pulumi.Input<string>; /** * The whitelist of kibana private ip. */ kibanaPrivateIpWhitelist?: pulumi.Input<string>; /** * The kibana public domain of instance. */ kibanaPublicDomain?: pulumi.Input<string>; /** * The whitelist of kibana public ip. */ kibanaPublicIpWhitelist?: pulumi.Input<string>; /** * The main zone id of instance. */ mainZoneId?: pulumi.Input<string>; /** * The maintainable day for the instance. Valid values: `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`. Works only on modified scenes. */ maintenanceDays?: pulumi.Input<pulumi.Input<string>[]>; /** * The maintainable time period for the instance. Works only on modified scenes. */ maintenanceTime?: pulumi.Input<string>; /** * The public network config of the ESCloud instance. */ networkSpecs?: pulumi.Input<pulumi.Input<inputs.escloud_v2.EscloudInstanceV2NetworkSpec>[]>; /** * The number and configuration of various ESCloud instance node. Kibana NodeSpecsAssign should not be modified. */ nodeSpecsAssigns?: pulumi.Input<pulumi.Input<inputs.escloud_v2.EscloudInstanceV2NodeSpecsAssign>[]>; /** * Purchase duration in prepaid scenarios. Unit: Monthly. */ period?: pulumi.Input<number>; /** * The project name to which the ESCloud instance belongs. */ projectName?: pulumi.Input<string>; /** * The status of instance. */ status?: pulumi.Input<string>; /** * The id of subnet, the subnet must belong to the AZ selected. */ subnetId?: pulumi.Input<string>; /** * Tags. */ tags?: pulumi.Input<pulumi.Input<inputs.escloud_v2.EscloudInstanceV2Tag>[]>; /** * The version of instance. When creating ESCloud instance, the valid value is `V6_7` or `V7_10`. When creating OpenSearch instance, the valid value is `OPEN_SEARCH_2_9`. */ version?: pulumi.Input<string>; /** * The zone id of the ESCloud instance. Support specifying multiple availability zones. * The first zone id is the primary availability zone, while the rest are backup availability zones. */ zoneIds?: pulumi.Input<pulumi.Input<string>[]>; } /** * The set of arguments for constructing a EscloudInstanceV2 resource. */ export interface EscloudInstanceV2Args { /** * The password of administrator account. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields. */ adminPassword: pulumi.Input<string>; /** * Whether to automatically renew in prepaid scenarios. Default is false. */ autoRenew?: pulumi.Input<boolean>; /** * The charge type of ESCloud instance, valid values: `PostPaid`, `PrePaid`. */ chargeType: pulumi.Input<string>; /** * Configuration code used for billing. */ configurationCode: pulumi.Input<string>; /** * Whether enable deletion protection for ESCloud instance. Default is false. */ deletionProtection?: pulumi.Input<boolean>; /** * Whether Https access is enabled. */ enableHttps: pulumi.Input<boolean>; /** * Whether the Master node is independent. */ enablePureMaster?: pulumi.Input<boolean>; /** * The name of ESCloud instance. */ instanceName: pulumi.Input<string>; /** * The maintainable day for the instance. Valid values: `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`. Works only on modified scenes. */ maintenanceDays?: pulumi.Input<pulumi.Input<string>[]>; /** * The maintainable time period for the instance. Works only on modified scenes. */ maintenanceTime?: pulumi.Input<string>; /** * The public network config of the ESCloud instance. */ networkSpecs?: pulumi.Input<pulumi.Input<inputs.escloud_v2.EscloudInstanceV2NetworkSpec>[]>; /** * The number and configuration of various ESCloud instance node. Kibana NodeSpecsAssign should not be modified. */ nodeSpecsAssigns: pulumi.Input<pulumi.Input<inputs.escloud_v2.EscloudInstanceV2NodeSpecsAssign>[]>; /** * Purchase duration in prepaid scenarios. Unit: Monthly. */ period?: pulumi.Input<number>; /** * The project name to which the ESCloud instance belongs. */ projectName?: pulumi.Input<string>; /** * The id of subnet, the subnet must belong to the AZ selected. */ subnetId: pulumi.Input<string>; /** * Tags. */ tags?: pulumi.Input<pulumi.Input<inputs.escloud_v2.EscloudInstanceV2Tag>[]>; /** * The version of instance. When creating ESCloud instance, the valid value is `V6_7` or `V7_10`. When creating OpenSearch instance, the valid value is `OPEN_SEARCH_2_9`. */ version: pulumi.Input<string>; /** * The zone id of the ESCloud instance. Support specifying multiple availability zones. * The first zone id is the primary availability zone, while the rest are backup availability zones. */ zoneIds: pulumi.Input<pulumi.Input<string>[]>; }