Skip to content

Commit 98f379d

Browse files
authored
feat(EIP): add eip v3 bandwidths data source (#6577)
1 parent 31a2bf0 commit 98f379d

File tree

4 files changed

+895
-0
lines changed

4 files changed

+895
-0
lines changed
Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
---
2+
subcategory: "Elastic IP (EIP)"
3+
layout: "huaweicloud"
4+
page_title: "HuaweiCloud: huaweicloud_vpcv3_bandwidths"
5+
description: |-
6+
Use this data source to get the list of EIP bandwidths.
7+
---
8+
9+
# huaweicloud_vpcv3_bandwidths
10+
11+
Use this data source to get the list of EIP bandwidths.
12+
13+
## Example Usage
14+
15+
```hcl
16+
data "huaweicloud_vpcv3_bandwidths" "test" {}
17+
```
18+
19+
## Argument Reference
20+
21+
The following arguments are supported:
22+
23+
* `region` - (Optional, String) Specifies the region in which to query the resource.
24+
If omitted, the provider-level region will be used.
25+
26+
* `name` - (Optional, String) Specifies the name of the bandwidth.
27+
28+
* `name_like` - (Optional, String) Specifies the fuzzy query name.
29+
30+
* `bandwidth_type` - (Optional, String) Specifies the type of the bandwidth.
31+
Value options:
32+
+ **share**: Shared Bandwidth
33+
+ **bgp**: Dynamic BGP
34+
+ **telcom**: China Unicom
35+
+ **sbgp**: Static BGP
36+
37+
* `ingress_size` - (Optional, String) Specifies the cloud access size.
38+
39+
* `admin_state` - (Optional, String) Specifies the status of the bandwidth.
40+
41+
* `billing_info` - (Optional, String) Specifies the charging information of the bandwidth.
42+
43+
* `tags` - (Optional, String) Specifies the tag of the bandwidth.
44+
45+
* `enable_bandwidth_rules` - (Optional, String) Specifies whether bandwidth groups are enabled.
46+
Value options: **true**, **false**.
47+
48+
* `rule_quota` - (Optional, Int) Specifies the rule value of the bandwidth.
49+
50+
* `public_border_group` - (Optional, String) Specifies the border group of the bandwidth.
51+
52+
* `charge_mode` - (Optional, String) Specifies the charging of the bandwidth.
53+
Value options: **bandwidth**, **traffic** and **95peak_plus**.
54+
55+
* `size` - (Optional, String) Specifies the size of the bandwidth.
56+
57+
* `type` - (Optional, String) Specifies the type of the bandwidth.
58+
Value options:
59+
+ **WHOLE**: shared bandwidth
60+
+ **PER**: exclusive bandwidth
61+
62+
* `fields` - (Optional, List) Specifies the display fields of the bandwidth.
63+
Value options: **id**, **name**, **tenant_id**, **size**, **ratio_95peak_plus**, **ingress_size**, **bandwidth_type**,
64+
**admin_state**, **billing_info**, **charge_mode**, **type**, **publicip_info**, **enable_bandwidth_rules**,
65+
**rule_quota**, **bandwidth_rules**, **public_border_group**, **created_at**, **updated_at**, **lock_infos**.
66+
67+
## Attribute Reference
68+
69+
In addition to all arguments above, the following attributes are exported:
70+
71+
* `id` - The data source ID.
72+
73+
* `eip_bandwidths` - Indicates the list of bandwidths.
74+
75+
The [eip_bandwidths](#eip_bandwidths_struct) structure is documented below.
76+
77+
<a name="eip_bandwidths_struct"></a>
78+
The `eip_bandwidths` block supports:
79+
80+
* `id` - Indicates the ID of the bandwidth.
81+
82+
* `name` - Indicates the bBandwidth name.
83+
84+
* `type` - Indicates the bandwidth type.
85+
86+
* `size` - Indicates the bandwidth size.
87+
88+
* `publicip_info` - Indicates the EIP information corresponding to the bandwidth.
89+
90+
The [publicip_info](#eip_bandwidths_publicip_info_struct) structure is documented below.
91+
92+
* `billing_info` - Indicates the Bill information.
93+
94+
* `project_id` - Indicates the ID of the project to which the user belongs.
95+
96+
* `admin_state` - Indicates the bandwidth status.
97+
98+
* `tags` - Indicates the EIP tags.
99+
100+
* `enable_bandwidth_rules` - Indicates whether bandwidth groups are enabled.
101+
102+
* `bandwidth_type` - Indicates the bandwidth type.
103+
104+
* `ingress_size` - Indicates the network access size, in Mbit/s.
105+
106+
* `rule_quota` - Indicates the rule value.
107+
108+
* `ratio_95peak_plus` - Indicates the minimum bandwidth guarantee rate of enhanced 95.
109+
110+
* `public_border_group` - Indicates the bandwidth AZ attribute, which indicates the center and edge.
111+
112+
* `bandwidth_rules` - Indicates the bandwidth rules.
113+
114+
The [bandwidth_rules](#eip_bandwidths_bandwidth_rules_struct) structure is documented below.
115+
116+
* `created_at` - Indicates the creation time, which is a UTC time in **YYYY-MM-DDTHH:MM:SS** format.
117+
118+
* `updated_at` - Indicates the update time, which is a UTC time in **YYYY-MM-DDTHH:MM:SS** format.
119+
120+
<a name="eip_bandwidths_publicip_info_struct"></a>
121+
The `publicip_info` block supports:
122+
123+
* `publicip_address` - Indicates the elastic public IPv4 or IPv6 address.
124+
125+
* `publicip_id` - Indicates the unique IPv4 or IPv6 address of the elastic public network.
126+
127+
* `publicip_type` - Indicates the EIP type.
128+
129+
* `publicipv6_address` - Indicates the IPv6 address.
130+
131+
* `ip_version` - Indicates the IP version information.
132+
133+
<a name="eip_bandwidths_bandwidth_rules_struct"></a>
134+
The `bandwidth_rules` block supports:
135+
136+
* `id` - Indicates the bandwidth rule ID.
137+
138+
* `name` - Indicates the bandwidth rule name.
139+
140+
* `egress_size` - Indicates the maximum outbound bandwidth, in Mbit/s.
141+
142+
* `egress_guarented_size` - Indicates the guaranteed outbound bandwidth, in Mbit/s.
143+
144+
* `publicip_info` - Indicates the EIP information corresponding to the bandwidth.
145+
146+
The [publicip_info](#bandwidth_rules_publicip_info_struct) structure is documented below.
147+
148+
<a name="bandwidth_rules_publicip_info_struct"></a>
149+
The `publicip_info` block supports:
150+
151+
* `publicip_address` - Indicates the elastic public IPv4 or IPv6 address.
152+
153+
* `publicip_id` - Indicates the unique IPv4 or IPv6 address of the elastic public network corresponding to the bandwidth.
154+
155+
* `publicip_type` - Indicates the EIP type.
156+
157+
* `publicipv6_address` - Indicates the IPv6 address.
158+
159+
* `ip_version` - Indicates the IP version information.

huaweicloud/provider.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1245,6 +1245,7 @@ func Provider() *schema.Provider {
12451245
"huaweicloud_vpc_bandwidth_limits": eip.DataSourceBandwidthLimits(),
12461246
"huaweicloud_vpc_bandwidth": eip.DataSourceBandWidth(),
12471247
"huaweicloud_vpc_bandwidths": eip.DataSourceBandWidths(),
1248+
"huaweicloud_vpcv3_bandwidths": eip.DataSourceEipVpcv3Bandwidths(),
12481249
"huaweicloud_vpc_bandwidth_addon_packages": eip.DataSourceBandwidthAddonPackages(),
12491250
"huaweicloud_vpc_eip_common_pools": eip.DataSourceVpcEipCommonPools(),
12501251
"huaweicloud_vpc_eip_pools": eip.DataSourceVpcEipPools(),

0 commit comments

Comments
 (0)