From 23c8f31b6e471c07e0d1989424d44c36d14eb76e Mon Sep 17 00:00:00 2001 From: wangzepeng666 Date: Tue, 12 Sep 2023 11:36:45 +0800 Subject: [PATCH] docs(dws): fix docs issues. --- docs/data-sources/dws_flavors.md | 37 +++++++++-- docs/resources/dws_cluster_v1.md | 61 ++++++++++++------- ..._source_flexibleengine_dws_flavors_test.go | 23 +++++++ 3 files changed, 96 insertions(+), 25 deletions(-) diff --git a/docs/data-sources/dws_flavors.md b/docs/data-sources/dws_flavors.md index d2b8e062..3689f0ca 100644 --- a/docs/data-sources/dws_flavors.md +++ b/docs/data-sources/dws_flavors.md @@ -25,19 +25,48 @@ data "flexibleengine_dws_flavors" "flavor" { * `memory` - (Optional, String) Specifies the ram of the DWS node flavor in GB. -## Attributes Reference +* `datastore_type` - (Optional, String) The type of datastore. The options are as follows: + - **dws**: OLAP, elastic scaling, unlimited scaling of compute and storage capacity. + - **hybrid**: a single data warehouse used for transaction and analytics workloads, + in single-node or cluster mode. + - **stream**: built-in time series operators; up to 40:1 compression ratio; applicable to IoT services. + +## Attribute Reference In addition to all arguments above, the following attributes are exported: * `id` - Indicates a data source ID. -* `flavors` - Indicates the flavors information. Structure is documented below. +* `flavors` - Indicates the flavors information. The [flavors](#dws_flavors) object structure is documented below. -The `flavors` block contains: + +The `flavors` block supports: * `flavor_id` - The name of the DWS node flavor. It is referenced by **node_type** in `flexibleengine_dws_cluster_v1`. + * `vcpus` - Indicates the vcpus of the DWS node flavor. + * `memory` - Indicates the ram of the DWS node flavor in GB. + * `volumetype` - Indicates Disk type. + * `size` - Indicates the Disk size in GB. -* `availability_zone` - Indicates the availability zone where the node resides. + +* `availability_zones` - Indicates the availability zone where the node resides. + +* `datastore_type` - The type of datastore.The options are as follows: + - **dws**: OLAP, elastic scaling, unlimited scaling of compute and storage capacity. + - **hybrid**: a single data warehouse used for transaction and analytics workloads, + in single-node or cluster mode. + - **stream**: built-in time series operators; up to 40:1 compression ratio; applicable to IoT services. + +* `elastic_volume_specs` - The [elastic_volume_specs](#dws_elastic_volume_specs) object structure is documented below. + + +The `elastic_volume_specs` block supports: + +* `step` - Disk size increment step. + +* `min_size` - Minimum disk size. + +* `max_size` - Maximum disk size. diff --git a/docs/resources/dws_cluster_v1.md b/docs/resources/dws_cluster_v1.md index 0b0f7d4a..b5d5950e 100644 --- a/docs/resources/dws_cluster_v1.md +++ b/docs/resources/dws_cluster_v1.md @@ -50,61 +50,71 @@ resource "flexibleengine_dws_cluster_v1" "cluster" { The following arguments are supported: -* `name` - (Required) Cluster name, which must be unique and contains 4 to 64 - characters, which consist of letters, digits, hyphens (-), or underscores - (_) only and must start with a letter. +* `region` - (Optional, String, ForceNew) Specifies the region in which to create the DWS cluster (v1) resource. + If omitted, the provider-level region will be used. Changing this will create a new DWS cluster (v1) resource. -* `node_type` - (Required) Node type. +* `name` - (Required, String, ForceNew) Cluster name, which must be unique and contains 4 to 64 + characters, which consist of letters, digits, hyphens (-), or underscores(_) only and must start with a letter. + Changing this will create a new resource. -* `number_of_node` - (Required) Number of nodes in a cluster. The value ranges - from 3 to 32. +* `node_type` - (Required, String, ForceNew) Node type.Changing this will create a new resource. -* `user_name` - (Required) Administrator username for logging in to a data +* `number_of_node` - (Required, Int, ForceNew) Number of nodes in a cluster. The value ranges from 3 to 32. + Changing this will create a new resource. + +* `user_name` - (Required, String, ForceNew) Administrator username for logging in to a data warehouse cluster The administrator username must: - Consist of lowercase letters, digits, or underscores. - Start with a lowercase letter or an underscore. - Contain 1 to 63 characters. - Cannot be a keyword of the DWS database. + Changing this will create a new resource. -* `user_pwd` - (Required) Administrator password for logging in to a data +* `user_pwd` - (Required, String, ForceNew) Administrator password for logging in to a data warehouse cluster. A password must conform to the following rules: - Contains 8 to 32 characters. - Cannot be the same as the username or the username written in reverse order. - Contains three types of lowercase letters, uppercase letters, digits and special characters ~!@#%^&*()-_=+|[{}];:,<.>/? + Changing this will create a new resource. -* `vpc_id` - (Required) VPC ID, which is used for configuring cluster network. +* `vpc_id` - (Required, String, ForceNew) VPC ID, which is used for configuring cluster network. + Changing this will create a new resource. -* `subnet_id` - (Required) The ID of the VPC Subnet, which is used for configuring cluster network. +* `subnet_id` - (Required, String, ForceNew) The ID of the VPC Subnet, which is used for configuring cluster network. + Changing this will create a new resource. -* `security_group_id` - (Required) ID of a security group. The ID is used for - configuring cluster network. +* `security_group_id` - (Required, String, ForceNew) ID of a security group. The ID is used for + configuring cluster network. Changing this will create a new resource. -* `port` - (Optional) Service port of a cluster (8000 to 10000). The default value is 8000. +* `port` - (Optional, Int, ForceNew) Service port of a cluster (8000 to 10000). The default value is 8000. + Changing this will create a new resource. -* `availability_zone` - (Optional) AZ in a cluster. +* `availability_zone` - (Optional, String, ForceNew) AZ in a cluster.Changing this will create a new resource. -* `public_ip` - (Optional) Public IP address. The object structure is documented below. +* `public_ip` - (Optional, List, ForceNew) Public IP address.The [public_ip](#_dws_public_ip) object structure is + documented below. Changing this will create a new resource. + The `public_ip` block supports: -* `public_bind_type` - (Optional) Binding type of an EIP. The value can be +* `public_bind_type` - (Optional, String, ForceNew) Binding type of an EIP. The value can be either of the following: *auto_assign*, *not_use* and *bind_existing*. - The default value is *not_use*. + The default value is *not_use*. Changing this will create a new resource. -* `eip_id` - (Optional) EIP ID +* `eip_id` - (Optional, String, ForceNew) EIP ID. Changing this will create a new resource. -## Attributes Reference +## Attribute Reference In addition to all arguments above, the following attributes are exported: * `id` - Cluster ID * `endpoints` - The private network connection information about the cluster. - The object structure is documented below. + The [endpoints](#dws_endpoints) object structure is documented below. * `public_endpoints` - The public network connection information about the cluster. - The object structure is documented below. + The [public_endpoints](#dws_public_endpoints) object structure is documented below. * `private_ip` - List of private network IP address. @@ -120,6 +130,7 @@ In addition to all arguments above, the following attributes are exported: * `updated` - Last modification time of a cluster. The format is ISO8601:YYYY-MM-DDThh:mm:ssZ. + The `endpoints` block supports: * `connect_info` - Private network connection information @@ -127,6 +138,7 @@ The `endpoints` block supports: * `jdbc_url` - JDBC URL. The following is the default format: jdbc:postgresql://< connect_info>/ + The `public_endpoints` block supports: * `public_connect_info` - Public network connection information @@ -134,6 +146,13 @@ The `public_endpoints` block supports: * `jdbc_url` - JDBC URL. The following is the default format: jdbc:postgresql://< public_connect_info>/ +## Timeouts + +This resource provides the following timeouts configuration options: + +* `create` - Default is 30 minutes. +* `delete` - Default is 30 minutes. + ## Import DWS cluster can be imported using the `id`, e.g. diff --git a/flexibleengine/acceptance/data_source_flexibleengine_dws_flavors_test.go b/flexibleengine/acceptance/data_source_flexibleengine_dws_flavors_test.go index 68088c1f..61e6e952 100644 --- a/flexibleengine/acceptance/data_source_flexibleengine_dws_flavors_test.go +++ b/flexibleengine/acceptance/data_source_flexibleengine_dws_flavors_test.go @@ -52,6 +52,23 @@ func TestAccDwsFlavorsDataSource_memory(t *testing.T) { }) } +func TestAccDwsFlavorsDataSource_dataStoreType(t *testing.T) { + resourceName := "data.flexibleengine_dws_flavors.test" + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + ProviderFactories: TestAccProviderFactories, + Steps: []resource.TestStep{ + { + Config: testAccDwsFlavorsDataSource_dataStoreType, + Check: resource.ComposeTestCheckFunc( + testAccCheckDwsFlavorDataSourceID(resourceName), + resource.TestCheckResourceAttrSet(resourceName, "flavors.#"), + ), + }, + }, + }) +} + func TestAccDwsFlavorsDataSource_all(t *testing.T) { resourceName := "data.flexibleengine_dws_flavors.test" resource.ParallelTest(t, resource.TestCase{ @@ -125,6 +142,12 @@ data "flexibleengine_dws_flavors" "test" { memory = 64 } ` + +const testAccDwsFlavorsDataSource_dataStoreType = ` +data "flexibleengine_dws_flavors" "test" { + datastore_type = "hybrid" +}` + const testAccDwsFlavorsDataSource_all = ` data "flexibleengine_availability_zones" "test" {}