import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Application Load Balancer (ALB) is a service that distributes traffic for Layer 7 network protocols. * * ## Import * * ```sh * $ pulumi import volcenginecc:alb/loadBalancer:LoadBalancer example "load_balancer_id" * ``` */ export declare class LoadBalancer extends pulumi.CustomResource { /** * Get an existing LoadBalancer 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?: LoadBalancerState, opts?: pulumi.CustomResourceOptions): LoadBalancer; /** * Returns true if the given object is an instance of LoadBalancer. 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 LoadBalancer; /** * IP type of the ALB instance. IPv4: IPv4 type; DualStack: IPv4 & IPv6 dual stack type. */ readonly addressIpVersion: pulumi.Output; /** * ID of the bound shared bandwidth package, enabling bandwidth sharing. */ readonly bandwidthPackageId: pulumi.Output; /** * Service status of the ALB instance. Normal: normal; FinancialLocked: locked due to overdue payment. */ readonly businessStatus: pulumi.Output; /** * Creation time of the ALB instance. */ readonly createTime: pulumi.Output; /** * Delete protection switch. on: enabled; off: disabled. */ readonly deleteProtection: pulumi.Output; /** * Expected reclamation time of the ALB instance. This parameter is only returned when the instance is in the FinancialLocked state. */ readonly deletedTime: pulumi.Output; /** * Description of the ALB instance. */ readonly description: pulumi.Output; /** * DNS domain name. */ readonly dnsName: pulumi.Output; /** * Billing configuration for public IP, only applicable to public instances. */ readonly eipBillingConfig: pulumi.Output; /** * Global accelerator configuration, used to improve cross-region access speed. */ readonly globalAccelerator: pulumi.Output; /** * Health check log information in the ALB instance */ readonly healthLog: pulumi.Output; /** * When creating a public ALB instance, specify the shared bandwidth package ID to which the IPv6 public bandwidth will be added. */ readonly ipv6BandwidthPackageId: pulumi.Output; /** * Billing configuration for IPv6 public IP, only applicable to public instances. */ readonly ipv6EipBillingConfig: pulumi.Output; /** * ALB instance billing type. Currently, only pay-as-you-go is supported (value is 1). */ readonly loadBalancerBillingType: pulumi.Output; /** * Version of the application load balancer. Basic: Basic version; Standard: Standard version. */ readonly loadBalancerEdition: pulumi.Output; /** * ALB instance ID. */ readonly loadBalancerId: pulumi.Output; /** * Name of the ALB instance. */ readonly loadBalancerName: pulumi.Output; /** * Reason for ALB instance freeze, such as Financial (arrears) or Security (security reasons). Returned only when the instance is locked. */ readonly lockReason: pulumi.Output; /** * Reason for modification protection. This parameter is valid and legitimate only when ModificationProtectionStatus is ConsoleProtection. */ readonly modificationProtectionReason: pulumi.Output; /** * Modification protection status. NonProtection: Not protected; ConsoleProtection: Console modification protection, instance configuration cannot be modified through the console. */ readonly modificationProtectionStatus: pulumi.Output; /** * Freeze time of the ALB instance. This parameter is only returned when the instance is in the FinancialLocked state. */ readonly overdueTime: pulumi.Output; /** * Name of the project to which the instance belongs. */ readonly projectName: pulumi.Output; /** * ALB supports the Proxy Protocol and records the client's real IP. */ readonly proxyProtocolEnabled: pulumi.Output; /** * ALB instance status: Active (running), Provisioning (creating), Configuring (configuring), Deleting (deleting), CreateFailed (creation failed), Inactive (stopped). */ readonly status: pulumi.Output; readonly tags: pulumi.Output; /** * Access log information in the ALB instance */ readonly tlsAccessLog: pulumi.Output; /** * Type of ALB instance. Values are public or private. public: Creates a public load balancer instance. The system assigns a public IP address and a private IP address, which can forward both public and private network requests. private: Creates a private load balancer instance. The system assigns a private IP address, used only for forwarding private network requests. */ readonly type: pulumi.Output; /** * Last update time of the ALB instance. */ readonly updateTime: pulumi.Output; /** * ID of the Virtual Private Cloud (VPC) to which the load balancer instance belongs. */ readonly vpcId: pulumi.Output; /** * ID of the WAF security protection instance bound to the ALB instance. */ readonly wafInstanceId: pulumi.Output; /** * Domain name protected by WAF, used for precise rule matching. */ readonly wafProtectedDomain: pulumi.Output; /** * WAF security protection switch. on: enabled; off: disabled. */ readonly wafProtectionEnabled: pulumi.Output; readonly zoneMappings: pulumi.Output; /** * Create a LoadBalancer 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: LoadBalancerArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering LoadBalancer resources. */ export interface LoadBalancerState { /** * IP type of the ALB instance. IPv4: IPv4 type; DualStack: IPv4 & IPv6 dual stack type. */ addressIpVersion?: pulumi.Input; /** * ID of the bound shared bandwidth package, enabling bandwidth sharing. */ bandwidthPackageId?: pulumi.Input; /** * Service status of the ALB instance. Normal: normal; FinancialLocked: locked due to overdue payment. */ businessStatus?: pulumi.Input; /** * Creation time of the ALB instance. */ createTime?: pulumi.Input; /** * Delete protection switch. on: enabled; off: disabled. */ deleteProtection?: pulumi.Input; /** * Expected reclamation time of the ALB instance. This parameter is only returned when the instance is in the FinancialLocked state. */ deletedTime?: pulumi.Input; /** * Description of the ALB instance. */ description?: pulumi.Input; /** * DNS domain name. */ dnsName?: pulumi.Input; /** * Billing configuration for public IP, only applicable to public instances. */ eipBillingConfig?: pulumi.Input; /** * Global accelerator configuration, used to improve cross-region access speed. */ globalAccelerator?: pulumi.Input; /** * Health check log information in the ALB instance */ healthLog?: pulumi.Input; /** * When creating a public ALB instance, specify the shared bandwidth package ID to which the IPv6 public bandwidth will be added. */ ipv6BandwidthPackageId?: pulumi.Input; /** * Billing configuration for IPv6 public IP, only applicable to public instances. */ ipv6EipBillingConfig?: pulumi.Input; /** * ALB instance billing type. Currently, only pay-as-you-go is supported (value is 1). */ loadBalancerBillingType?: pulumi.Input; /** * Version of the application load balancer. Basic: Basic version; Standard: Standard version. */ loadBalancerEdition?: pulumi.Input; /** * ALB instance ID. */ loadBalancerId?: pulumi.Input; /** * Name of the ALB instance. */ loadBalancerName?: pulumi.Input; /** * Reason for ALB instance freeze, such as Financial (arrears) or Security (security reasons). Returned only when the instance is locked. */ lockReason?: pulumi.Input; /** * Reason for modification protection. This parameter is valid and legitimate only when ModificationProtectionStatus is ConsoleProtection. */ modificationProtectionReason?: pulumi.Input; /** * Modification protection status. NonProtection: Not protected; ConsoleProtection: Console modification protection, instance configuration cannot be modified through the console. */ modificationProtectionStatus?: pulumi.Input; /** * Freeze time of the ALB instance. This parameter is only returned when the instance is in the FinancialLocked state. */ overdueTime?: pulumi.Input; /** * Name of the project to which the instance belongs. */ projectName?: pulumi.Input; /** * ALB supports the Proxy Protocol and records the client's real IP. */ proxyProtocolEnabled?: pulumi.Input; /** * ALB instance status: Active (running), Provisioning (creating), Configuring (configuring), Deleting (deleting), CreateFailed (creation failed), Inactive (stopped). */ status?: pulumi.Input; tags?: pulumi.Input[]>; /** * Access log information in the ALB instance */ tlsAccessLog?: pulumi.Input; /** * Type of ALB instance. Values are public or private. public: Creates a public load balancer instance. The system assigns a public IP address and a private IP address, which can forward both public and private network requests. private: Creates a private load balancer instance. The system assigns a private IP address, used only for forwarding private network requests. */ type?: pulumi.Input; /** * Last update time of the ALB instance. */ updateTime?: pulumi.Input; /** * ID of the Virtual Private Cloud (VPC) to which the load balancer instance belongs. */ vpcId?: pulumi.Input; /** * ID of the WAF security protection instance bound to the ALB instance. */ wafInstanceId?: pulumi.Input; /** * Domain name protected by WAF, used for precise rule matching. */ wafProtectedDomain?: pulumi.Input; /** * WAF security protection switch. on: enabled; off: disabled. */ wafProtectionEnabled?: pulumi.Input; zoneMappings?: pulumi.Input[]>; } /** * The set of arguments for constructing a LoadBalancer resource. */ export interface LoadBalancerArgs { /** * IP type of the ALB instance. IPv4: IPv4 type; DualStack: IPv4 & IPv6 dual stack type. */ addressIpVersion?: pulumi.Input; /** * ID of the bound shared bandwidth package, enabling bandwidth sharing. */ bandwidthPackageId?: pulumi.Input; /** * Delete protection switch. on: enabled; off: disabled. */ deleteProtection?: pulumi.Input; /** * Description of the ALB instance. */ description?: pulumi.Input; /** * Billing configuration for public IP, only applicable to public instances. */ eipBillingConfig?: pulumi.Input; /** * Global accelerator configuration, used to improve cross-region access speed. */ globalAccelerator?: pulumi.Input; /** * Health check log information in the ALB instance */ healthLog?: pulumi.Input; /** * When creating a public ALB instance, specify the shared bandwidth package ID to which the IPv6 public bandwidth will be added. */ ipv6BandwidthPackageId?: pulumi.Input; /** * Billing configuration for IPv6 public IP, only applicable to public instances. */ ipv6EipBillingConfig?: pulumi.Input; /** * ALB instance billing type. Currently, only pay-as-you-go is supported (value is 1). */ loadBalancerBillingType?: pulumi.Input; /** * Version of the application load balancer. Basic: Basic version; Standard: Standard version. */ loadBalancerEdition?: pulumi.Input; /** * Name of the ALB instance. */ loadBalancerName?: pulumi.Input; /** * Reason for modification protection. This parameter is valid and legitimate only when ModificationProtectionStatus is ConsoleProtection. */ modificationProtectionReason?: pulumi.Input; /** * Modification protection status. NonProtection: Not protected; ConsoleProtection: Console modification protection, instance configuration cannot be modified through the console. */ modificationProtectionStatus?: pulumi.Input; /** * Name of the project to which the instance belongs. */ projectName?: pulumi.Input; /** * ALB supports the Proxy Protocol and records the client's real IP. */ proxyProtocolEnabled?: pulumi.Input; tags?: pulumi.Input[]>; /** * Access log information in the ALB instance */ tlsAccessLog?: pulumi.Input; /** * Type of ALB instance. Values are public or private. public: Creates a public load balancer instance. The system assigns a public IP address and a private IP address, which can forward both public and private network requests. private: Creates a private load balancer instance. The system assigns a private IP address, used only for forwarding private network requests. */ type: pulumi.Input; /** * ID of the Virtual Private Cloud (VPC) to which the load balancer instance belongs. */ vpcId: pulumi.Input; /** * ID of the WAF security protection instance bound to the ALB instance. */ wafInstanceId?: pulumi.Input; /** * Domain name protected by WAF, used for precise rule matching. */ wafProtectedDomain?: pulumi.Input; /** * WAF security protection switch. on: enabled; off: disabled. */ wafProtectionEnabled?: pulumi.Input; zoneMappings?: pulumi.Input[]>; }