import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "./types"; /** * Manages a Greenplum cluster within the Yandex.Cloud. For more information, see * [the official documentation](https://cloud.yandex.ru/docs/managed-greenplum/). * * Please read [Pricing for Managed Service for Greenplum](https://cloud.yandex.ru/docs/managed-greenplum/) before using Greenplum cluster. * * Yandex Managed Service for Greenplum® is now in preview * * ## Example Usage * * Example of creating a Single Node Greenplum. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as yandex from "@pulumi/yandex"; * * const fooVpcNetwork = new yandex.VpcNetwork("fooVpcNetwork", {}); * const fooVpcSubnet = new yandex.VpcSubnet("fooVpcSubnet", { * zone: "ru-central1-a", * networkId: fooVpcNetwork.id, * v4CidrBlocks: ["10.5.0.0/24"], * }); * const test_sg_x = new yandex.VpcSecurityGroup("test-sg-x", { * networkId: fooVpcNetwork.id, * ingresses: [{ * protocol: "ANY", * description: "Allow incoming traffic from members of the same security group", * fromPort: 0, * toPort: 65535, * v4CidrBlocks: ["0.0.0.0/0"], * }], * egresses: [{ * protocol: "ANY", * description: "Allow outgoing traffic to members of the same security group", * fromPort: 0, * toPort: 65535, * v4CidrBlocks: ["0.0.0.0/0"], * }], * }); * const fooMdbGreenplumCluster = new yandex.MdbGreenplumCluster("fooMdbGreenplumCluster", { * description: "test greenplum cluster", * environment: "PRESTABLE", * networkId: fooVpcNetwork.id, * zoneId: "ru-central1-a", * subnetId: fooVpcSubnet.id, * assignPublicIp: true, * version: "6.17", * masterHostCount: 2, * segmentHostCount: 5, * segmentInHost: 1, * masterSubcluster: { * resources: { * resourcePresetId: "s2.micro", * diskSize: 24, * diskTypeId: "network-ssd", * }, * }, * segmentSubcluster: { * resources: { * resourcePresetId: "s2.micro", * diskSize: 24, * diskTypeId: "network-ssd", * }, * }, * access: { * webSql: true, * }, * userName: "admin_user", * userPassword: "your_super_secret_password", * securityGroupIds: [test_sg_x.id], * }); * ``` * * ## Import * * A cluster can be imported using the `id` of the resource, e.g. * * ```sh * $ pulumi import yandex:index/mdbGreenplumCluster:MdbGreenplumCluster foo cluster_id * ``` */ export declare class MdbGreenplumCluster extends pulumi.CustomResource { /** * Get an existing MdbGreenplumCluster 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, state?: MdbGreenplumClusterState, opts?: pulumi.CustomResourceOptions): MdbGreenplumCluster; /** * Returns true if the given object is an instance of MdbGreenplumCluster. 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 MdbGreenplumCluster; /** * Access policy to the Greenplum cluster. The structure is documented below. */ readonly access: pulumi.Output; /** * Sets whether the master hosts should get a public IP address on creation. Changing this parameter for an existing host is not supported at the moment. */ readonly assignPublicIp: pulumi.Output; /** * Time to start the daily backup, in the UTC timezone. The structure is documented below. */ readonly backupWindowStart: pulumi.Output; /** * Creation timestamp of the cluster. */ readonly createdAt: pulumi.Output; /** * Inhibits deletion of the cluster. Can be either `true` or `false`. */ readonly deletionProtection: pulumi.Output; /** * Description of the Greenplum cluster. */ readonly description: pulumi.Output; /** * Deployment environment of the Greenplum cluster. (PRODUCTION, PRESTABLE) */ readonly environment: pulumi.Output; /** * The ID of the folder that the resource belongs to. If it * is not provided, the default provider folder is used. */ readonly folderId: pulumi.Output; /** * Aggregated health of the cluster. */ readonly health: pulumi.Output; /** * A set of key/value label pairs to assign to the Greenplum cluster. */ readonly labels: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Number of hosts in master subcluster (1 or 2). */ readonly masterHostCount: pulumi.Output; /** * (Computed) Info about hosts in master subcluster. The structure is documented below. */ readonly masterHosts: pulumi.Output; /** * Settings for master subcluster. The structure is documented below. */ readonly masterSubcluster: pulumi.Output; /** * Name of the Greenplum cluster. Provided by the client when the cluster is created. */ readonly name: pulumi.Output; /** * ID of the network, to which the Greenplum cluster uses. */ readonly networkId: pulumi.Output; /** * A set of ids of security groups assigned to hosts of the cluster. */ readonly securityGroupIds: pulumi.Output; /** * Number of hosts in segment subcluster (from 1 to 32). */ readonly segmentHostCount: pulumi.Output; /** * (Computed) Info about hosts in segment subcluster. The structure is documented below. */ readonly segmentHosts: pulumi.Output; /** * Number of segments on segment host (not more then 1 + RAM/8). */ readonly segmentInHost: pulumi.Output; /** * Settings for segment subcluster. The structure is documented below. */ readonly segmentSubcluster: pulumi.Output; /** * Status of the cluster. */ readonly status: pulumi.Output; /** * The ID of the subnet, to which the hosts belongs. The subnet must be a part of the network to which the cluster belongs. */ readonly subnetId: pulumi.Output; /** * Greenplum cluster admin user name. */ readonly userName: pulumi.Output; /** * Greenplum cluster admin password name. */ readonly userPassword: pulumi.Output; /** * Version of the Greenplum cluster. (6.17) */ readonly version: pulumi.Output; /** * The availability zone where the Greenplum hosts will be created. */ readonly zone: pulumi.Output; /** * Create a MdbGreenplumCluster 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: MdbGreenplumClusterArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering MdbGreenplumCluster resources. */ export interface MdbGreenplumClusterState { /** * Access policy to the Greenplum cluster. The structure is documented below. */ access?: pulumi.Input; /** * Sets whether the master hosts should get a public IP address on creation. Changing this parameter for an existing host is not supported at the moment. */ assignPublicIp?: pulumi.Input; /** * Time to start the daily backup, in the UTC timezone. The structure is documented below. */ backupWindowStart?: pulumi.Input; /** * Creation timestamp of the cluster. */ createdAt?: pulumi.Input; /** * Inhibits deletion of the cluster. Can be either `true` or `false`. */ deletionProtection?: pulumi.Input; /** * Description of the Greenplum cluster. */ description?: pulumi.Input; /** * Deployment environment of the Greenplum cluster. (PRODUCTION, PRESTABLE) */ environment?: pulumi.Input; /** * The ID of the folder that the resource belongs to. If it * is not provided, the default provider folder is used. */ folderId?: pulumi.Input; /** * Aggregated health of the cluster. */ health?: pulumi.Input; /** * A set of key/value label pairs to assign to the Greenplum cluster. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Number of hosts in master subcluster (1 or 2). */ masterHostCount?: pulumi.Input; /** * (Computed) Info about hosts in master subcluster. The structure is documented below. */ masterHosts?: pulumi.Input[]>; /** * Settings for master subcluster. The structure is documented below. */ masterSubcluster?: pulumi.Input; /** * Name of the Greenplum cluster. Provided by the client when the cluster is created. */ name?: pulumi.Input; /** * ID of the network, to which the Greenplum cluster uses. */ networkId?: pulumi.Input; /** * A set of ids of security groups assigned to hosts of the cluster. */ securityGroupIds?: pulumi.Input[]>; /** * Number of hosts in segment subcluster (from 1 to 32). */ segmentHostCount?: pulumi.Input; /** * (Computed) Info about hosts in segment subcluster. The structure is documented below. */ segmentHosts?: pulumi.Input[]>; /** * Number of segments on segment host (not more then 1 + RAM/8). */ segmentInHost?: pulumi.Input; /** * Settings for segment subcluster. The structure is documented below. */ segmentSubcluster?: pulumi.Input; /** * Status of the cluster. */ status?: pulumi.Input; /** * The ID of the subnet, to which the hosts belongs. The subnet must be a part of the network to which the cluster belongs. */ subnetId?: pulumi.Input; /** * Greenplum cluster admin user name. */ userName?: pulumi.Input; /** * Greenplum cluster admin password name. */ userPassword?: pulumi.Input; /** * Version of the Greenplum cluster. (6.17) */ version?: pulumi.Input; /** * The availability zone where the Greenplum hosts will be created. */ zone?: pulumi.Input; } /** * The set of arguments for constructing a MdbGreenplumCluster resource. */ export interface MdbGreenplumClusterArgs { /** * Access policy to the Greenplum cluster. The structure is documented below. */ access?: pulumi.Input; /** * Sets whether the master hosts should get a public IP address on creation. Changing this parameter for an existing host is not supported at the moment. */ assignPublicIp: pulumi.Input; /** * Time to start the daily backup, in the UTC timezone. The structure is documented below. */ backupWindowStart?: pulumi.Input; /** * Inhibits deletion of the cluster. Can be either `true` or `false`. */ deletionProtection?: pulumi.Input; /** * Description of the Greenplum cluster. */ description?: pulumi.Input; /** * Deployment environment of the Greenplum cluster. (PRODUCTION, PRESTABLE) */ environment: pulumi.Input; /** * The ID of the folder that the resource belongs to. If it * is not provided, the default provider folder is used. */ folderId?: pulumi.Input; /** * A set of key/value label pairs to assign to the Greenplum cluster. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Number of hosts in master subcluster (1 or 2). */ masterHostCount: pulumi.Input; /** * Settings for master subcluster. The structure is documented below. */ masterSubcluster: pulumi.Input; /** * Name of the Greenplum cluster. Provided by the client when the cluster is created. */ name?: pulumi.Input; /** * ID of the network, to which the Greenplum cluster uses. */ networkId: pulumi.Input; /** * A set of ids of security groups assigned to hosts of the cluster. */ securityGroupIds?: pulumi.Input[]>; /** * Number of hosts in segment subcluster (from 1 to 32). */ segmentHostCount: pulumi.Input; /** * Number of segments on segment host (not more then 1 + RAM/8). */ segmentInHost: pulumi.Input; /** * Settings for segment subcluster. The structure is documented below. */ segmentSubcluster: pulumi.Input; /** * The ID of the subnet, to which the hosts belongs. The subnet must be a part of the network to which the cluster belongs. */ subnetId: pulumi.Input; /** * Greenplum cluster admin user name. */ userName: pulumi.Input; /** * Greenplum cluster admin password name. */ userPassword: pulumi.Input; /** * Version of the Greenplum cluster. (6.17) */ version: pulumi.Input; /** * The availability zone where the Greenplum hosts will be created. */ zone: pulumi.Input; }