diff --git a/README.md b/README.md index ab4ecfe..1aff414 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,11 @@ Terraform module which creates an ISE Deployment in Azure. - +} diff --git a/examples/ise-deployment-with-network-creation/README.md b/examples/ise-deployment-with-network-creation/README.md new file mode 100644 index 0000000..ef49422 --- /dev/null +++ b/examples/ise-deployment-with-network-creation/README.md @@ -0,0 +1,28 @@ +# ISE Deployment with ISE Network creation + +## Usage + +To run this example you need to execute: + +```bash +$ terraform init +$ terraform plan -var-file "azure.tfvars" +$ terraform apply -var-file "azure.tfvars" +``` + +Note that this example may create resources which cost money. Run `terraform destroy -var-file "azure.tfvars"` when you don't need these resources. + + +## Requirements + +| Name | Version | +|------|---------| +| [terraform](#requirement\_terraform) | >= 0.13.1 | +| [azure](#requirement\_azure) | >= 3.11.0 | + +## Providers + +| Name | Version | +|------|---------| +| [azure](#provider\_azure) | >= 3.11.0 | + diff --git a/examples/ise-deployment-with-network-creation/azure.tfvars b/examples/ise-deployment-with-network-creation/azure.tfvars new file mode 100644 index 0000000..f4aa653 --- /dev/null +++ b/examples/ise-deployment-with-network-creation/azure.tfvars @@ -0,0 +1,22 @@ +azure_resource_group_name = "TERRAFORM-TEST-3" +azure_resource_group_location = "South Central US" +azure_virtual_network_name = "TERRAFORM-VNET" +azure_virtual_network_address_space = ["10.1.0.0/16", "172.100.0.0/16"] +azure_virtual_network_dns_servers = ["127.0.0.1", "127.0.0.2"] +azure_subnet_name = "TERRAFORM-VSUBNET-2" +azure_subnet_address_prefixes = ["10.1.0.0/24"] +azure_network_security_group_name = "TERRAFORM-SECURITY-2" +ise_username = "adminIse" +ise_password = "*********" +ise_deployment = "large_deployment" // This can be (single_node, small_deployment, medium_deployment, large_deployment) +ise_psn_instances = 4 +ise_base_hostname = "ISE-32" +ise_dns_server = "208.67.220.220" +ise_domain = "sstcloud.com" +ise_ntp_server = "10.10.0.1" +ise_timezone = "America/Costa_Rica" +source_image_id = "/subscriptions/80c00b4f-3c6e-4eb2-bf09-8ad725a2e1ac/resourceGroups/CLOUD-SHELL-STORAGE-SOUTHCENTRALUS/providers/Microsoft.Compute/images/ise-3.2" +create_resource_group = true +create_virtual_network = true +create_security_group = true +create_subnet = true diff --git a/examples/ise-deployment-with-network-creation/main.tf b/examples/ise-deployment-with-network-creation/main.tf new file mode 100644 index 0000000..9536820 --- /dev/null +++ b/examples/ise-deployment-with-network-creation/main.tf @@ -0,0 +1,26 @@ +module "ise-deployment" { + source = "fmunozmiranda/ise-deployment/azure" + version = "1.0.0" + azure_resource_group_name = var.azure_resource_group_name + azure_resource_group_location = var.azure_resource_group_location + azure_virtual_network_name = var.azure_virtual_network_name + azure_virtual_network_address_space = var.azure_virtual_network_address_space + azure_virtual_network_dns_servers = var.azure_virtual_network_dns_servers + azure_subnet_name = var.azure_subnet_name + azure_subnet_address_prefixes = var.azure_subnet_address_prefixes + azure_network_security_group_name = var.azure_network_security_group_name + ise_username = var.ise_username + ise_password = var.ise_password + ise_deployment = var.ise_deployment + ise_psn_instances = var.ise_psn_instances + ise_base_hostname = var.ise_base_hostname + ise_dns_server = var.ise_dns_server + ise_domain = var.ise_domain + ise_ntp_server = var.ise_ntp_server + ise_timezone = var.ise_timezone + source_image_id = var.source_image_id + create_resource_group = var.create_resource_group + create_virtual_network = var.create_virtual_network + create_security_group = var.create_security_group + create_subnet = var.create_subnet +} \ No newline at end of file diff --git a/examples/ise-deployment-with-network-creation/variables.tf b/examples/ise-deployment-with-network-creation/variables.tf new file mode 100644 index 0000000..4b1f16d --- /dev/null +++ b/examples/ise-deployment-with-network-creation/variables.tf @@ -0,0 +1,118 @@ +variable "azure_resource_group_name" { + type = string + description = "Azure Resource Group Name" +} + +variable "azure_resource_group_location" { + type = string + description = "Azure Resource Location" +} + +variable "azure_virtual_network_name" { + type = string + description = "Azure Virtual Network Name For ISE." +} + +variable "azure_virtual_network_address_space" { + type = list(string) //["10.1.0.0/16","172.100.0.0/16"] + description = "Azure Virtual Network Adress Space For ISE." +} + +variable "azure_virtual_network_dns_servers" { + type = list(string) + description = "Azure Virtual Network DNS Servers For ISE." +} + +variable "azure_subnet_name" { + type = string + description = "Azure Subnet Network Name For ISE." +} + +variable "azure_subnet_address_prefixes" { + type = list(string) //["10.1.2.0/24"] + description = "Azure Subnet Address Prefixes For ISE." +} + +variable "azure_network_security_group_name" { + type = string + description = "Azure Network Security Group Name For ISE." +} + +variable "ise_username" { + type = string + description = "ISE Username." +} + +variable "ise_password" { + type = string + description = "ISE Password." +} + +variable "ise_deployment" { + type = string + validation { + condition = var.ise_deployment == "single_node" || var.ise_deployment == "small_deployment" || var.ise_deployment == "medium_deployment" || var.ise_deployment == "large_deployment" + error_message = "The ise_deployment value must be a some of values : (single_node, small_deployment, medium_deployment, large_deployment)." + } + description = "ISE Type Deployment, it should be one of: (single_node, small_deployment, medium_deployment, large_deployment)." +} + +variable "ise_psn_instances" { + type = number + description = "ISE PSN Instances." + default = 0 +} + +variable "ise_base_hostname" { + type = string + description = "ISE Base Hostname." +} + +variable "create_resource_group" { + type = bool + default = true + description = "Determines to create or not a new Resource Group." +} + +variable "create_virtual_network" { + type = bool + default = true + description = "Determines to create or not a new Virtual Network." +} + +variable "create_security_group" { + type = bool + default = true + description = "Determines to create or not a new Security Group." +} + +variable "create_subnet" { + type = bool + default = true + description = "Determines to create or not a new Subnet." +} + +variable "ise_ntp_server" { + description = "ISE Server NTP" + type = string +} + +variable "ise_dns_server" { + description = "ISE Server DNS" + type = string +} + +variable "ise_domain" { + description = "ISE Server Domain" + type = string +} + +variable "ise_timezone" { + description = "ISE Server Timezone" + type = string +} + +variable "source_image_id" { + description = "ISE Source Image Id" + type = string +} \ No newline at end of file diff --git a/examples/ise-deployment-with-no-network-creation/README.md b/examples/ise-deployment-with-no-network-creation/README.md new file mode 100644 index 0000000..7dc9948 --- /dev/null +++ b/examples/ise-deployment-with-no-network-creation/README.md @@ -0,0 +1,28 @@ +# ISE Deployment with No ISE Network creation + +## Usage + +To run this example you need to execute: + +```bash +$ terraform init +$ terraform plan -var-file "azure.tfvars" +$ terraform apply -var-file "azure.tfvars" +``` + +Note that this example may create resources which cost money. Run `terraform destroy -var-file "azure.tfvars"` when you don't need these resources. + + +## Requirements + +| Name | Version | +|------|---------| +| [terraform](#requirement\_terraform) | >= 0.13.1 | +| [azure](#requirement\_azure) | >= 3.11.0 | + +## Providers + +| Name | Version | +|------|---------| +| [azure](#provider\_azure) | >= 3.11.0 | + diff --git a/examples/ise-deployment-with-no-network-creation/azure.tfvars b/examples/ise-deployment-with-no-network-creation/azure.tfvars new file mode 100644 index 0000000..ea8f1fe --- /dev/null +++ b/examples/ise-deployment-with-no-network-creation/azure.tfvars @@ -0,0 +1,22 @@ +azure_resource_group_name = "TERRAFORM-TEST-3" +azure_resource_group_location = "South Central US" +azure_virtual_network_name = "TERRAFORM-VNET" +azure_virtual_network_address_space = ["10.1.0.0/16", "172.100.0.0/16"] +azure_virtual_network_dns_servers = ["127.0.0.1", "127.0.0.2"] +azure_subnet_name = "TERRAFORM-VSUBNET-2" +azure_subnet_address_prefixes = ["10.1.0.0/24"] +azure_network_security_group_name = "TERRAFORM-SECURITY-2" +ise_username = "adminIse" +ise_password = "*********" +ise_deployment = "large_deployment" // This can be (single_node, small_deployment, medium_deployment, large_deployment) +ise_psn_instances = 4 +ise_base_hostname = "ISE-32" +ise_dns_server = "208.67.220.220" +ise_domain = "sstcloud.com" +ise_ntp_server = "10.10.0.1" +ise_timezone = "America/Costa_Rica" +source_image_id = "/subscriptions/80c00b4f-3c6e-4eb2-bf09-8ad725a2e1ac/resourceGroups/CLOUD-SHELL-STORAGE-SOUTHCENTRALUS/providers/Microsoft.Compute/images/ise-3.2" +create_resource_group = false +create_virtual_network = false +create_security_group = false +create_subnet = false diff --git a/examples/ise-deployment-with-no-network-creation/main.tf b/examples/ise-deployment-with-no-network-creation/main.tf new file mode 100644 index 0000000..9536820 --- /dev/null +++ b/examples/ise-deployment-with-no-network-creation/main.tf @@ -0,0 +1,26 @@ +module "ise-deployment" { + source = "fmunozmiranda/ise-deployment/azure" + version = "1.0.0" + azure_resource_group_name = var.azure_resource_group_name + azure_resource_group_location = var.azure_resource_group_location + azure_virtual_network_name = var.azure_virtual_network_name + azure_virtual_network_address_space = var.azure_virtual_network_address_space + azure_virtual_network_dns_servers = var.azure_virtual_network_dns_servers + azure_subnet_name = var.azure_subnet_name + azure_subnet_address_prefixes = var.azure_subnet_address_prefixes + azure_network_security_group_name = var.azure_network_security_group_name + ise_username = var.ise_username + ise_password = var.ise_password + ise_deployment = var.ise_deployment + ise_psn_instances = var.ise_psn_instances + ise_base_hostname = var.ise_base_hostname + ise_dns_server = var.ise_dns_server + ise_domain = var.ise_domain + ise_ntp_server = var.ise_ntp_server + ise_timezone = var.ise_timezone + source_image_id = var.source_image_id + create_resource_group = var.create_resource_group + create_virtual_network = var.create_virtual_network + create_security_group = var.create_security_group + create_subnet = var.create_subnet +} \ No newline at end of file diff --git a/examples/ise-deployment-with-no-network-creation/variables.tf b/examples/ise-deployment-with-no-network-creation/variables.tf new file mode 100644 index 0000000..4b1f16d --- /dev/null +++ b/examples/ise-deployment-with-no-network-creation/variables.tf @@ -0,0 +1,118 @@ +variable "azure_resource_group_name" { + type = string + description = "Azure Resource Group Name" +} + +variable "azure_resource_group_location" { + type = string + description = "Azure Resource Location" +} + +variable "azure_virtual_network_name" { + type = string + description = "Azure Virtual Network Name For ISE." +} + +variable "azure_virtual_network_address_space" { + type = list(string) //["10.1.0.0/16","172.100.0.0/16"] + description = "Azure Virtual Network Adress Space For ISE." +} + +variable "azure_virtual_network_dns_servers" { + type = list(string) + description = "Azure Virtual Network DNS Servers For ISE." +} + +variable "azure_subnet_name" { + type = string + description = "Azure Subnet Network Name For ISE." +} + +variable "azure_subnet_address_prefixes" { + type = list(string) //["10.1.2.0/24"] + description = "Azure Subnet Address Prefixes For ISE." +} + +variable "azure_network_security_group_name" { + type = string + description = "Azure Network Security Group Name For ISE." +} + +variable "ise_username" { + type = string + description = "ISE Username." +} + +variable "ise_password" { + type = string + description = "ISE Password." +} + +variable "ise_deployment" { + type = string + validation { + condition = var.ise_deployment == "single_node" || var.ise_deployment == "small_deployment" || var.ise_deployment == "medium_deployment" || var.ise_deployment == "large_deployment" + error_message = "The ise_deployment value must be a some of values : (single_node, small_deployment, medium_deployment, large_deployment)." + } + description = "ISE Type Deployment, it should be one of: (single_node, small_deployment, medium_deployment, large_deployment)." +} + +variable "ise_psn_instances" { + type = number + description = "ISE PSN Instances." + default = 0 +} + +variable "ise_base_hostname" { + type = string + description = "ISE Base Hostname." +} + +variable "create_resource_group" { + type = bool + default = true + description = "Determines to create or not a new Resource Group." +} + +variable "create_virtual_network" { + type = bool + default = true + description = "Determines to create or not a new Virtual Network." +} + +variable "create_security_group" { + type = bool + default = true + description = "Determines to create or not a new Security Group." +} + +variable "create_subnet" { + type = bool + default = true + description = "Determines to create or not a new Subnet." +} + +variable "ise_ntp_server" { + description = "ISE Server NTP" + type = string +} + +variable "ise_dns_server" { + description = "ISE Server DNS" + type = string +} + +variable "ise_domain" { + description = "ISE Server Domain" + type = string +} + +variable "ise_timezone" { + description = "ISE Server Timezone" + type = string +} + +variable "source_image_id" { + description = "ISE Source Image Id" + type = string +} \ No newline at end of file diff --git a/modules/large_deployment/README.md b/modules/large_deployment/README.md index 6a7e23d..24d93f7 100644 --- a/modules/large_deployment/README.md +++ b/modules/large_deployment/README.md @@ -8,11 +8,15 @@ Terraform module which creates an ISE Large Deployment in Azure. - + + +module "ise-deployment_large_deployment" { + source = "fmunozmiranda/ise-deployment/azure//modules/large_deployment" + version = "1.0.0" + # insert the 14 required variables here +} + + ``` diff --git a/modules/medium_deployment/README.md b/modules/medium_deployment/README.md index b42d9d7..364f656 100644 --- a/modules/medium_deployment/README.md +++ b/modules/medium_deployment/README.md @@ -8,11 +8,15 @@ Terraform module which creates an ISE Medium Deployment in Azure. - + + +module "ise-deployment_large_deployment" { + source = "fmunozmiranda/ise-deployment/azure//modules/medium_deployment" + version = "1.0.0" + # insert the 14 required variables here +} + + ``` diff --git a/modules/single_node/README.md b/modules/single_node/README.md index 29f868e..ba2342c 100644 --- a/modules/single_node/README.md +++ b/modules/single_node/README.md @@ -8,11 +8,15 @@ Terraform module which creates an ISE Single Node Deployment in Azure. - + + +module "ise-deployment_small_deployment" { + source = "fmunozmiranda/ise-deployment/azure//modules/single_node_deployment" + version = "1.0.0" + # insert the 13 required variables here +} + + ``` diff --git a/modules/small_deployment/README.md b/modules/small_deployment/README.md index 6b96169..9bdcca0 100644 --- a/modules/small_deployment/README.md +++ b/modules/small_deployment/README.md @@ -8,11 +8,15 @@ Terraform module which creates an ISE Small Deployment in Azure. - + + +module "ise-deployment_small_deployment" { + source = "fmunozmiranda/ise-deployment/azure//modules/small_deployment" + version = "1.0.0" + # insert the 13 required variables here +} + + ```