-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
added datacenter initial configuration (#32)
* added datacenter initial configuration * Continuous Integration - terraform fmt and terraform-docs * initial commit for folder * filled out variables for the folder * updates to datacenter readme * added vsphere folder documentation * added provider requirements * added examples to the documentation --------- Co-authored-by: zachreborn <[email protected]>
- Loading branch information
1 parent
b460840
commit 0763353
Showing
8 changed files
with
418 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,166 @@ | ||
<!-- Blank module readme template: Do a search and replace with your text editor for the following: `module_name`, `module_description` --> | ||
<!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 --> | ||
<a name="readme-top"></a> | ||
|
||
|
||
<!-- PROJECT SHIELDS --> | ||
<!-- | ||
*** I'm using markdown "reference style" links for readability. | ||
*** Reference links are enclosed in brackets [ ] instead of parentheses ( ). | ||
*** See the bottom of this document for the declaration of the reference variables | ||
*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use. | ||
*** https://www.markdownguide.org/basic-syntax/#reference-style-links | ||
--> | ||
[![Contributors][contributors-shield]][contributors-url] | ||
[![Forks][forks-shield]][forks-url] | ||
[![Stargazers][stars-shield]][stars-url] | ||
[![Issues][issues-shield]][issues-url] | ||
[![MIT License][license-shield]][license-url] | ||
[![LinkedIn][linkedin-shield]][linkedin-url] | ||
|
||
|
||
<!-- PROJECT LOGO --> | ||
<br /> | ||
<div align="center"> | ||
<a href="https://github.com/zachreborn/terraform-modules"> | ||
<img src="/images/terraform_modules_logo.webp" alt="Logo" width="300" height="300"> | ||
</a> | ||
|
||
<h3 align="center">Datacenter</h3> | ||
<p align="center"> | ||
The vSphere Datacenter module deploys a datacenter resource. | ||
<br /> | ||
<a href="https://github.com/zachreborn/terraform-modules"><strong>Explore the docs »</strong></a> | ||
<br /> | ||
<br /> | ||
<a href="https://zacharyhill.co">Zachary Hill</a> | ||
· | ||
<a href="https://github.com/zachreborn/terraform-modules/issues">Report Bug</a> | ||
· | ||
<a href="https://github.com/zachreborn/terraform-modules/issues">Request Feature</a> | ||
</p> | ||
</div> | ||
|
||
|
||
<!-- TABLE OF CONTENTS --> | ||
<details> | ||
<summary>Table of Contents</summary> | ||
<ol> | ||
<li><a href="#usage">Usage</a></li> | ||
<li><a href="#requirements">Requirements</a></li> | ||
<li><a href="#providers">Providers</a></li> | ||
<li><a href="#modules">Modules</a></li> | ||
<li><a href="#Resources">Resources</a></li> | ||
<li><a href="#inputs">Inputs</a></li> | ||
<li><a href="#outputs">Outputs</a></li> | ||
<li><a href="#license">License</a></li> | ||
<li><a href="#contact">Contact</a></li> | ||
<li><a href="#acknowledgments">Acknowledgments</a></li> | ||
</ol> | ||
</details> | ||
|
||
|
||
<!-- USAGE EXAMPLES --> | ||
## Usage | ||
### Simple Example | ||
``` | ||
module "hq" { | ||
source = "github.com/zachreborn/terraform-modules//modules/vsphere/datacenter" | ||
folder = module.root_folder.id | ||
name = "hq" | ||
} | ||
``` | ||
|
||
_For more examples, please refer to the [Documentation](https://github.com/zachreborn/terraform-modules)_ | ||
|
||
<p align="right">(<a href="#readme-top">back to top</a>)</p> | ||
|
||
<!-- terraform-docs output will be input automatically below--> | ||
<!-- terraform-docs markdown table --output-file README.md --output-mode inject .--> | ||
<!-- BEGIN_TF_DOCS --> | ||
## Requirements | ||
|
||
| Name | Version | | ||
|------|---------| | ||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.0.0 | | ||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 2.5.0 | | ||
|
||
## Providers | ||
|
||
| Name | Version | | ||
|------|---------| | ||
| <a name="provider_vsphere"></a> [vsphere](#provider\_vsphere) | n/a | | ||
|
||
## Modules | ||
|
||
No modules. | ||
|
||
## Resources | ||
|
||
| Name | Type | | ||
|------|------| | ||
| [vsphere_datacenter.this](https://registry.terraform.io/providers/hashicorp/vsphere/latest/docs/resources/datacenter) | resource | | ||
|
||
## Inputs | ||
|
||
| Name | Description | Type | Default | Required | | ||
|------|-------------|------|---------|:--------:| | ||
| <a name="input_folder"></a> [folder](#input\_folder) | The folder where the datacenter will be created. Forces a new resource if this is changed. | `string` | n/a | yes | | ||
| <a name="input_name"></a> [name](#input\_name) | The name of the datacenter. The name needs to be unique within the folder. Forces a new resource if this is changed. | `string` | n/a | yes | | ||
| <a name="input_tags"></a> [tags](#input\_tags) | A map of tags to assign to the datacenter. | `map(string)` | <pre>{<br> "terraform": "true"<br>}</pre> | no | | ||
|
||
## Outputs | ||
|
||
| Name | Description | | ||
|------|-------------| | ||
| <a name="output_id"></a> [id](#output\_id) | The ID of the datacenter. | | ||
| <a name="output_moid"></a> [moid](#output\_moid) | The Managed Object ID of the datacenter. | | ||
<!-- END_TF_DOCS --> | ||
|
||
<!-- LICENSE --> | ||
## License | ||
|
||
Distributed under the MIT License. See `LICENSE.txt` for more information. | ||
|
||
<p align="right">(<a href="#readme-top">back to top</a>)</p> | ||
|
||
|
||
|
||
<!-- CONTACT --> | ||
## Contact | ||
|
||
Zachary Hill - [![LinkedIn][linkedin-shield]][linkedin-url] - [email protected] | ||
|
||
Project Link: [https://github.com/zachreborn/terraform-modules](https://github.com/zachreborn/terraform-modules) | ||
|
||
<p align="right">(<a href="#readme-top">back to top</a>)</p> | ||
|
||
|
||
|
||
<!-- ACKNOWLEDGMENTS --> | ||
## Acknowledgments | ||
|
||
* [Zachary Hill](https://zacharyhill.co) | ||
* [Jake Jones](https://github.com/jakeasarus) | ||
|
||
<p align="right">(<a href="#readme-top">back to top</a>)</p> | ||
|
||
|
||
<!-- MARKDOWN LINKS & IMAGES --> | ||
<!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --> | ||
[contributors-shield]: https://img.shields.io/github/contributors/zachreborn/terraform-modules.svg?style=for-the-badge | ||
[contributors-url]: https://github.com/zachreborn/terraform-modules/graphs/contributors | ||
[forks-shield]: https://img.shields.io/github/forks/zachreborn/terraform-modules.svg?style=for-the-badge | ||
[forks-url]: https://github.com/zachreborn/terraform-modules/network/members | ||
[stars-shield]: https://img.shields.io/github/stars/zachreborn/terraform-modules.svg?style=for-the-badge | ||
[stars-url]: https://github.com/zachreborn/terraform-modules/stargazers | ||
[issues-shield]: https://img.shields.io/github/issues/zachreborn/terraform-modules.svg?style=for-the-badge | ||
[issues-url]: https://github.com/zachreborn/terraform-modules/issues | ||
[license-shield]: https://img.shields.io/github/license/zachreborn/terraform-modules.svg?style=for-the-badge | ||
[license-url]: https://github.com/zachreborn/terraform-modules/blob/master/LICENSE.txt | ||
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555 | ||
[linkedin-url]: https://www.linkedin.com/in/zachary-hill-5524257a/ | ||
[product-screenshot]: /images/screenshot.webp | ||
[Terraform.io]: https://img.shields.io/badge/Terraform-7B42BC?style=for-the-badge&logo=terraform | ||
[Terraform-url]: https://terraform.io |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
terraform { | ||
required_version = ">= 1.0.0" | ||
required_providers { | ||
aws = { | ||
source = "hashicorp/vsphere" | ||
version = ">= 2.5.0" | ||
} | ||
} | ||
} | ||
|
||
resource "vsphere_datacenter" "this" { | ||
folder = var.folder | ||
name = var.name | ||
tags = var.tags | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
output "id" { | ||
description = "The ID of the datacenter." | ||
value = vsphere_datacenter.this.id | ||
} | ||
|
||
output "moid" { | ||
description = "The Managed Object ID of the datacenter." | ||
value = vsphere_datacenter.this.moid | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
variable "folder" { | ||
type = string | ||
description = "The folder where the datacenter will be created. Forces a new resource if this is changed." | ||
} | ||
|
||
variable "name" { | ||
type = string | ||
description = "The name of the datacenter. The name needs to be unique within the folder. Forces a new resource if this is changed." | ||
} | ||
|
||
variable "tags" { | ||
type = map(string) | ||
description = "A map of tags to assign to the datacenter." | ||
default = { | ||
terraform = "true" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,166 @@ | ||
<!-- Blank module readme template: Do a search and replace with your text editor for the following: `module_name`, `module_description` --> | ||
<!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 --> | ||
<a name="readme-top"></a> | ||
|
||
|
||
<!-- PROJECT SHIELDS --> | ||
<!-- | ||
*** I'm using markdown "reference style" links for readability. | ||
*** Reference links are enclosed in brackets [ ] instead of parentheses ( ). | ||
*** See the bottom of this document for the declaration of the reference variables | ||
*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use. | ||
*** https://www.markdownguide.org/basic-syntax/#reference-style-links | ||
--> | ||
[![Contributors][contributors-shield]][contributors-url] | ||
[![Forks][forks-shield]][forks-url] | ||
[![Stargazers][stars-shield]][stars-url] | ||
[![Issues][issues-shield]][issues-url] | ||
[![MIT License][license-shield]][license-url] | ||
[![LinkedIn][linkedin-shield]][linkedin-url] | ||
|
||
|
||
<!-- PROJECT LOGO --> | ||
<br /> | ||
<div align="center"> | ||
<a href="https://github.com/zachreborn/terraform-modules"> | ||
<img src="/images/terraform_modules_logo.webp" alt="Logo" width="300" height="300"> | ||
</a> | ||
|
||
<h3 align="center">Folder</h3> | ||
<p align="center"> | ||
This module creates a vSphere Folder resource. | ||
<br /> | ||
<a href="https://github.com/zachreborn/terraform-modules"><strong>Explore the docs »</strong></a> | ||
<br /> | ||
<br /> | ||
<a href="https://zacharyhill.co">Zachary Hill</a> | ||
· | ||
<a href="https://github.com/zachreborn/terraform-modules/issues">Report Bug</a> | ||
· | ||
<a href="https://github.com/zachreborn/terraform-modules/issues">Request Feature</a> | ||
</p> | ||
</div> | ||
|
||
|
||
<!-- TABLE OF CONTENTS --> | ||
<details> | ||
<summary>Table of Contents</summary> | ||
<ol> | ||
<li><a href="#usage">Usage</a></li> | ||
<li><a href="#requirements">Requirements</a></li> | ||
<li><a href="#providers">Providers</a></li> | ||
<li><a href="#modules">Modules</a></li> | ||
<li><a href="#Resources">Resources</a></li> | ||
<li><a href="#inputs">Inputs</a></li> | ||
<li><a href="#outputs">Outputs</a></li> | ||
<li><a href="#license">License</a></li> | ||
<li><a href="#contact">Contact</a></li> | ||
<li><a href="#acknowledgments">Acknowledgments</a></li> | ||
</ol> | ||
</details> | ||
|
||
|
||
<!-- USAGE EXAMPLES --> | ||
## Usage | ||
### Simple Example | ||
``` | ||
module "hq" { | ||
source = "github.com/zachreborn/terraform-modules//modules/vsphere/folder" | ||
datacenter_id = module.datacenter.id | ||
path = "/" | ||
type = "host" | ||
} | ||
``` | ||
|
||
_For more examples, please refer to the [Documentation](https://github.com/zachreborn/terraform-modules)_ | ||
|
||
<p align="right">(<a href="#readme-top">back to top</a>)</p> | ||
|
||
<!-- terraform-docs output will be input automatically below--> | ||
<!-- terraform-docs markdown table --output-file README.md --output-mode inject .--> | ||
<!-- BEGIN_TF_DOCS --> | ||
## Requirements | ||
|
||
| Name | Version | | ||
|------|---------| | ||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.0.0 | | ||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 2.5.0 | | ||
|
||
## Providers | ||
|
||
| Name | Version | | ||
|------|---------| | ||
| <a name="provider_vsphere"></a> [vsphere](#provider\_vsphere) | n/a | | ||
|
||
## Modules | ||
|
||
No modules. | ||
|
||
## Resources | ||
|
||
| Name | Type | | ||
|------|------| | ||
| [vsphere_folder.this](https://registry.terraform.io/providers/hashicorp/vsphere/latest/docs/resources/folder) | resource | | ||
|
||
## Inputs | ||
|
||
| Name | Description | Type | Default | Required | | ||
|------|-------------|------|---------|:--------:| | ||
| <a name="input_custom_attributes"></a> [custom\_attributes](#input\_custom\_attributes) | A list of custom attributes to apply to the folder. Unsupported on ESXi hosts, requires vCenter. | `map(string)` | `{}` | no | | ||
| <a name="input_datacenter_id"></a> [datacenter\_id](#input\_datacenter\_id) | The ID of the datacenter where the folder should be created. Forces a new resource if changed. | `any` | n/a | yes | | ||
| <a name="input_path"></a> [path](#input\_path) | The path of the folder. Must be unique within the datacenter. This is relative to the root of the folder for the resource type being created. | `any` | n/a | yes | | ||
| <a name="input_tags"></a> [tags](#input\_tags) | A map of tags to assign to the folder. | `map(string)` | <pre>{<br> "terraform": "true"<br>}</pre> | no | | ||
| <a name="input_type"></a> [type](#input\_type) | The type of the folder. Allowed options are: datacenter, host, vm, datastore, and network. If unset, the default is host. | `string` | `"host"` | no | | ||
|
||
## Outputs | ||
|
||
No outputs. | ||
<!-- END_TF_DOCS --> | ||
|
||
<!-- LICENSE --> | ||
## License | ||
|
||
Distributed under the MIT License. See `LICENSE.txt` for more information. | ||
|
||
<p align="right">(<a href="#readme-top">back to top</a>)</p> | ||
|
||
|
||
|
||
<!-- CONTACT --> | ||
## Contact | ||
|
||
Zachary Hill - [![LinkedIn][linkedin-shield]][linkedin-url] - [email protected] | ||
|
||
Project Link: [https://github.com/zachreborn/terraform-modules](https://github.com/zachreborn/terraform-modules) | ||
|
||
<p align="right">(<a href="#readme-top">back to top</a>)</p> | ||
|
||
|
||
|
||
<!-- ACKNOWLEDGMENTS --> | ||
## Acknowledgments | ||
|
||
* [Zachary Hill](https://zacharyhill.co) | ||
* [Jake Jones](https://github.com/jakeasarus) | ||
|
||
<p align="right">(<a href="#readme-top">back to top</a>)</p> | ||
|
||
|
||
<!-- MARKDOWN LINKS & IMAGES --> | ||
<!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --> | ||
[contributors-shield]: https://img.shields.io/github/contributors/zachreborn/terraform-modules.svg?style=for-the-badge | ||
[contributors-url]: https://github.com/zachreborn/terraform-modules/graphs/contributors | ||
[forks-shield]: https://img.shields.io/github/forks/zachreborn/terraform-modules.svg?style=for-the-badge | ||
[forks-url]: https://github.com/zachreborn/terraform-modules/network/members | ||
[stars-shield]: https://img.shields.io/github/stars/zachreborn/terraform-modules.svg?style=for-the-badge | ||
[stars-url]: https://github.com/zachreborn/terraform-modules/stargazers | ||
[issues-shield]: https://img.shields.io/github/issues/zachreborn/terraform-modules.svg?style=for-the-badge | ||
[issues-url]: https://github.com/zachreborn/terraform-modules/issues | ||
[license-shield]: https://img.shields.io/github/license/zachreborn/terraform-modules.svg?style=for-the-badge | ||
[license-url]: https://github.com/zachreborn/terraform-modules/blob/master/LICENSE.txt | ||
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555 | ||
[linkedin-url]: https://www.linkedin.com/in/zachary-hill-5524257a/ | ||
[product-screenshot]: /images/screenshot.webp | ||
[Terraform.io]: https://img.shields.io/badge/Terraform-7B42BC?style=for-the-badge&logo=terraform | ||
[Terraform-url]: https://terraform.io |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
terraform { | ||
required_version = ">= 1.0.0" | ||
required_providers { | ||
aws = { | ||
source = "hashicorp/vsphere" | ||
version = ">= 2.5.0" | ||
} | ||
} | ||
} | ||
|
||
|
||
resource "vsphere_folder" "this" { | ||
custom_attributes = var.custom_attributes | ||
datacenter_id = var.datacenter_id | ||
path = var.path | ||
tags = var.tags | ||
type = var.type | ||
} |
Empty file.
Oops, something went wrong.