@huaweicloudos/pulumi
Version:
A Pulumi package for creating and managing Huaweicloud cloud resources.
232 lines • 11.5 kB
JavaScript
;
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.Cluster = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
/**
* Manages CSS cluster resource within HuaweiCloud
*
* ## Example Usage
* ### create a cluster
*
* ```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 cluster = new huaweicloud.css.Cluster("cluster", {
* engineVersion: "7.10.2",
* essNodeConfig: {
* flavor: "ess.spec-4u8g",
* instanceNumber: 1,
* volume: {
* volumeType: "HIGH",
* size: 40,
* },
* },
* availabilityZone: availabilityZone,
* vpcId: vpcId,
* subnetId: subnetId,
* securityGroupId: secgroupId,
* });
* ```
* ### create a cluster with ess-data node and master node
*
* ```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 cluster = new huaweicloud.css.Cluster("cluster", {
* engineVersion: "7.10.2",
* essNodeConfig: {
* flavor: "ess.spec-4u8g",
* instanceNumber: 1,
* volume: {
* volumeType: "HIGH",
* size: 40,
* },
* },
* masterNodeConfig: {
* flavor: "ess.spec-4u8g",
* instanceNumber: 3,
* volume: {
* volumeType: "HIGH",
* size: 40,
* },
* },
* availabilityZone: availabilityZone,
* vpcId: vpcId,
* subnetId: subnetId,
* securityGroupId: secgroupId,
* });
* ```
* ### create a cluster with ess-data node and cold node use local disk
*
* ```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 cluster = new huaweicloud.css.Cluster("cluster", {
* engineVersion: "7.10.2",
* essNodeConfig: {
* flavor: "ess.spec-ds.xlarge.8",
* instanceNumber: 1,
* },
* coldNodeConfig: {
* flavor: "ess.spec-ds.2xlarge.8",
* instanceNumber: 2,
* },
* availabilityZone: availabilityZone,
* vpcId: vpcId,
* subnetId: subnetId,
* securityGroupId: secgroupId,
* });
* ```
*
* ## Import
*
* The CSS cluster can be imported by `id`, e.g. bash
*
* ```sh
* $ pulumi import huaweicloud:Css/cluster:Cluster test <id>
* ```
*/
class Cluster extends pulumi.CustomResource {
/**
* Get an existing Cluster 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, id, state, opts) {
return new Cluster(name, state, Object.assign(Object.assign({}, opts), { id: id }));
}
/**
* Returns true if the given object is an instance of Cluster. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === Cluster.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["autoRenew"] = state ? state.autoRenew : undefined;
resourceInputs["availabilityZone"] = state ? state.availabilityZone : undefined;
resourceInputs["backupAvailable"] = state ? state.backupAvailable : undefined;
resourceInputs["backupStrategy"] = state ? state.backupStrategy : undefined;
resourceInputs["bandwidthResourceId"] = state ? state.bandwidthResourceId : undefined;
resourceInputs["chargingMode"] = state ? state.chargingMode : undefined;
resourceInputs["clientNodeConfig"] = state ? state.clientNodeConfig : undefined;
resourceInputs["coldNodeConfig"] = state ? state.coldNodeConfig : undefined;
resourceInputs["created"] = state ? state.created : undefined;
resourceInputs["createdAt"] = state ? state.createdAt : undefined;
resourceInputs["diskEncrypted"] = state ? state.diskEncrypted : undefined;
resourceInputs["enableForceNew"] = state ? state.enableForceNew : undefined;
resourceInputs["endpoint"] = state ? state.endpoint : undefined;
resourceInputs["engineType"] = state ? state.engineType : undefined;
resourceInputs["engineVersion"] = state ? state.engineVersion : undefined;
resourceInputs["enterpriseProjectId"] = state ? state.enterpriseProjectId : undefined;
resourceInputs["essNodeConfig"] = state ? state.essNodeConfig : undefined;
resourceInputs["expectNodeNum"] = state ? state.expectNodeNum : undefined;
resourceInputs["httpsEnabled"] = state ? state.httpsEnabled : undefined;
resourceInputs["isPeriod"] = state ? state.isPeriod : undefined;
resourceInputs["kibanaPublicAccess"] = state ? state.kibanaPublicAccess : undefined;
resourceInputs["masterNodeConfig"] = state ? state.masterNodeConfig : undefined;
resourceInputs["name"] = state ? state.name : undefined;
resourceInputs["nodeConfig"] = state ? state.nodeConfig : undefined;
resourceInputs["nodes"] = state ? state.nodes : undefined;
resourceInputs["password"] = state ? state.password : undefined;
resourceInputs["period"] = state ? state.period : undefined;
resourceInputs["periodUnit"] = state ? state.periodUnit : undefined;
resourceInputs["publicAccess"] = state ? state.publicAccess : undefined;
resourceInputs["region"] = state ? state.region : undefined;
resourceInputs["securityGroupId"] = state ? state.securityGroupId : undefined;
resourceInputs["securityMode"] = state ? state.securityMode : undefined;
resourceInputs["status"] = state ? state.status : undefined;
resourceInputs["subnetId"] = state ? state.subnetId : undefined;
resourceInputs["tags"] = state ? state.tags : undefined;
resourceInputs["updatedAt"] = state ? state.updatedAt : undefined;
resourceInputs["vpcId"] = state ? state.vpcId : undefined;
resourceInputs["vpcepEndpoint"] = state ? state.vpcepEndpoint : undefined;
resourceInputs["vpcepEndpointId"] = state ? state.vpcepEndpointId : undefined;
resourceInputs["vpcepIp"] = state ? state.vpcepIp : undefined;
}
else {
const args = argsOrState;
if ((!args || args.engineVersion === undefined) && !opts.urn) {
throw new Error("Missing required property 'engineVersion'");
}
resourceInputs["autoRenew"] = args ? args.autoRenew : undefined;
resourceInputs["availabilityZone"] = args ? args.availabilityZone : undefined;
resourceInputs["backupStrategy"] = args ? args.backupStrategy : undefined;
resourceInputs["chargingMode"] = args ? args.chargingMode : undefined;
resourceInputs["clientNodeConfig"] = args ? args.clientNodeConfig : undefined;
resourceInputs["coldNodeConfig"] = args ? args.coldNodeConfig : undefined;
resourceInputs["enableForceNew"] = args ? args.enableForceNew : undefined;
resourceInputs["engineType"] = args ? args.engineType : undefined;
resourceInputs["engineVersion"] = args ? args.engineVersion : undefined;
resourceInputs["enterpriseProjectId"] = args ? args.enterpriseProjectId : undefined;
resourceInputs["essNodeConfig"] = args ? args.essNodeConfig : undefined;
resourceInputs["expectNodeNum"] = args ? args.expectNodeNum : undefined;
resourceInputs["httpsEnabled"] = args ? args.httpsEnabled : undefined;
resourceInputs["kibanaPublicAccess"] = args ? args.kibanaPublicAccess : undefined;
resourceInputs["masterNodeConfig"] = args ? args.masterNodeConfig : undefined;
resourceInputs["name"] = args ? args.name : undefined;
resourceInputs["nodeConfig"] = args ? args.nodeConfig : undefined;
resourceInputs["password"] = args ? args.password : undefined;
resourceInputs["period"] = args ? args.period : undefined;
resourceInputs["periodUnit"] = args ? args.periodUnit : undefined;
resourceInputs["publicAccess"] = args ? args.publicAccess : undefined;
resourceInputs["region"] = args ? args.region : undefined;
resourceInputs["securityGroupId"] = args ? args.securityGroupId : undefined;
resourceInputs["securityMode"] = args ? args.securityMode : undefined;
resourceInputs["subnetId"] = args ? args.subnetId : undefined;
resourceInputs["tags"] = args ? args.tags : undefined;
resourceInputs["vpcId"] = args ? args.vpcId : undefined;
resourceInputs["vpcepEndpoint"] = args ? args.vpcepEndpoint : undefined;
resourceInputs["backupAvailable"] = undefined /*out*/;
resourceInputs["bandwidthResourceId"] = undefined /*out*/;
resourceInputs["created"] = undefined /*out*/;
resourceInputs["createdAt"] = undefined /*out*/;
resourceInputs["diskEncrypted"] = undefined /*out*/;
resourceInputs["endpoint"] = undefined /*out*/;
resourceInputs["isPeriod"] = undefined /*out*/;
resourceInputs["nodes"] = undefined /*out*/;
resourceInputs["status"] = undefined /*out*/;
resourceInputs["updatedAt"] = undefined /*out*/;
resourceInputs["vpcepEndpointId"] = undefined /*out*/;
resourceInputs["vpcepIp"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(Cluster.__pulumiType, name, resourceInputs, opts);
}
}
exports.Cluster = Cluster;
/** @internal */
Cluster.__pulumiType = 'huaweicloud:Css/cluster:Cluster';
//# sourceMappingURL=cluster.js.map