Skip to content

Commit

Permalink
Feat: Add cdss resources (#248)
Browse files Browse the repository at this point in the history
* feature: support vcdss

* Update resource, datasource about CDSS

* Update /docs about CDSS

* Change TypeSet to TypeList

* Apply code review

* Change docs example for cdss

* fix: Update cdss cluster resource/datasource

* fix: Update uuid->id

* fix(cdss): Filter empty item in the endpoint list

* fix(cdss): change name 'os_product' -> 'os_image'

* fix(cdss): change docs title 'cdss_kafka_versions' -> 'cdss_kafka_version'

* fix(cdss): add some of multiple datasource

* fix(cdss): apply number range validation checking for node_count

* feat(cdss): apply cmak password modify

* feat(cdss): apply node_count modify

* feat(cdss): apply node_product_code modify

* Apply suggestions from code review

* feat(cdss): apply config group description modify & null check

* feat(cdss): apply cluster config_group_no modify

* fix: Resolve function redeclared conflicts with SES

Co-authored-by: kimdong.gyun <[email protected]>
Co-authored-by: Wonchul Lee <[email protected]>
Co-authored-by: minosmlee <[email protected]>
  • Loading branch information
4 people authored Jan 19, 2023
1 parent 868a980 commit 2b9d6dd
Show file tree
Hide file tree
Showing 24 changed files with 2,134 additions and 0 deletions.
51 changes: 51 additions & 0 deletions docs/data-sources/cdss_cluster.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Data Source: ncloud_cdss_cluster

## Example Usage
```hcl
data "ncloud_cdss_cluster" "cluster"{
filter {
name = "name"
values = ["YOUR_CLUSTER_NAME"]
}
}
```

## Argument Reference
The following arguments are supported:

* `filter` - (Optional) Custom filter block as described below.
* `name` - (Required) The name of the field to filter by.
* `values` - (Required) Set of values that are accepted for the given field.
* `regex` - (Optional) is `values` treated as a regular expression.

## Attribute Reference
In addition to all arguments above, the following attributes are exported

* `id` - Cluster id.
* `service_group_instance_no` - Service Group Instance number.
* `name` - Cluster name.
* `kafka_version_code` - Cloud Data Streaming Service version to be used.
* `config_group_no` - ConfigGroup number to be used.
* `vpc_no` - VPC number to be used.
* `os_image` - OS type to be used.
* `cmak` - .
* `user_name` - CMAK access ID. Only lowercase alphanumeric characters and non-consecutive hyphens (-) allowed First character must be a letter, but the last character may be a letter or a number.
* `user_password` - CMAK access password. Must be at least 8 characters and contain at least one of each: English uppercase letter, lowercase letter, special character, and number.
* `manager_node` - .
* `node_product_code` - HW specifications of the manager node.
* `subnet_no` - Subnet number where the manager node is to be located.
* `broker_nodes` - .
* `node_product_code` - HW specifications of the broker node.
* `subnet_no` - Subnet number where the broker node is to be located.
* `node_count` - Number of broker nodes. At least 3 units, up to 10 units allowed. (Can only be increased)
* `storage_size` - Broker node storage capacity. At least 100 GB, up to 2000 GB. Must be in units of 10 GB.
* `endpoints` - .
* `plaintext` - List of broker nodes (Port 9092).
* `tls` - List of broker nodes (Port 9093).
* `public_endpoint_plaintext` - List of public endpoint of broker nodes.
* `public_endpoint_plaintext_listener_port` - List of listener port for public endpoint of broker nodes.
* `public_endpoint_tls` - List of public endpoint of broker nodes (TLS).
* `public_endpoint_tls_listener_port` - List of listener port for public endpoint of broker nodes (TLS).
* `hosts_private_endpoint_tls` - Editing details of the hosts file (Private IP hostname format).
* `hosts_public_endpoint_tls` - Editing details of the hosts file (Public IP hostname format).
* `zookeeper` - List of ZooKeeper nodes (Port 2181).
31 changes: 31 additions & 0 deletions docs/data-sources/cdss_config_group.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Data Source: ncloud_cdss_config_group

## Example Usage

```hcl
data "ncloud_cdss_config_group" "config_sample" {
kafka_version_code = data.ncloud_cdss_kafka_version.kafka_version_sample.id
filter {
name = "name"
values = ["YOUR_CONFIG_GROUP_NAME"]
}
}
```


## Argument Reference
The following arguments are supported

* `kafka_version_code` - (Required) Cloud Data Streaming Service version to be used.
* `filter` - (Optional) Custom filter block as described below.
* `name` - (Required) The name of the field to filter by.
* `values` - (Required) Set of values that are accepted for the given field.
* `regex` - (Optional) is `values` treated as a regular expression.
## Attribute Reference
In addition to all arguments above, the following attributes are exported

* `id` - ConfigGroup id.
* `config_group_no` - Config group number.
* `name` - ConfigGroup name.
* `description` - ConfigGroup description.
33 changes: 33 additions & 0 deletions docs/data-sources/cdss_kafka_version.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Data Source: ncloud_cdss_kafka_version

## Example Usage

```hcl
data "ncloud_cdss_kafka_version" "sample_01" {
filter {
name = "id"
values = ["2403005"]
}
}
data "ncloud_cdss_kafka_version" "sample_02" {
filter {
name = "name"
values = ["Kafka 2.4.0"]
}
}
```

## Argument Reference

The following arguments are supported:

* `filter` - (Optional) Custom filter block as described below.
* `name` - (Required) The name of the field to filter by.
* `values` - (Required) Set of values that are accepted for the given field.
* `regex` - (Optional) is `values` treated as a regular expression.

## Attributes Reference

* `id` - The ID of kafka version.
* `name` - Kafka version name
13 changes: 13 additions & 0 deletions docs/data-sources/cdss_kafka_versions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Data Source: ncloud_cdss_kafka_versions

## Example Usage

```hcl
data "ncloud_cdss_kafka_versions" "kafka_versions_sample" {}
```

## Argument Reference

## Attributes Reference

* `kafka_versions` - A list of Kafka version
57 changes: 57 additions & 0 deletions docs/data-sources/cdss_node_product.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Data Source: ncloud_cdss_node_product

## Example Usage

```hcl
variable "subnet_no" {}
data "ncloud_subnet" "selected" {
id = var.subnet_no
}
data "ncloud_cdss_os_image" "os_image_sample" {
filter {
name = "product_name"
values = ["CentOS 7.8 (64-bit)"]
}
}
data "ncloud_cdss_node_product" "node_sample" {
os_image = data.ncloud_cdss_os_image.os_image_sample.id
subnet_no = ncloud_subnet.selected.id
filter {
name = "cpu_count"
values = ["2"]
}
filter {
name = "memory_size"
values = ["8GB"]
}
filter {
name = "product_type"
values = ["STAND"]
}
}
```

## Argument Reference

The following arguments are supported:

* `os_image` - (Required) OS type to be used.
* `subnet_no` - (Required) Subnet number where the node will be located.
* `filter` - (Optional) Custom filter block as described below.
* `name` - (Required) The name of the field to filter by.
* `values` - (Required) Set of values that are accepted for the given field.
* `regex` - (Optional) is `values` treated as a regular expression.

## Attributes Reference

* `id` - The ID of server product.
* `cpu_count` - CPU count.
* `memory_size` - Memory size.
* `product_type` - Product type code.

34 changes: 34 additions & 0 deletions docs/data-sources/cdss_node_products.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Data Source: ncloud_cdss_node_products

## Example Usage

```hcl
variable "subnet_no" {}
data "ncloud_subnet" "selected" {
id = var.subnet_no
}
data "ncloud_cdss_os_image" "os_image_sample" {
filter {
name = "product_name"
values = ["CentOS 7.8 (64-bit)"]
}
}
data "ncloud_cdss_node_products" "nodes_sample" {
os_image = data.ncloud_cdss_os_image.os_image_sample.id
subnet_no = ncloud_subnet.selected.id
}
```

## Argument Reference

The following arguments are supported:

* `os_image` - (Required) OS type to be used.
* `subnet_no` - (Required) Subnet number where the node will be located.

## Attributes Reference

* `node_products` - A list of Server product
32 changes: 32 additions & 0 deletions docs/data-sources/cdss_os_image.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Data Source: ncloud_cdss_os_image

## Example Usage

```hcl
data "ncloud_cdss_os_image" "sample_01" {
filter {
name = "id"
values = ["SW.VCDSS.OS.LNX64.CNTOS.0708.B050"]
}
}
data "ncloud_cdss_os_image" "sample_02" {
filter {
name = "image_name"
values = ["CentOS 7.8 (64-bit)"]
}
}
## Argument Reference
The following arguments are supported:
* `filter` - (Optional) Custom filter block as described below.
* `name` - (Required) The name of the field to filter by.
* `values` - (Required) Set of values that are accepted for the given field.
* `regex` - (Optional) is `values` treated as a regular expression.
## Attributes Reference
* `id` - The ID of server image product.
* `image_name` - Os image name
12 changes: 12 additions & 0 deletions docs/data-sources/cdss_os_images.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Data Source: ncloud_cdss_os_images

## Example Usage

```hcl
data "ncloud_cdss_os_images" "os_images_sample" {}
## Argument Reference
## Attributes Reference
* `os_images` - A list of Os image
Loading

0 comments on commit 2b9d6dd

Please sign in to comment.