import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * A high availability virtual IP (HAVIP) is a private IP resource that can be independently owned, created, or deleted at any time based on business needs. In primary/secondary cluster scenarios, HAVIP is typically used with high availability software (such as Keepalived or Windows Server Failover Cluster) to build high availability primary/secondary services * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcenginecc from "@volcengine/pulumi-volcenginecc"; * * const vPCHAVIPDemo = new volcenginecc.vpc.HaVip("VPCHAVIPDemo", { * associatedEipId: "eip-1a1tzpbhmsphc8nvexxxxx", * associatedInstanceIds: [ * "eni-btw4pmtcabr45h0b2xxxxx", * "eni-iiotcbjp7r4074o8xxxxx", * "eni-3nrjyim6prm68931ebbxxxxx", * ], * associatedInstanceType: "NetworkInterface", * description: "this is a test", * haVipName: "HaVip-test", * ipAddress: "192.***.0.9", * subnetId: "subnet-rrwqhg3qzxfkv0x57xxxxx", * tags: [{ * key: "env", * value: "test", * }], * }); * ``` * * ## Import * * ```sh * $ pulumi import volcenginecc:vpc/haVip:HaVip example "ha_vip_id" * ``` */ export declare class HaVip extends pulumi.CustomResource { /** * Get an existing HaVip 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?: HaVipState, opts?: pulumi.CustomResourceOptions): HaVip; /** * Returns true if the given object is an instance of HaVip. 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 HaVip; /** * IP address of the public IP bound to the HAVIP */ readonly associatedEipAddress: pulumi.Output; /** * ID of the public IP bound to the HAVIP */ readonly associatedEipId: pulumi.Output; /** * List of instance IDs bound to the HAVIP */ readonly associatedInstanceIds: pulumi.Output; /** * Instance type bound to the HAVIP. EcsInstance: cloud server instance. NetworkInterface: elastic network interface */ readonly associatedInstanceType: pulumi.Output; /** * Creation time of the HAVIP */ readonly createdAt: pulumi.Output; /** * Description of the HAVIP. Length limit: 0–255 characters */ readonly description: pulumi.Output; /** * ID of the HAVIP */ readonly haVipId: pulumi.Output; /** * Name of the HAVIP. Must start with a letter, number, or Chinese character, and can include letters, numbers, Chinese characters, and the following special characters: period (.), underscore (_), and hyphen (-). Length limit: 0–128 characters */ readonly haVipName: pulumi.Output; /** * IP address of the HAVIP */ readonly ipAddress: pulumi.Output; /** * ID of the primary instance bound to the HAVIP */ readonly masterInstanceId: pulumi.Output; /** * Project name of the HAVIP */ readonly projectName: pulumi.Output; /** * Status of the HAVIP. Available: available. Creating: creating. InUse: in use. Deleting: deleting */ readonly status: pulumi.Output; /** * Subnet ID to which the HAVIP belongs */ readonly subnetId: pulumi.Output; readonly tags: pulumi.Output; /** * Last modification time of the HAVIP */ readonly updatedAt: pulumi.Output; /** * VPC ID to which the HAVIP belongs */ readonly vpcId: pulumi.Output; /** * Create a HaVip 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: HaVipArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering HaVip resources. */ export interface HaVipState { /** * IP address of the public IP bound to the HAVIP */ associatedEipAddress?: pulumi.Input; /** * ID of the public IP bound to the HAVIP */ associatedEipId?: pulumi.Input; /** * List of instance IDs bound to the HAVIP */ associatedInstanceIds?: pulumi.Input[]>; /** * Instance type bound to the HAVIP. EcsInstance: cloud server instance. NetworkInterface: elastic network interface */ associatedInstanceType?: pulumi.Input; /** * Creation time of the HAVIP */ createdAt?: pulumi.Input; /** * Description of the HAVIP. Length limit: 0–255 characters */ description?: pulumi.Input; /** * ID of the HAVIP */ haVipId?: pulumi.Input; /** * Name of the HAVIP. Must start with a letter, number, or Chinese character, and can include letters, numbers, Chinese characters, and the following special characters: period (.), underscore (_), and hyphen (-). Length limit: 0–128 characters */ haVipName?: pulumi.Input; /** * IP address of the HAVIP */ ipAddress?: pulumi.Input; /** * ID of the primary instance bound to the HAVIP */ masterInstanceId?: pulumi.Input; /** * Project name of the HAVIP */ projectName?: pulumi.Input; /** * Status of the HAVIP. Available: available. Creating: creating. InUse: in use. Deleting: deleting */ status?: pulumi.Input; /** * Subnet ID to which the HAVIP belongs */ subnetId?: pulumi.Input; tags?: pulumi.Input[]>; /** * Last modification time of the HAVIP */ updatedAt?: pulumi.Input; /** * VPC ID to which the HAVIP belongs */ vpcId?: pulumi.Input; } /** * The set of arguments for constructing a HaVip resource. */ export interface HaVipArgs { /** * ID of the public IP bound to the HAVIP */ associatedEipId?: pulumi.Input; /** * List of instance IDs bound to the HAVIP */ associatedInstanceIds?: pulumi.Input[]>; /** * Instance type bound to the HAVIP. EcsInstance: cloud server instance. NetworkInterface: elastic network interface */ associatedInstanceType?: pulumi.Input; /** * Description of the HAVIP. Length limit: 0–255 characters */ description?: pulumi.Input; /** * Name of the HAVIP. Must start with a letter, number, or Chinese character, and can include letters, numbers, Chinese characters, and the following special characters: period (.), underscore (_), and hyphen (-). Length limit: 0–128 characters */ haVipName?: pulumi.Input; /** * IP address of the HAVIP */ ipAddress?: pulumi.Input; /** * Subnet ID to which the HAVIP belongs */ subnetId: pulumi.Input; tags?: pulumi.Input[]>; }