UNPKG

@volcengine/pulumi

Version:

A Pulumi package for creating and managing volcengine cloud resources.

254 lines (253 loc) 9.86 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Use this data source to query detailed information of veecp clusters * ## 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-project1", * cidrBlock: "172.16.0.0/16", * }); * const fooSubnet = new volcengine.vpc.Subnet("fooSubnet", { * subnetName: "acc-subnet-test-2", * cidrBlock: "172.16.0.0/24", * zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id), * vpcId: fooVpc.id, * }); * const fooSecurityGroup = new volcengine.vpc.SecurityGroup("fooSecurityGroup", { * vpcId: fooVpc.id, * securityGroupName: "acc-test-security-group2", * }); * const fooCluster = new volcengine.veecp.Cluster("fooCluster", { * description: "created by terraform", * deleteProtectionEnabled: false, * profile: "Edge", * clusterConfig: { * subnetIds: [fooSubnet.id], * apiServerPublicAccessEnabled: true, * apiServerPublicAccessConfig: { * publicAccessNetworkConfig: { * billingType: "PostPaidByBandwidth", * bandwidth: 1, * }, * }, * resourcePublicAccessDefaultEnabled: true, * }, * podsConfig: { * podNetworkMode: "Flannel", * flannelConfig: { * podCidrs: ["172.22.224.0/20"], * maxPodsPerNode: 64, * }, * }, * servicesConfig: { * serviceCidrsv4s: ["172.30.0.0/18"], * }, * }); * const fooClusters = volcengine.veecp.getClustersOutput({ * ids: [fooCluster.id], * }); * ``` */ export declare function getClusters(args?: GetClustersArgs, opts?: pulumi.InvokeOptions): Promise<GetClustersResult>; /** * A collection of arguments for invoking getClusters. */ export interface GetClustersArgs { /** * ClientToken when the cluster is created successfully. ClientToken is a string that guarantees the idempotency of the request. This string is passed in by the caller. */ createClientToken?: string; /** * Cluster deletion protection. Values: true: Enable deletion protection. false: Disable deletion protection. */ deleteProtectionEnabled?: boolean; /** * Whether to enable the edge tunnel. The value is `true` or `false`. */ edgeTunnelEnabled?: boolean; /** * Cluster ID. Supports exact matching. A maximum of 100 array elements can be filled in at a time. Note: When this parameter is an empty array, filtering is based on all clusters in the specified region under the account. */ ids?: string[]; /** * Cluster name. */ name?: string; /** * A Name Regex of Cluster. */ nameRegex?: string; /** * File name where to save data source results. */ outputFile?: string; /** * The container network model of the cluster, the value is `Flannel` or `VpcCniShared`. Flannel: Flannel network model, an independent Underlay container network solution, combined with the global routing capability of VPC, to achieve a high-performance network experience for the cluster. VpcCniShared: VPC-CNI network model, an Underlay container network solution based on the ENI of the private network elastic network card, with high network communication performance. */ podsConfigPodNetworkMode?: string; /** * Filter by cluster scenario: Cloud: non-edge cluster; Edge: edge cluster. */ profiles?: string[]; /** * Array of cluster states to filter. (The elements of the array are logically ORed. A maximum of 15 state array elements can be filled at a time). */ statuses?: inputs.veecp.GetClustersStatus[]; /** * The ClientToken when the last cluster update succeeded. ClientToken is a string that guarantees the idempotency of the request. This string is passed in by the caller. */ updateClientToken?: string; } /** * A collection of values returned by getClusters. */ export interface GetClustersResult { /** * The collection of query. */ readonly clusters: outputs.veecp.GetClustersCluster[]; /** * ClientToken when creation is successful. ClientToken is a string that guarantees request idempotency. This string is passed in by the caller. */ readonly createClientToken?: string; /** * The delete protection of the cluster, the value is `true` or `false`. */ readonly deleteProtectionEnabled?: boolean; readonly edgeTunnelEnabled?: boolean; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly ids?: string[]; /** * Cluster name. */ readonly name?: string; readonly nameRegex?: string; readonly outputFile?: string; readonly podsConfigPodNetworkMode?: string; readonly profiles?: string[]; readonly statuses?: outputs.veecp.GetClustersStatus[]; /** * The total count of query. */ readonly totalCount: number; /** * ClientToken when the last update was successful. ClientToken is a string that guarantees request idempotency. This string is passed in by the caller. */ readonly updateClientToken?: string; } /** * Use this data source to query detailed information of veecp clusters * ## 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-project1", * cidrBlock: "172.16.0.0/16", * }); * const fooSubnet = new volcengine.vpc.Subnet("fooSubnet", { * subnetName: "acc-subnet-test-2", * cidrBlock: "172.16.0.0/24", * zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id), * vpcId: fooVpc.id, * }); * const fooSecurityGroup = new volcengine.vpc.SecurityGroup("fooSecurityGroup", { * vpcId: fooVpc.id, * securityGroupName: "acc-test-security-group2", * }); * const fooCluster = new volcengine.veecp.Cluster("fooCluster", { * description: "created by terraform", * deleteProtectionEnabled: false, * profile: "Edge", * clusterConfig: { * subnetIds: [fooSubnet.id], * apiServerPublicAccessEnabled: true, * apiServerPublicAccessConfig: { * publicAccessNetworkConfig: { * billingType: "PostPaidByBandwidth", * bandwidth: 1, * }, * }, * resourcePublicAccessDefaultEnabled: true, * }, * podsConfig: { * podNetworkMode: "Flannel", * flannelConfig: { * podCidrs: ["172.22.224.0/20"], * maxPodsPerNode: 64, * }, * }, * servicesConfig: { * serviceCidrsv4s: ["172.30.0.0/18"], * }, * }); * const fooClusters = volcengine.veecp.getClustersOutput({ * ids: [fooCluster.id], * }); * ``` */ export declare function getClustersOutput(args?: GetClustersOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetClustersResult>; /** * A collection of arguments for invoking getClusters. */ export interface GetClustersOutputArgs { /** * ClientToken when the cluster is created successfully. ClientToken is a string that guarantees the idempotency of the request. This string is passed in by the caller. */ createClientToken?: pulumi.Input<string>; /** * Cluster deletion protection. Values: true: Enable deletion protection. false: Disable deletion protection. */ deleteProtectionEnabled?: pulumi.Input<boolean>; /** * Whether to enable the edge tunnel. The value is `true` or `false`. */ edgeTunnelEnabled?: pulumi.Input<boolean>; /** * Cluster ID. Supports exact matching. A maximum of 100 array elements can be filled in at a time. Note: When this parameter is an empty array, filtering is based on all clusters in the specified region under the account. */ ids?: pulumi.Input<pulumi.Input<string>[]>; /** * Cluster name. */ name?: pulumi.Input<string>; /** * A Name Regex of Cluster. */ nameRegex?: pulumi.Input<string>; /** * File name where to save data source results. */ outputFile?: pulumi.Input<string>; /** * The container network model of the cluster, the value is `Flannel` or `VpcCniShared`. Flannel: Flannel network model, an independent Underlay container network solution, combined with the global routing capability of VPC, to achieve a high-performance network experience for the cluster. VpcCniShared: VPC-CNI network model, an Underlay container network solution based on the ENI of the private network elastic network card, with high network communication performance. */ podsConfigPodNetworkMode?: pulumi.Input<string>; /** * Filter by cluster scenario: Cloud: non-edge cluster; Edge: edge cluster. */ profiles?: pulumi.Input<pulumi.Input<string>[]>; /** * Array of cluster states to filter. (The elements of the array are logically ORed. A maximum of 15 state array elements can be filled at a time). */ statuses?: pulumi.Input<pulumi.Input<inputs.veecp.GetClustersStatusArgs>[]>; /** * The ClientToken when the last cluster update succeeded. ClientToken is a string that guarantees the idempotency of the request. This string is passed in by the caller. */ updateClientToken?: pulumi.Input<string>; }