@huaweicloudos/pulumi
Version:
A Pulumi package for creating and managing Huaweicloud cloud resources.
395 lines (394 loc) • 13.1 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
* Use this data source to get the list of ELB load balancers.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as huaweicloud from "@pulumi/huaweicloud";
*
* const config = new pulumi.Config();
* const loadbalancerName = config.requireObject("loadbalancerName");
* const test = huaweicloud.DedicatedElb.getLoadbalancers({
* name: loadbalancerName,
* });
* ```
*/
export declare function getLoadbalancers(args?: GetLoadbalancersArgs, opts?: pulumi.InvokeOptions): Promise<GetLoadbalancersResult>;
/**
* A collection of arguments for invoking getLoadbalancers.
*/
export interface GetLoadbalancersArgs {
/**
* Specifies the list of AZ where the load balancer is created.
*/
availabilityZone?: string;
/**
* Specifies the provides resource billing information.
*/
billingInfo?: string;
/**
* Specifies whether the deletion protection is enabled. Value options:
* **true**, **false**.
*/
deletionProtectionEnable?: string;
/**
* Specifies the description of the ELB load balancer.
*/
description?: string;
/**
* Specifies the enterprise project ID.
*/
enterpriseProjectId?: string;
/**
* Specifies the global EIPs bound to the load balancer. It can be queried by different
* conditions:
* + If `globalEipId` is used as the query condition, the format is **global_eip_id=xxx**
* + If `globalEipAddress` is used as the query condition, the format is **global_eip_address=xxx**
* + If `ipVersion` is used as the query condition, the format is **ip_version=xxx**
*/
globalEips?: string[];
/**
* Specifies the private IPv4 address bound to the load balancer.
*/
ipv4Address?: string;
/**
* Specifies the ID of the port bound to the private IPv4 address of the load balancer.
*/
ipv4PortId?: string;
/**
* Specifies the ID of the IPv4 subnet where the load balancer resides.
*/
ipv4SubnetId?: string;
/**
* Specifies the IPv6 address bound to the load balancer.
*/
ipv6Address?: string;
/**
* Specifies the ID of the port bound to the IPv6 address of the load balancer.
*/
ipv6NetworkId?: string;
/**
* Specifies the ID of the port bound to the IPv6 address of the load balancer.
*/
ipv6VipPortId?: string;
/**
* Specifies the ID of a flavor at Layer 4.
*/
l4FlavorId?: string;
/**
* Specifies the ID of a flavor at Layer 7.
*/
l7FlavorId?: string;
/**
* Specifies the ID of the ELB load balancer.
*/
loadbalancerId?: string;
/**
* Specifies the ID of the log group that is associated with the load balancer.
*/
logGroupId?: string;
/**
* Specifies the ID of the log topic that is associated with the load balancer.
*/
logTopicId?: string;
/**
* Specifies the private IP address of the cloud server that is associated with the
* load balancer as a backend server.
*/
memberAddress?: string;
/**
* Specifies the ID of the cloud server that is associated with the load balancer
* as a backend server.
*/
memberDeviceId?: string;
/**
* Specifies the name of the ELB load balancer.
*/
name?: string;
/**
* Specifies the operating status of the load balancer. Value options:
* + **ONLINE**: indicates that the load balancer is running normally.
* + **FROZEN**: indicates that the load balancer is frozen.
*/
operatingStatus?: string;
/**
* Specifies the protection status. Value options:
* + **nonProtection**: The load balancer is not protected.
* + **consoleProtection**: Modification Protection is enabled on the console.
*/
protectionStatus?: string;
/**
* Specifies the provisioning status of the load balancer. Value options:
* + **ACTIVE**: The load balancer is successfully provisioned.
* + **PENDING_DELETE**: The load balancer is being deleted.
*/
provisioningStatus?: string;
/**
* Specifies the EIPs bound to the load balancer. It can be queried by different conditions:
* + If `publicipId` is used as the query condition, the format is **publicip_id=xxx**
* + If `publicipAddress` is used as the query condition, the format is **publicip_address=xxx**
* + If `ipVersion` is used as the query condition, the format is **ip_version=xxx**
*/
publicips?: string[];
/**
* Specifies the region in which to query the data source.
* If omitted, the provider-level region will be used.
*/
region?: string;
/**
* Specifies whether the load balancer is a dedicated load balancer, Value options:
* **dedicated**, **share**.
*/
type?: string;
/**
* Specifies the ID of the VPC where the load balancer resides.
*/
vpcId?: string;
}
/**
* A collection of values returned by getLoadbalancers.
*/
export interface GetLoadbalancersResult {
/**
* The list of AZs where the load balancer is created.
*/
readonly availabilityZone?: string;
/**
* The provides resource billing information.
*/
readonly billingInfo?: string;
/**
* Whether the deletion protection is enabled.
*/
readonly deletionProtectionEnable?: string;
/**
* The description of load balancer.
*/
readonly description?: string;
/**
* The enterprise project ID.
*/
readonly enterpriseProjectId?: string;
/**
* The EIPs bound to the load balancer.
* The globalEips structure is documented below.
*/
readonly globalEips?: string[];
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
/**
* The private IPv4 address bound to the load balancer.
*/
readonly ipv4Address?: string;
/**
* The ID of the port bound to the private IPv4 address of the load balancer.
*/
readonly ipv4PortId?: string;
/**
* The ID of the IPv4 subnet where the load balancer resides.
*/
readonly ipv4SubnetId?: string;
/**
* The IPv6 address bound to the load balancer.
*/
readonly ipv6Address?: string;
/**
* The ID of the IPv6 subnet where the load balancer resides.
*/
readonly ipv6NetworkId?: string;
/**
* The ID of the port bound to the IPv6 address of the load balancer.
*/
readonly ipv6VipPortId?: string;
/**
* The ID of a flavor at Layer 4.
*/
readonly l4FlavorId?: string;
/**
* The ID of a flavor at Layer 7.
*/
readonly l7FlavorId?: string;
readonly loadbalancerId?: string;
/**
* The List of load balancers.
* The loadbalancers structure is documented below.
*/
readonly loadbalancers: outputs.DedicatedElb.GetLoadbalancersLoadbalancer[];
/**
* The ID of the log group that is associated with the load balancer.
*/
readonly logGroupId?: string;
/**
* The ID of the log topic that is associated with the load balancer.
*/
readonly logTopicId?: string;
readonly memberAddress?: string;
readonly memberDeviceId?: string;
/**
* The load balancer name.
*/
readonly name?: string;
/**
* The operating status of the load balancer.
*/
readonly operatingStatus?: string;
/**
* The protection status for update.
*/
readonly protectionStatus?: string;
/**
* The provisioning status of the load balancer.
*/
readonly provisioningStatus?: string;
/**
* The EIPs bound to the load balancer.
* The publicips structure is documented below.
*/
readonly publicips?: string[];
readonly region: string;
/**
* Whether the load balancer is a dedicated load balancer.
*/
readonly type?: string;
/**
* The ID of the VPC where the load balancer resides.
*/
readonly vpcId?: string;
}
export declare function getLoadbalancersOutput(args?: GetLoadbalancersOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetLoadbalancersResult>;
/**
* A collection of arguments for invoking getLoadbalancers.
*/
export interface GetLoadbalancersOutputArgs {
/**
* Specifies the list of AZ where the load balancer is created.
*/
availabilityZone?: pulumi.Input<string>;
/**
* Specifies the provides resource billing information.
*/
billingInfo?: pulumi.Input<string>;
/**
* Specifies whether the deletion protection is enabled. Value options:
* **true**, **false**.
*/
deletionProtectionEnable?: pulumi.Input<string>;
/**
* Specifies the description of the ELB load balancer.
*/
description?: pulumi.Input<string>;
/**
* Specifies the enterprise project ID.
*/
enterpriseProjectId?: pulumi.Input<string>;
/**
* Specifies the global EIPs bound to the load balancer. It can be queried by different
* conditions:
* + If `globalEipId` is used as the query condition, the format is **global_eip_id=xxx**
* + If `globalEipAddress` is used as the query condition, the format is **global_eip_address=xxx**
* + If `ipVersion` is used as the query condition, the format is **ip_version=xxx**
*/
globalEips?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Specifies the private IPv4 address bound to the load balancer.
*/
ipv4Address?: pulumi.Input<string>;
/**
* Specifies the ID of the port bound to the private IPv4 address of the load balancer.
*/
ipv4PortId?: pulumi.Input<string>;
/**
* Specifies the ID of the IPv4 subnet where the load balancer resides.
*/
ipv4SubnetId?: pulumi.Input<string>;
/**
* Specifies the IPv6 address bound to the load balancer.
*/
ipv6Address?: pulumi.Input<string>;
/**
* Specifies the ID of the port bound to the IPv6 address of the load balancer.
*/
ipv6NetworkId?: pulumi.Input<string>;
/**
* Specifies the ID of the port bound to the IPv6 address of the load balancer.
*/
ipv6VipPortId?: pulumi.Input<string>;
/**
* Specifies the ID of a flavor at Layer 4.
*/
l4FlavorId?: pulumi.Input<string>;
/**
* Specifies the ID of a flavor at Layer 7.
*/
l7FlavorId?: pulumi.Input<string>;
/**
* Specifies the ID of the ELB load balancer.
*/
loadbalancerId?: pulumi.Input<string>;
/**
* Specifies the ID of the log group that is associated with the load balancer.
*/
logGroupId?: pulumi.Input<string>;
/**
* Specifies the ID of the log topic that is associated with the load balancer.
*/
logTopicId?: pulumi.Input<string>;
/**
* Specifies the private IP address of the cloud server that is associated with the
* load balancer as a backend server.
*/
memberAddress?: pulumi.Input<string>;
/**
* Specifies the ID of the cloud server that is associated with the load balancer
* as a backend server.
*/
memberDeviceId?: pulumi.Input<string>;
/**
* Specifies the name of the ELB load balancer.
*/
name?: pulumi.Input<string>;
/**
* Specifies the operating status of the load balancer. Value options:
* + **ONLINE**: indicates that the load balancer is running normally.
* + **FROZEN**: indicates that the load balancer is frozen.
*/
operatingStatus?: pulumi.Input<string>;
/**
* Specifies the protection status. Value options:
* + **nonProtection**: The load balancer is not protected.
* + **consoleProtection**: Modification Protection is enabled on the console.
*/
protectionStatus?: pulumi.Input<string>;
/**
* Specifies the provisioning status of the load balancer. Value options:
* + **ACTIVE**: The load balancer is successfully provisioned.
* + **PENDING_DELETE**: The load balancer is being deleted.
*/
provisioningStatus?: pulumi.Input<string>;
/**
* Specifies the EIPs bound to the load balancer. It can be queried by different conditions:
* + If `publicipId` is used as the query condition, the format is **publicip_id=xxx**
* + If `publicipAddress` is used as the query condition, the format is **publicip_address=xxx**
* + If `ipVersion` is used as the query condition, the format is **ip_version=xxx**
*/
publicips?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Specifies the region in which to query the data source.
* If omitted, the provider-level region will be used.
*/
region?: pulumi.Input<string>;
/**
* Specifies whether the load balancer is a dedicated load balancer, Value options:
* **dedicated**, **share**.
*/
type?: pulumi.Input<string>;
/**
* Specifies the ID of the VPC where the load balancer resides.
*/
vpcId?: pulumi.Input<string>;
}