@volcengine/pulumi
Version:
A Pulumi package for creating and managing volcengine cloud resources.
513 lines (512 loc) • 17.5 kB
TypeScript
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>[]>;
}