@volcengine/pulumi
Version:
A Pulumi package for creating and managing volcengine cloud resources.
188 lines (187 loc) • 6.28 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
* Use this data source to query detailed information of mongodb endpoints
* ## 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({});
* const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
* vpcName: "acc-test-vpc",
* cidrBlock: "172.16.0.0/16",
* });
* 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,
* });
* const fooInstance = new volcengine.mongodb.Instance("fooInstance", {
* dbEngineVersion: "MongoDB_4_0",
* instanceType: "ShardedCluster",
* superAccountPassword: "@acc-test-123",
* nodeSpec: "mongo.shard.1c2g",
* mongosNodeSpec: "mongo.mongos.1c2g",
* instanceName: "acc-test-mongo-shard",
* chargeType: "PostPaid",
* projectName: "default",
* mongosNodeNumber: 2,
* shardNumber: 2,
* storageSpaceGb: 20,
* subnetId: fooSubnet.id,
* zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
* tags: [{
* key: "k1",
* value: "v1",
* }],
* });
* const fooAddress: volcengine.eip.Address[] = [];
* for (const range = {value: 0}; range.value < 2; range.value++) {
* fooAddress.push(new volcengine.eip.Address(`fooAddress-${range.value}`, {
* billingType: "PostPaidByBandwidth",
* bandwidth: 1,
* isp: "ChinaUnicom",
* description: "acc-test",
* projectName: "default",
* }));
* }
* const fooPublic = new volcengine.mongodb.Endpoint("fooPublic", {
* instanceId: fooInstance.id,
* networkType: "Public",
* objectId: fooInstance.mongosId,
* mongosNodeIds: [
* fooInstance.mongos.apply(mongos => mongos[0].mongosNodeId),
* fooInstance.mongos.apply(mongos => mongos[1].mongosNodeId),
* ],
* eipIds: fooAddress.map(__item => __item.id),
* });
* const fooPrivate = new volcengine.mongodb.Endpoint("fooPrivate", {
* instanceId: fooInstance.id,
* networkType: "Private",
* objectId: fooInstance.configServersId,
* });
* const fooEndpoints = volcengine.mongodb.getEndpointsOutput({
* instanceId: fooInstance.id,
* });
* ```
*/
export declare function getEndpoints(args?: GetEndpointsArgs, opts?: pulumi.InvokeOptions): Promise<GetEndpointsResult>;
/**
* A collection of arguments for invoking getEndpoints.
*/
export interface GetEndpointsArgs {
/**
* The instance ID to query.
*/
instanceId?: string;
/**
* File name where to save data source results.
*/
outputFile?: string;
}
/**
* A collection of values returned by getEndpoints.
*/
export interface GetEndpointsResult {
/**
* The collection of mongodb endpoints query.
*/
readonly endpoints: outputs.mongodb.GetEndpointsEndpoint[];
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
readonly instanceId?: string;
readonly outputFile?: string;
/**
* The total count of mongodb endpoint query.
*/
readonly totalCount: number;
}
/**
* Use this data source to query detailed information of mongodb endpoints
* ## 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({});
* const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
* vpcName: "acc-test-vpc",
* cidrBlock: "172.16.0.0/16",
* });
* 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,
* });
* const fooInstance = new volcengine.mongodb.Instance("fooInstance", {
* dbEngineVersion: "MongoDB_4_0",
* instanceType: "ShardedCluster",
* superAccountPassword: "@acc-test-123",
* nodeSpec: "mongo.shard.1c2g",
* mongosNodeSpec: "mongo.mongos.1c2g",
* instanceName: "acc-test-mongo-shard",
* chargeType: "PostPaid",
* projectName: "default",
* mongosNodeNumber: 2,
* shardNumber: 2,
* storageSpaceGb: 20,
* subnetId: fooSubnet.id,
* zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
* tags: [{
* key: "k1",
* value: "v1",
* }],
* });
* const fooAddress: volcengine.eip.Address[] = [];
* for (const range = {value: 0}; range.value < 2; range.value++) {
* fooAddress.push(new volcengine.eip.Address(`fooAddress-${range.value}`, {
* billingType: "PostPaidByBandwidth",
* bandwidth: 1,
* isp: "ChinaUnicom",
* description: "acc-test",
* projectName: "default",
* }));
* }
* const fooPublic = new volcengine.mongodb.Endpoint("fooPublic", {
* instanceId: fooInstance.id,
* networkType: "Public",
* objectId: fooInstance.mongosId,
* mongosNodeIds: [
* fooInstance.mongos.apply(mongos => mongos[0].mongosNodeId),
* fooInstance.mongos.apply(mongos => mongos[1].mongosNodeId),
* ],
* eipIds: fooAddress.map(__item => __item.id),
* });
* const fooPrivate = new volcengine.mongodb.Endpoint("fooPrivate", {
* instanceId: fooInstance.id,
* networkType: "Private",
* objectId: fooInstance.configServersId,
* });
* const fooEndpoints = volcengine.mongodb.getEndpointsOutput({
* instanceId: fooInstance.id,
* });
* ```
*/
export declare function getEndpointsOutput(args?: GetEndpointsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetEndpointsResult>;
/**
* A collection of arguments for invoking getEndpoints.
*/
export interface GetEndpointsOutputArgs {
/**
* The instance ID to query.
*/
instanceId?: pulumi.Input<string>;
/**
* File name where to save data source results.
*/
outputFile?: pulumi.Input<string>;
}