You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ro...@apache.org on 2024/02/15 10:51:52 UTC
(cloudstack-terraform-provider) branch main updated: Add docs for new resources (#81)
This is an automated email from the ASF dual-hosted git repository.
rohit pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack-terraform-provider.git
The following commit(s) were added to refs/heads/main by this push:
new 27c14cf Add docs for new resources (#81)
27c14cf is described below
commit 27c14cf3f64ff4a3cc54d4978139d939897519b1
Author: CodeBleu <40...@users.noreply.github.com>
AuthorDate: Thu Feb 15 05:51:47 2024 -0500
Add docs for new resources (#81)
* Account
* Disk Offering
* Domain
* Kubernetes (version & Cluster)
* Network Offering
* Service Offering
* User
* Volume
* Zone
---
website/docs/r/account.html.markdown | 52 ++++++++++++++++
website/docs/r/disk_offering.html.markdown | 47 +++++++++++++++
website/docs/r/domain.html.markdown | 48 +++++++++++++++
website/docs/r/kubernetes_cluster.html.markdown | 79 +++++++++++++++++++++++++
website/docs/r/kubernetes_version.html.markdown | 54 +++++++++++++++++
website/docs/r/network_offering.html.markdown | 50 ++++++++++++++++
website/docs/r/service_offering.html.markdown | 44 ++++++++++++++
website/docs/r/user.html.markdown | 48 +++++++++++++++
website/docs/r/volume.html.markdown | 45 ++++++++++++++
website/docs/r/zone.html.markdown | 46 ++++++++++++++
10 files changed, 513 insertions(+)
diff --git a/website/docs/r/account.html.markdown b/website/docs/r/account.html.markdown
new file mode 100644
index 0000000..5d555a3
--- /dev/null
+++ b/website/docs/r/account.html.markdown
@@ -0,0 +1,52 @@
+---
+layout: default
+page_title: "CloudStack: cloudstack_account"
+sidebar_current: "docs-cloudstack-resource-account"
+description: |-
+ Creates a Account
+---
+
+# CloudStack: cloudstack_account
+
+A `cloudstack_account` resource manages an account within CloudStack.
+
+## Example Usage
+
+```hcl
+resource "cloudstack_account" "example" {
+ email = "user@example.com"
+ first_name = "John"
+ last_name = "Doe"
+ password = "securepassword"
+ username = "jdoe"
+ account_type = 1 # 1 for admin, 2 for domain admin, 0 for regular user
+ role_id = "1234abcd" # ID of the role associated with the account
+}
+```
+
+## Argument Reference
+
+The following arguments are supported:
+
+* `email` - (Required) The email address of the account owner.
+* `first_name` - (Required) The first name of the account owner.
+* `last_name` - (Required) The last name of the account owner.
+* `password` - (Required) The password for the account.
+* `username` - (Required) The username of the account.
+* `account_type` - (Required) The account type. Possible values are `0` for regular user, `1` for admin, and `2` for domain admin.
+* `role_id` - (Required) The ID of the role associated with the account.
+* `account` - (Optional) The account name. If not specified, the username will be used as the account name.
+
+## Attributes Reference
+
+The following attributes are exported:
+
+* `id` - The ID of the account.
+
+## Import
+
+Accounts can be imported; use `<ACCOUNTID>` as the import ID. For example:
+
+```shell
+$ terraform import cloudstack_account.example <ACCOUNTID>
+```
diff --git a/website/docs/r/disk_offering.html.markdown b/website/docs/r/disk_offering.html.markdown
new file mode 100644
index 0000000..cbccf16
--- /dev/null
+++ b/website/docs/r/disk_offering.html.markdown
@@ -0,0 +1,47 @@
+---
+layout: default
+page_title: "CloudStack: cloudstack_disk_offering"
+sidebar_current: "docs-cloudstack-resource-disk_offering"
+description: |-
+ Creates a Disk Offering
+---
+
+# CloudStack: cloudstack_disk_offering
+
+A `cloudstack_disk_offering` resource manages a disk offering within CloudStack.
+
+## Example Usage
+
+```hcl
+resource "cloudstack_disk_offering" "example" {
+ name = "example-disk-offering"
+ display_text = "Example Disk Offering"
+ disk_size = 100
+}
+```
+
+
+## Argument Reference
+
+The following arguments are supported:
+
+* `name` - (Required) The name of the disk offering.
+* `display_text` - (Required) The display text of the disk offering.
+* `disk_size` - (Required) The size of the disk offering in GB.
+
+## Attributes Reference
+
+The following attributes are exported:
+
+* `id` - The ID of the disk offering.
+* `name` - The name of the disk offering.
+* `display_text` - The display text of the disk offering.
+* `disk_size` - The size of the disk offering in GB.
+
+## Import
+
+Disk offerings can be imported; use `<DISKOFFERINGID>` as the import ID. For example:
+
+```shell
+$ terraform import cloudstack_disk_offering.example <DISKOFFERINGID>
+```
diff --git a/website/docs/r/domain.html.markdown b/website/docs/r/domain.html.markdown
new file mode 100644
index 0000000..8bf9668
--- /dev/null
+++ b/website/docs/r/domain.html.markdown
@@ -0,0 +1,48 @@
+---
+layout: default
+page_title: "CloudStack: cloudstack_domain"
+sidebar_current: "docs-cloudstack-resource-domain"
+description: |-
+ Creates a Domain
+---
+
+# CloudStack: cloudstack_domain
+
+A `cloudstack_domain` resource manages a domain within CloudStack.
+
+## Example Usage
+
+```hcl
+resource "cloudstack_domain" "example" {
+ name = "example-domain"
+ network_domain = "example.local"
+ parent_domain_id = "ROOT"
+}
+```
+
+
+## Argument Reference
+
+The following arguments are supported:
+
+* `name` - (Required) The name of the domain.
+* `domain_id` - (Optional) The ID of the domain.
+* `network_domain` - (Optional) The network domain for the domain.
+* `parent_domain_id` - (Optional) The ID of the parent domain.
+
+## Attributes Reference
+
+The following attributes are exported:
+
+* `id` - The ID of the domain.
+* `name` - The name of the domain.
+* `network_domain` - The network domain for the domain.
+* `parent_domain_id` - The ID of the parent domain.
+
+## Import
+
+Domains can be imported; use `<DOMAINID>` as the import ID. For example:
+
+```shell
+$ terraform import cloudstack_domain.example <DOMAINID>
+```
diff --git a/website/docs/r/kubernetes_cluster.html.markdown b/website/docs/r/kubernetes_cluster.html.markdown
new file mode 100644
index 0000000..9c3967a
--- /dev/null
+++ b/website/docs/r/kubernetes_cluster.html.markdown
@@ -0,0 +1,79 @@
+---
+layout: default
+page_title: "CloudStack: cloudstack_kubernetes_cluster"
+sidebar_current: "docs-cloudstack-resource-kubernetes_cluster"
+description: |-
+ Creates a Kubernetes Cluster
+---
+
+# CloudStack: cloudstack_kubernetes_cluster
+
+A `cloudstack_kubernetes_cluster` resource manages a Kubernetes cluster within CloudStack.
+
+## Example Usage
+
+```hcl
+resource "cloudstack_kubernetes_cluster" "example" {
+ name = "example-cluster"
+ zone = "zone-id"
+ kubernetes_version = "1.18.6"
+ service_offering = "small"
+ size = 1
+ autoscaling_enabled = true
+ min_size = 1
+ max_size = 5
+ control_nodes_size = 1
+ description = "An example Kubernetes cluster"
+ keypair = "my-ssh-key"
+ network_id = "net-id"
+ state = "Running"
+ project = "my-project"
+}
+```
+
+
+## Argument Reference
+
+The following arguments are supported:
+
+* `name` - (Required) The name of the Kubernetes cluster.
+* `zone` - (Required) The zone where the Kubernetes cluster will be deployed.
+* `kubernetes_version` - (Required) The Kubernetes version for the cluster.
+* `service_offering` - (Required) The service offering for the nodes in the cluster.
+* `size` - (Optional) The initial size of the Kubernetes cluster. Defaults to `1`.
+* `autoscaling_enabled` - (Optional) Whether autoscaling is enabled for the cluster.
+* `min_size` - (Optional) The minimum size of the Kubernetes cluster when autoscaling is enabled.
+* `max_size` - (Optional) The maximum size of the Kubernetes cluster when autoscaling is enabled.
+* `control_nodes_size` - (Optional) The size of the control nodes in the cluster.
+* `description` - (Optional) A description for the Kubernetes cluster.
+* `keypair` - (Optional) The SSH key pair to use for the nodes in the cluster.
+* `network_id` - (Optional) The network ID to connect the Kubernetes cluster to.
+* `ip_address` - (Computed) The IP address of the Kubernetes cluster.
+* `state` - (Optional) The state of the Kubernetes cluster. Defaults to `"Running"`.
+* `project` - (Optional) The project to assign the Kubernetes cluster to.
+
+## Attributes Reference
+
+The following attributes are exported:
+
+* `id` - The ID of the Kubernetes cluster.
+* `name` - The name of the Kubernetes cluster.
+* `description` - The description of the Kubernetes cluster.
+* `control_nodes_size` - The size of the control nodes in the cluster.
+* `size` - The size of the Kubernetes cluster.
+* `autoscaling_enabled` - Whether autoscaling is enabled for the cluster.
+* `min_size` - The minimum size of the Kubernetes cluster when autoscaling is enabled.
+* `max_size` - The maximum size of the Kubernetes cluster when autoscaling is enabled.
+* `keypair` - The SSH key pair used for the nodes in the cluster.
+* `network_id` - The network ID connected to the Kubernetes cluster.
+* `ip_address` - The IP address of the Kubernetes cluster.
+* `state` - The state of the Kubernetes cluster.
+* `project` - The project assigned to the Kubernetes cluster.
+
+## Import
+
+Kubernetes clusters can be imported; use `<KUBERNETESCLUSTERID>` as the import ID. For example:
+
+```shell
+$ terraform import cloudstack_kubernetes_cluster.example <KUBERNETESCLUSTERID>
+```
diff --git a/website/docs/r/kubernetes_version.html.markdown b/website/docs/r/kubernetes_version.html.markdown
new file mode 100644
index 0000000..a3f7a0f
--- /dev/null
+++ b/website/docs/r/kubernetes_version.html.markdown
@@ -0,0 +1,54 @@
+---
+layout: default
+page_title: "CloudStack: cloudstack_kubernetes_version"
+sidebar_current: "docs-cloudstack-resource-kubernetes_version"
+description: |-
+ Creates a Kubernetes Version
+---
+
+# CloudStack: cloudstack_kubernetes_version
+
+A `cloudstack_kubernetes_version` resource manages a Kubernetes version within CloudStack.
+
+## Example Usage
+
+```hcl
+resource "cloudstack_kubernetes_version" "example" {
+ semantic_version = "1.19.0"
+ url = "https://example.com/k8s/1.19.0.tar.gz"
+ min_cpu = 2
+ min_memory = 2048
+}
+```
+
+## Argument Reference
+
+The following arguments are supported:
+
+* `semantic_version` - (Required) The semantic version of the Kubernetes version.
+* `url` - (Required) The URL to download the Kubernetes version package.
+* `min_cpu` - (Required) The minimum CPU requirement for the Kubernetes version.
+* `min_memory` - (Required) The minimum memory requirement for the Kubernetes version.
+* `name` - (Optional) The name of the Kubernetes version.
+* `zone` - (Optional) The zone in which the Kubernetes version should be added.
+* `checksum` - (Optional) The checksum of the Kubernetes version package.
+* `state` - (Optional) The state of the Kubernetes version. Defaults to "Enabled".
+
+## Attributes Reference
+
+The following attributes are exported:
+
+* `id` - The ID of the Kubernetes version.
+* `semantic_version` - The semantic version of the Kubernetes version.
+* `name` - The name of the Kubernetes version.
+* `min_cpu` - The minimum CPU requirement for the Kubernetes version.
+* `min_memory` - The minimum memory requirement for the Kubernetes version.
+* `state` - The state of the Kubernetes version.
+
+## Import
+
+Kubernetes versions can be imported using the ID of the resource; use `<KUBERNETESVERSIONID>` as the import ID. For example:
+
+```shell
+$ terraform import cloudstack_kubernetes_version.example <KUBERNETESVERSIONID>
+```
diff --git a/website/docs/r/network_offering.html.markdown b/website/docs/r/network_offering.html.markdown
new file mode 100644
index 0000000..1ef9a87
--- /dev/null
+++ b/website/docs/r/network_offering.html.markdown
@@ -0,0 +1,50 @@
+---
+layout: default
+page_title: "CloudStack: cloudstack_network_offering"
+sidebar_current: "docs-cloudstack-resource-network_offering"
+description: |-
+ Creates a Network Offering
+---
+
+# CloudStack: cloudstack_network_offering
+
+A `cloudstack_network_offering` resource manages a network offering within CloudStack.
+
+## Example Usage
+
+```hcl
+resource "cloudstack_network_offering" "example" {
+ name = "example-network-offering"
+ display_text = "Example Network Offering"
+ guest_ip_type = "Shared"
+ traffic_type = "Guest"
+}
+```
+
+
+## Argument Reference
+
+The following arguments are supported:
+
+* `name` - (Required) The name of the network offering.
+* `display_text` - (Required) The display text of the network offering.
+* `guest_ip_type` - (Required) The type of IP address allocation for the network offering. Possible values are "Shared" or "Isolated".
+* `traffic_type` - (Required) The type of traffic for the network offering. Possible values are "Guest" or "Management".
+
+## Attributes Reference
+
+The following attributes are exported:
+
+* `id` - The ID of the network offering.
+* `name` - The name of the network offering.
+* `display_text` - The display text of the network offering.
+* `guest_ip_type` - The type of IP address allocation for the network offering.
+* `traffic_type` - The type of traffic for the network offering.
+
+## Import
+
+Network offerings can be imported; use `<NETWORKOFFERINGID>` as the import ID. For example:
+
+```shell
+$ terraform import cloudstack_network_offering.example <NETWORKOFFERINGID>
+```
diff --git a/website/docs/r/service_offering.html.markdown b/website/docs/r/service_offering.html.markdown
new file mode 100644
index 0000000..c4b5096
--- /dev/null
+++ b/website/docs/r/service_offering.html.markdown
@@ -0,0 +1,44 @@
+---
+layout: default
+title: "CloudStack: cloudstack_service_offering"
+sidebar_current: "docs-cloudstack-resource-service_offering"
+description: |-
+ Creates a Service Offering
+---
+
+# CloudStack: cloudstack_service_offering
+
+A `cloudstack_service_offering` resource manages a service offering within CloudStack.
+
+## Example Usage
+
+```hcl
+resource "cloudstack_service_offering" "example" {
+ name = "example-service-offering"
+ display_text = "Example Service Offering"
+}
+```
+
+
+## Argument Reference
+
+The following arguments are supported:
+
+* `name` - (Required) The name of the service offering.
+* `display_text` - (Required) The display text of the service offering.
+
+## Attributes Reference
+
+The following attributes are exported:
+
+* `id` - The ID of the service offering.
+* `name` - The name of the service offering.
+* `display_text` - The display text of the service offering.
+
+## Import
+
+Service offerings can be imported; use `<SERVICEOFFERINGID>` as the import ID. For example:
+
+```shell
+$ terraform import cloudstack_service_offering.example <SERVICEOFFERINGID>
+```
diff --git a/website/docs/r/user.html.markdown b/website/docs/r/user.html.markdown
new file mode 100644
index 0000000..94949bb
--- /dev/null
+++ b/website/docs/r/user.html.markdown
@@ -0,0 +1,48 @@
+---
+layout: default
+title: "CloudStack: cloudstack_user"
+sidebar_current: "docs-cloudstack-resource-user"
+description: |-
+ Creates a User
+---
+
+# CloudStack: cloudstack_user
+
+A `cloudstack_user` resource manages a user within CloudStack.
+
+## Example Usage
+
+```hcl
+resource "cloudstack_user" "example" {
+ account = "example-account"
+ email = "user@example.com"
+ first_name = "John"
+ last_name = "Doe"
+ password = "securepassword"
+ username = "jdoe"
+}
+```
+
+
+## Argument Reference
+
+The following arguments are supported:
+
+* `account` - (Optional) The account the user belongs to.
+* `email` - (Required) The email address of the user.
+* `first_name` - (Required) The first name of the user.
+* `last_name` - (Required) The last name of the user.
+* `password` - (Required) The password for the user.
+* `username` - (Required) The username of the user.
+
+## Attributes Reference
+
+No attributes are exported.
+
+## Import
+
+Users can be imported; use `<USERID>` as the import ID. For example:
+
+```shell
+$ terraform import cloudstack_user.example <USERID>
+```
diff --git a/website/docs/r/volume.html.markdown b/website/docs/r/volume.html.markdown
new file mode 100644
index 0000000..bb83e2e
--- /dev/null
+++ b/website/docs/r/volume.html.markdown
@@ -0,0 +1,45 @@
+---
+layout: default
+page_title: "CloudStack: cloudstack_volume"
+sidebar_current: "docs-cloudstack-resource-volume"
+description: |-
+ Creates a Volume
+---
+# CloudStack: cloudstack_volume
+
+A `cloudstack_volume` resource manages a volume within CloudStack.
+
+## Example Usage
+
+```hcl
+resource "cloudstack_volume" "example" {
+ name = "example-volume"
+ disk_offering_id = "a6f7e5fb-1b9a-417e-a46e-7e3d715f34d3"
+ zone_id = "b0fcd7cc-5e14-499d-a2ff-ecf49840f1ab"
+}
+```
+
+## Argument Reference
+
+The following arguments are supported:
+
+* `name` - (Required) The name of the volume. Forces new resource.
+* `disk_offering_id` - (Required) The ID of the disk offering for the volume. Forces new resource.
+* `zone_id` - (Required) The ID of the zone where the volume will be created. Forces new resource.
+
+## Attributes Reference
+
+The following attributes are exported:
+
+* `id` - The ID of the volume.
+* `name` - The name of the volume.
+* `disk_offering_id` - The ID of the disk offering for the volume.
+* `zone_id` - The ID of the zone where the volume resides.
+
+## Import
+
+Volumes can be imported; use `<VOLUMEID>` as the import ID. For example:
+
+```shell
+$ terraform import cloudstack_volume.example <VOLUMEID>
+```
diff --git a/website/docs/r/zone.html.markdown b/website/docs/r/zone.html.markdown
new file mode 100644
index 0000000..58586a3
--- /dev/null
+++ b/website/docs/r/zone.html.markdown
@@ -0,0 +1,46 @@
+---
+layout: default
+page_title: "CloudStack: cloudstack_zone"
+sidebar_current: "docs-cloudstack-resource-zone"
+description: |-
+ Creates a Zone
+---
+
+# CloudStack: cloudstack_zone
+
+A `cloudstack_zone` resource manages a zone within CloudStack.
+
+## Example Usage
+```hcl
+resource "cloudstack_zone" "example" {
+ name = "example-zone"
+ dns1 = "8.8.8.8"
+ internal_dns1 = "8.8.4.4"
+ network_type = "Basic"
+}
+```
+## Argument Reference
+
+The following arguments are supported:
+
+* `name` - (Required) The name of the zone.
+* `dns1` - (Required) The DNS server 1 for the zone.
+* `internal_dns1` - (Required) The internal DNS server 1 for the zone.
+* `network_type` - (Required) The type of network to use for the zone.
+
+## Attributes Reference
+
+The following attributes are exported:
+
+* `id` - The ID of the zone.
+* `name` - The name of the zone.
+* `dns1` - The DNS server 1 for the zone.
+* `internal_dns1` - The internal DNS server 1 for the zone.
+* `network_type` - The type of network to use for the zone.
+
+## Import
+
+Zones can be imported; use `<ZONEID>` as the import ID. For example:
+```shell
+$ terraform import cloudstack_zone.example <ZONEID>
+```