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>
+```