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" {}