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 <400979+codeb...@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 = "u...@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 = "u...@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> +```