-
Notifications
You must be signed in to change notification settings - Fork 53
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(elb): import elb 10sp2 resource, unit teset and
docs
- Loading branch information
1 parent
1be36a6
commit 90194fd
Showing
8 changed files
with
568 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
--- | ||
subcategory: "Elastic Load Balance (ELB)" | ||
--- | ||
|
||
# flexibleengine_lb_certificate_v2 | ||
|
||
Use this data source to get the certificate details in FlexibleEngine Elastic Load Balance (ELB). | ||
|
||
## Example Usage | ||
|
||
The following example shows how one might accept a certificate name as a variable to fetch this data source. | ||
|
||
```hcl | ||
variable "cert_name" {} | ||
data "flexibleengine_lb_certificate_v2" "by_name" { | ||
name = var.cert_name | ||
} | ||
``` | ||
|
||
## Argument Reference | ||
|
||
The arguments of this data source act as filters for querying the available Certificates in the current region. | ||
The given filters must match exactly one Certificate whose data will be exported as attributes. | ||
|
||
* `id` - (Optional, String) The id of the specific Certificate to retrieve. | ||
|
||
* `name` - (Optional, String) Human-readable name for the Certificate. Does not have to be unique. | ||
|
||
* `description` - (Optional, String) Human-readable description for the Certificate. | ||
|
||
* `domain` - (Optional, String) The domain of the Certificate. | ||
|
||
## Attribute Reference | ||
|
||
In addition to all arguments above, the following attributes are exported: | ||
|
||
* `private_key` - The private encrypted key of the Certificate, PEM format. | ||
|
||
* `certificate` - The public encrypted key of the Certificate, PEM format. | ||
|
||
* `update_time` - Indicates the update time. | ||
|
||
* `create_time` - Indicates the creation time. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
--- | ||
subcategory: "Elastic Load Balance (ELB)" | ||
--- | ||
|
||
# flexibleengine_lb_listeners | ||
|
||
Use this data source to query the list of ELB listeners. | ||
|
||
## Example Usage | ||
|
||
```hcl | ||
variable "protocol" {} | ||
data "flexibleengine_lb_listeners" "test" { | ||
protocol = var.protocol | ||
} | ||
``` | ||
|
||
## Argument Reference | ||
|
||
The following arguments are supported: | ||
|
||
* `region` - (Optional, String) Specifies the region in which to query the data source. | ||
If omitted, the provider-level region will be used. | ||
|
||
* `name` - (Optional, String) The listener name. | ||
|
||
* `protocol` - (Optional, String) The listener protocol. | ||
The valid values are **TCP**, **UDP**, **HTTP** and **TERMINATED_HTTPS**. | ||
|
||
* `protocol_port` - (Optional, String) The front-end listening port of the listener. | ||
The valid value is range from `1` to `65535`. | ||
|
||
## Attribute Reference | ||
|
||
In addition to all arguments above, the following attributes are exported: | ||
|
||
* `id` - The resource ID. | ||
|
||
* `listeners` - Listener list. | ||
The [listeners](#listeners_listeners) structure is documented below. | ||
|
||
<a name="listeners_listeners"></a> | ||
The `listeners` block supports: | ||
|
||
* `id` - The ELB listener ID. | ||
|
||
* `name` - The listener name. | ||
|
||
* `protocol` - The listener protocol. | ||
|
||
* `protocol_port` - The front-end listening port of the listener. | ||
|
||
* `default_pool_id` - The ID of the default pool with which the ELB listener is associated. | ||
|
||
* `description` - The description of the ELB listener. | ||
|
||
* `connection_limit` - The maximum number of connections allowed for the listener. | ||
|
||
* `http2_enable` - Whether the ELB listener uses HTTP/2. | ||
|
||
* `default_tls_container_ref` - The ID of the server certificate used by the listener. | ||
|
||
* `sni_container_refs` - List of the SNI certificate (server certificates with a domain name) IDs used by the listener. | ||
|
||
* `loadbalancers` - Listener list. | ||
The [loadbalancers](#listeners_loadbalancers) structure is documented below. | ||
|
||
<a name="listeners_loadbalancers"></a> | ||
The `loadbalancers` block supports: | ||
|
||
* `id` - The ELB loadbalancer ID. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
--- | ||
subcategory: "Dedicated Load Balance (Dedicated ELB)" | ||
--- | ||
|
||
# flexibleengine_lb_logtank_v3 | ||
|
||
Manage an LB logtank resource within FlexibleEngine. | ||
|
||
## Example Usage | ||
|
||
```hcl | ||
variable "loadbalancer_id" {} | ||
variable "group_id" {} | ||
variable "topic_id" {} | ||
resource "flexibleengine_lb_logtank_v3" "test" { | ||
loadbalancer_id = var.loadbalancer_id | ||
log_group_id = var.group_id | ||
log_topic_id = var.topic_id | ||
} | ||
``` | ||
|
||
## Argument Reference | ||
|
||
The following arguments are supported: | ||
|
||
* `region` - (Optional, String, ForceNew) The region in which to create the logtank resource. | ||
If omitted, the provider-level region will be used. Changing this creates a new logtank. | ||
|
||
* `loadbalancer_id` - (Required, String, ForceNew) Specifies the ID of a loadbalancer. Changing this | ||
creates a new logtank. | ||
|
||
* `log_group_id` - (Required, String) Specifies the ID of a log group. It is provided by other service. | ||
|
||
* `log_topic_id` - (Required, String) Specifies the ID of the subscribe topic. | ||
|
||
## Attribute Reference | ||
|
||
In addition to all arguments above, the following attributes are exported: | ||
|
||
* `id` - The logtank ID. | ||
|
||
## Import | ||
|
||
LB logtank can be imported using the logtank ID, e.g. | ||
|
||
```bash | ||
terraform import flexibleengine_lb_logtank_v3.test 2f148a75-acd3-4ce7-8f63-d5c9fadab3a0 | ||
``` |
104 changes: 104 additions & 0 deletions
104
flexibleengine/acceptance/data_source_flexibleengine_lb_certificate_v2_test.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
package acceptance | ||
|
||
import ( | ||
"fmt" | ||
"testing" | ||
|
||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest" | ||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" | ||
"github.com/huaweicloud/terraform-provider-huaweicloud/huaweicloud/services/acceptance" | ||
) | ||
|
||
func TestAccDataSourceLBCertificateV2_basic(t *testing.T) { | ||
name := fmt.Sprintf("cert-%s", acctest.RandString(6)) | ||
dataSourceName := "data.flexibleengine_lb_certificate_v2.cert_1" | ||
dc := acceptance.InitDataSourceCheck(dataSourceName) | ||
|
||
resource.Test(t, resource.TestCase{ | ||
PreCheck: func() { testAccPreCheck(t) }, | ||
ProviderFactories: TestAccProviderFactories, | ||
Steps: []resource.TestStep{ | ||
{ | ||
Config: testAccLBCertificateSourceV2_conf(name), | ||
Check: resource.ComposeTestCheckFunc( | ||
dc.CheckResourceExists(), | ||
resource.TestCheckResourceAttr(dataSourceName, "name", name), | ||
resource.TestCheckResourceAttr(dataSourceName, "type", "server"), | ||
resource.TestCheckResourceAttrSet(dataSourceName, "domain"), | ||
resource.TestCheckResourceAttrSet(dataSourceName, "description"), | ||
), | ||
}, | ||
}, | ||
}) | ||
} | ||
|
||
func testAccLBCertificateSourceV2_conf(name string) string { | ||
return fmt.Sprintf(` | ||
data "flexibleengine_lb_certificate_v2" "cert_1" { | ||
name = flexibleengine_elb_certificate.certificate_1.name | ||
depends_on = [flexibleengine_elb_certificate.certificate_1] | ||
} | ||
resource "flexibleengine_elb_certificate" "certificate_1" { | ||
name = "%s" | ||
description = "terraform test certificate" | ||
domain = "www.elb.com" | ||
type = "server" | ||
private_key = <<EOT | ||
-----BEGIN RSA PRIVATE KEY----- | ||
MIIEowIBAAKCAQEAwZ5UJULAjWr7p6FVwGRQRjFN2s8tZ/6LC3X82fajpVsYqF1x | ||
qEuUDndDXVD09E4u83MS6HO6a3bIVQDp6/klnYldiE6Vp8HH5BSKaCWKVg8lGWg1 | ||
UM9wZFnlryi14KgmpIFmcu9nA8yV/6MZAe6RSDmb3iyNBmiZ8aZhGw2pI1YwR+15 | ||
MVqFFGB+7ExkziROi7L8CFCyCezK2/oOOvQsH1dzQ8z1JXWdg8/9Zx7Ktvgwu5PQ | ||
M3cJtSHX6iBPOkMU8Z8TugLlTqQXKZOEgwajwvQ5mf2DPkVgM08XAgaLJcLigwD5 | ||
13koAdtJd5v+9irw+5LAuO3JclqwTvwy7u/YwwIDAQABAoIBACU9S5fjD9/jTMXA | ||
DRs08A+gGgZUxLn0xk+NAPX3LyB1tfdkCaFB8BccLzO6h3KZuwQOBPv6jkdvEDbx | ||
Nwyw3eA/9GJsIvKiHc0rejdvyPymaw9I8MA7NbXHaJrY7KpqDQyk6sx+aUTcy5jg | ||
iMXLWdwXYHhJ/1HVOo603oZyiS6HZeYU089NDUcX+1SJi3e5Ke0gPVXEqCq1O11/ | ||
rh24bMxnwZo4PKBWdcMBN5Zf/4ij9vrZE+fFzW7vGBO48A5lvZxWU2U5t/OZQRtN | ||
1uLOHmMFa0FIF2aWbTVfwdUWAFsvAOkHj9VV8BXOUwKOUuEktdkfAlvrxmsFrO/H | ||
yDeYYPkCgYEA/S55CBbR0sMXpSZ56uRn8JHApZJhgkgvYr+FqDlJq/e92nAzf01P | ||
RoEBUajwrnf1ycevN/SDfbtWzq2XJGqhWdJmtpO16b7KBsC6BdRcH6dnOYh31jgA | ||
vABMIP3wzI4zSVTyxRE8LDuboytF1mSCeV5tHYPQTZNwrplDnLQhywcCgYEAw8Yc | ||
Uk/eiFr3hfH/ZohMfV5p82Qp7DNIGRzw8YtVG/3+vNXrAXW1VhugNhQY6L+zLtJC | ||
aKn84ooup0m3YCg0hvINqJuvzfsuzQgtjTXyaE0cEwsjUusOmiuj09vVx/3U7siK | ||
Hdjd2ICPCvQ6Q8tdi8jV320gMs05AtaBkZdsiWUCgYEAtLw4Kk4f+xTKDFsrLUNf | ||
75wcqhWVBiwBp7yQ7UX4EYsJPKZcHMRTk0EEcAbpyaJZE3I44vjp5ReXIHNLMfPs | ||
uvI34J4Rfot0LN3n7cFrAi2+wpNo+MOBwrNzpRmijGP2uKKrq4JiMjFbKV/6utGF | ||
Up7VxfwS904JYpqGaZctiIECgYA1A6nZtF0riY6ry/uAdXpZHL8ONNqRZtWoT0kD | ||
79otSVu5ISiRbaGcXsDExC52oKrSDAgFtbqQUiEOFg09UcXfoR6HwRkba2CiDwve | ||
yHQLQI5Qrdxz8Mk0gIrNrSM4FAmcW9vi9z4kCbQyoC5C+4gqeUlJRpDIkQBWP2Y4 | ||
2ct/bQKBgHv8qCsQTZphOxc31BJPa2xVhuv18cEU3XLUrVfUZ/1f43JhLp7gynS2 | ||
ep++LKUi9D0VGXY8bqvfJjbECoCeu85vl8NpCXwe/LoVoIn+7KaVIZMwqoGMfgNl | ||
nEqm7HWkNxHhf8A6En/IjleuddS1sf9e/x+TJN1Xhnt9W6pe7Fk1 | ||
-----END RSA PRIVATE KEY----- | ||
EOT | ||
certificate = <<EOT | ||
-----BEGIN CERTIFICATE----- | ||
MIIDpTCCAo2gAwIBAgIJAKdmmOBYnFvoMA0GCSqGSIb3DQEBCwUAMGkxCzAJBgNV | ||
BAYTAnh4MQswCQYDVQQIDAJ4eDELMAkGA1UEBwwCeHgxCzAJBgNVBAoMAnh4MQsw | ||
CQYDVQQLDAJ4eDELMAkGA1UEAwwCeHgxGTAXBgkqhkiG9w0BCQEWCnh4QDE2My5j | ||
b20wHhcNMTcxMjA0MDM0MjQ5WhcNMjAxMjAzMDM0MjQ5WjBpMQswCQYDVQQGEwJ4 | ||
eDELMAkGA1UECAwCeHgxCzAJBgNVBAcMAnh4MQswCQYDVQQKDAJ4eDELMAkGA1UE | ||
CwwCeHgxCzAJBgNVBAMMAnh4MRkwFwYJKoZIhvcNAQkBFgp4eEAxNjMuY29tMIIB | ||
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwZ5UJULAjWr7p6FVwGRQRjFN | ||
2s8tZ/6LC3X82fajpVsYqF1xqEuUDndDXVD09E4u83MS6HO6a3bIVQDp6/klnYld | ||
iE6Vp8HH5BSKaCWKVg8lGWg1UM9wZFnlryi14KgmpIFmcu9nA8yV/6MZAe6RSDmb | ||
3iyNBmiZ8aZhGw2pI1YwR+15MVqFFGB+7ExkziROi7L8CFCyCezK2/oOOvQsH1dz | ||
Q8z1JXWdg8/9Zx7Ktvgwu5PQM3cJtSHX6iBPOkMU8Z8TugLlTqQXKZOEgwajwvQ5 | ||
mf2DPkVgM08XAgaLJcLigwD513koAdtJd5v+9irw+5LAuO3JclqwTvwy7u/YwwID | ||
AQABo1AwTjAdBgNVHQ4EFgQUo5A2tIu+bcUfvGTD7wmEkhXKFjcwHwYDVR0jBBgw | ||
FoAUo5A2tIu+bcUfvGTD7wmEkhXKFjcwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B | ||
AQsFAAOCAQEAWJ2rS6Mvlqk3GfEpboezx2J3X7l1z8Sxoqg6ntwB+rezvK3mc9H0 | ||
83qcVeUcoH+0A0lSHyFN4FvRQL6X1hEheHarYwJK4agb231vb5erasuGO463eYEG | ||
r4SfTuOm7SyiV2xxbaBKrXJtpBp4WLL/s+LF+nklKjaOxkmxUX0sM4CTA7uFJypY | ||
c8Tdr8lDDNqoUtMD8BrUCJi+7lmMXRcC3Qi3oZJW76ja+kZA5mKVFPd1ATih8TbA | ||
i34R7EQDtFeiSvBdeKRsPp8c0KT8H1B4lXNkkCQs2WX5p4lm99+ZtLD4glw8x6Ic | ||
i1YhgnQbn5E0hz55OLu5jvOkKQjPCW+8Kg== | ||
-----END CERTIFICATE----- | ||
EOT | ||
} | ||
`, name) | ||
} |
Oops, something went wrong.