Created
August 4, 2016 19:01
-
-
Save zot24/f6186a1c96ebca2780cf64968efddb89 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
| provider "azurerm" {} | |
| ######### | |
| # group # | |
| ######### | |
| module "resource_group" { | |
| source = "github.com/zot24/tf_azure_resource_group" | |
| name = "${var.app_name}_${var.resource_group_name}" | |
| location = "${var.location}" | |
| } | |
| ############ | |
| # security # | |
| ############ | |
| module "network_security_group" { | |
| source = "github.com/zot24/tf_azure_network_security_group" | |
| name = "${var.app_name}_${var.security_group_name}" | |
| location = "${var.location}" | |
| resource_group_name = "${module.resource_group.name}" | |
| } | |
| module "sr_web" { | |
| source = "github.com/zot24/tf_azure_network_security_rules//sr_web" | |
| priority = "${var.sr_web_priority}" | |
| resource_group_name = "${module.resource_group.name}" | |
| network_security_group_name = "${module.network_security_group.name}" | |
| } | |
| module "sr_registry" { | |
| source = "github.com/zot24/tf_azure_network_security_rules//sr_registry" | |
| priority = "${var.sr_registry_priority}" | |
| resource_group_name = "${module.resource_group.name}" | |
| network_security_group_name = "${module.network_security_group.name}" | |
| } | |
| ########### | |
| # network # | |
| ########### | |
| module "virtual_network" { | |
| source = "github.com/zot24/tf_azure_virtual_network" | |
| name = "${var.app_name}_${var.virtual_network_name}" | |
| location = "${var.location}" | |
| resource_group_name = "${module.resource_group.name}" | |
| address_space = "${var.address_space}" | |
| } | |
| module "subnet" { | |
| source = "github.com/zot24/tf_azure_subnet" | |
| name = "${var.app_name}_${var.subnet_name}" | |
| resource_group_name = "${module.resource_group.name}" | |
| virtual_network_name = "${module.virtual_network.name}" | |
| network_security_group_id = "${module.network_security_group.id}" | |
| address_prefix = "${var.address_prefix}" | |
| } | |
| module "public_ip" { | |
| source = "github.com/zot24/tf_azure_public_ip" | |
| name = "${var.app_name}_${var.public_ip_name}" | |
| location = "${var.location}" | |
| resource_group_name = "${module.resource_group.name}" | |
| public_ip_allocation = "${var.public_ip_allocation}" | |
| } | |
| module "network_interface" { | |
| source = "github.com/zot24/tf_azure_network_interface" | |
| name = "${var.app_name}_${var.network_interface_name}" | |
| location = "${var.location}" | |
| resource_group_name = "${module.resource_group.name}" | |
| network_security_group_id = "${module.network_security_group.id}" | |
| ip_configuration_name = "${var.app_name}_${var.ip_configuration_name}" | |
| ip_configuration_subnet_id = "${module.subnet.id}" | |
| ip_private_allocation = "${var.ip_private_allocation}" | |
| ip_public_id = "${module.public_ip.id}" | |
| } | |
| resource "null_resource" "ansible_hosts" { | |
| provisioner "local-exec" { | |
| command = "echo '[${var.app_name}]\\n${module.public_ip.ip_address}' > ../ansible/hosts" | |
| } | |
| } | |
| ########### | |
| # storage # | |
| ########### | |
| module "storage_account" { | |
| source = "github.com/zot24/tf_azure_storage_account" | |
| name = "${var.app_name}${var.storage_account_name}" | |
| location = "${var.location}" | |
| resource_group_name = "${module.resource_group.name}" | |
| account_type = "${var.account_type}" | |
| } | |
| module "storage_container" { | |
| source = "github.com/zot24/tf_azure_storage_container" | |
| name = "${var.app_name}${var.storage_container_name}" | |
| resource_group_name = "${module.resource_group.name}" | |
| storage_account_name = "${module.storage_account.name}" | |
| container_access_type = "${var.container_access_type}" | |
| } | |
| module "storage_blob" { | |
| source = "github.com/zot24/tf_azure_storage_blob" | |
| name = "${var.app_name}-${var.storage_blob_name}" | |
| resource_group_name = "${module.resource_group.name}" | |
| storage_account_name = "${module.storage_account.name}" | |
| storage_container_name = "${module.storage_container.name}" | |
| size = "${var.size}" | |
| } | |
| ################### | |
| # virtual machine # | |
| ################### | |
| module "virtual_machine" { | |
| source = "github.com/zot24/tf_azure_virtual_machine//with_data_disk" | |
| name = "${var.app_name}_${var.vm_name}" | |
| location = "${var.location}" | |
| resource_group_name = "${module.resource_group.name}" | |
| network_interface_ids = "${module.network_interface.id}" | |
| vm_size = "${var.vm_size}" | |
| image_publisher = "${var.image_publisher}" | |
| image_offer = "${var.image_offer}" | |
| image_sku = "${var.image_sku}" | |
| image_version = "${var.image_version}" | |
| os_disk_name = "${var.app_name}_${var.os_disk_name}" | |
| os_disk_vhd_uri = "${module.storage_account.primary_blob_endpoint}${module.storage_container.name}/${var.app_name}-${var.os_disk_vhd_uri_name}.vhd" | |
| os_disk_caching = "${var.os_disk_caching}" | |
| os_disk_create_option = "${var.os_disk_create_option}" | |
| data_disk_name = "${var.app_name}_${var.data_disk_name}" | |
| data_disk_vhd_uri = "${module.storage_account.primary_blob_endpoint}${module.storage_container.name}/${module.storage_blob.name}" | |
| data_disk_create_option = "${var.data_disk_create_option}" | |
| data_disk_size_gb = "${var.data_disk_size_gb}" | |
| data_disk_lun = "${var.data_disk_lun}" | |
| os_profile_computer_name = "${var.os_profile_computer_name}" | |
| os_profile_username = "${var.os_profile_username}" | |
| os_profile_password = "${var.os_profile_password}" | |
| disable_password_authentication = "${var.disable_password_authentication}" | |
| ssh_keys_path = "/home/${var.os_profile_username}/.ssh/authorized_keys" | |
| ssh_keys_key_data = "${file("${var.ssh_keys_key_data_path}")}" | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment