diff --git a/Output-file-example/Nginx-openstack/main.tf b/Output-file-example/Nginx-openstack/main.tf new file mode 100644 index 0000000000000000000000000000000000000000..eb0a8e52973ae2ff74dfca924f1008dbf7d6591d --- /dev/null +++ b/Output-file-example/Nginx-openstack/main.tf @@ -0,0 +1,111 @@ +terraform { +required_version = ">= 0.14.0" + required_providers { + openstack = { + source = "terraform-provider-openstack/openstack" + version = "~> 1.35.0" + } + } +} + +# Configure the OpenStack Provider +provider "openstack" { + user_name = "admin" + tenant_name = "admin" + password = "pwd" + auth_url = "http://myauthurl:5000/v2.0" + region = "RegionOne" +} + +resource "openstack_compute_keypair_v2" "user_key" { + name = "user1" + public_key = "ssh-rsa XXXXXX" +} + +# Router creation. UUID external gateway +resource "openstack_networking_router_v2" "generic" { + name = "router-generic" + external_network_id = "f67f0d72-0ddf-11e4-9d95-e1f29f417e2f" +} + +# Network creation +resource "openstack_networking_network_v2" "generic" { + name = "ostack2" +} + +#### HTTP SUBNET #### + +# Subnet http configuration +resource "openstack_networking_subnet_v2" "nginx" { + name = "subnet-nginx" + network_id = openstack_networking_network_v2.generic.id + cidr = "16.0.0.0/24" + dns_nameservers = ["8.8.8.8", "8.8.8.4"] +} + +# Router interface configuration +resource "openstack_networking_router_interface_v2" "nginx" { + router_id = openstack_networking_router_v2.generic.id + subnet_id = openstack_networking_subnet_v2.nginx.id +} + +resource "openstack_compute_secgroup_v2" "http" { + name = "http" + description = "Open input http port" + rule { + from_port = 80 + to_port = 80 + ip_protocol = "tcp" + cidr = "0.0.0.0/0" + } +} + +resource "openstack_compute_secgroup_v2" "ssh" { + name = "ssh" + description = "Open input ssh port" + rule { + from_port = 22 + to_port = 22 + ip_protocol = "tcp" + cidr = "0.0.0.0/0" + } +} + +# +# Create instance +# +resource "openstack_compute_instance_v2" "nginx" { + name = "nginx-host" + image_name = "ubuntu-20.04.3" + flavor_name = "t2.small" + key_pair = openstack_compute_keypair_v2.user_key.name + network { + port = openstack_networking_port_v2.nginx.id + } +} + +# Create network port +resource "openstack_networking_port_v2" "nginx" { + name = "nginx" + network_id = openstack_networking_network_v2.generic.id + admin_state_up = true + security_group_ids = [ + openstack_compute_secgroup_v2.ssh.id, + openstack_compute_secgroup_v2.http.id, + ] + fixed_ip { + subnet_id = openstack_networking_subnet_v2.nginx.id + } +} + +# Create floating ip +resource "openstack_networking_floatingip_v2" "nginx" { + pool = "external-network" + fixed_ip = "16.0.0.1" +} + +# Attach floating ip to instance +resource "openstack_compute_floatingip_associate_v2" "nginx" { + floating_ip = openstack_networking_floatingip_v2.nginx.address + instance_id = openstack_compute_instance_v2.nginx.id +} \ No newline at end of file diff --git a/Output-file-example/Ansible/ansible.cfg b/Output-file-example/Wordpress-azure/Ansible/ansible.cfg similarity index 100% rename from Output-file-example/Ansible/ansible.cfg rename to Output-file-example/Wordpress-azure/Ansible/ansible.cfg diff --git a/Output-file-example/Ansible/docker-play.yml b/Output-file-example/Wordpress-azure/Ansible/docker-play.yml similarity index 100% rename from Output-file-example/Ansible/docker-play.yml rename to Output-file-example/Wordpress-azure/Ansible/docker-play.yml diff --git a/Output-file-example/Ansible/hosts.ini b/Output-file-example/Wordpress-azure/Ansible/hosts.ini similarity index 100% rename from Output-file-example/Ansible/hosts.ini rename to Output-file-example/Wordpress-azure/Ansible/hosts.ini diff --git a/Output-file-example/Ansible/mysql-play.yml b/Output-file-example/Wordpress-azure/Ansible/mysql-play.yml similarity index 100% rename from Output-file-example/Ansible/mysql-play.yml rename to Output-file-example/Wordpress-azure/Ansible/mysql-play.yml diff --git a/Output-file-example/Ansible/vars.yml b/Output-file-example/Wordpress-azure/Ansible/vars.yml similarity index 100% rename from Output-file-example/Ansible/vars.yml rename to Output-file-example/Wordpress-azure/Ansible/vars.yml diff --git a/Output-file-example/Ansible/vars2.yml b/Output-file-example/Wordpress-azure/Ansible/vars2.yml similarity index 100% rename from Output-file-example/Ansible/vars2.yml rename to Output-file-example/Wordpress-azure/Ansible/vars2.yml diff --git a/Output-file-example/Terraform/.terraform.lock.hcl b/Output-file-example/Wordpress-azure/Terraform/.terraform.lock.hcl similarity index 100% rename from Output-file-example/Terraform/.terraform.lock.hcl rename to Output-file-example/Wordpress-azure/Terraform/.terraform.lock.hcl diff --git a/Output-file-example/Terraform/README.md b/Output-file-example/Wordpress-azure/Terraform/README.md similarity index 100% rename from Output-file-example/Terraform/README.md rename to Output-file-example/Wordpress-azure/Terraform/README.md diff --git a/Output-file-example/Terraform/main.tf b/Output-file-example/Wordpress-azure/Terraform/main.tf similarity index 100% rename from Output-file-example/Terraform/main.tf rename to Output-file-example/Wordpress-azure/Terraform/main.tf diff --git a/Output-file-example/Terraform/output.tf b/Output-file-example/Wordpress-azure/Terraform/output.tf similarity index 100% rename from Output-file-example/Terraform/output.tf rename to Output-file-example/Wordpress-azure/Terraform/output.tf diff --git a/Output-file-example/Terraform/ssh_keys/wordpress_rsa b/Output-file-example/Wordpress-azure/Terraform/ssh_keys/wordpress_rsa similarity index 100% rename from Output-file-example/Terraform/ssh_keys/wordpress_rsa rename to Output-file-example/Wordpress-azure/Terraform/ssh_keys/wordpress_rsa diff --git a/Output-file-example/Terraform/ssh_keys/wordpress_rsa.pub b/Output-file-example/Wordpress-azure/Terraform/ssh_keys/wordpress_rsa.pub similarity index 100% rename from Output-file-example/Terraform/ssh_keys/wordpress_rsa.pub rename to Output-file-example/Wordpress-azure/Terraform/ssh_keys/wordpress_rsa.pub diff --git a/Output-file-example/Terraform/terraform.tfstate b/Output-file-example/Wordpress-azure/Terraform/terraform.tfstate similarity index 100% rename from Output-file-example/Terraform/terraform.tfstate rename to Output-file-example/Wordpress-azure/Terraform/terraform.tfstate diff --git a/Output-file-example/Terraform/terraform.tfstate.backup b/Output-file-example/Wordpress-azure/Terraform/terraform.tfstate.backup similarity index 100% rename from Output-file-example/Terraform/terraform.tfstate.backup rename to Output-file-example/Wordpress-azure/Terraform/terraform.tfstate.backup diff --git a/Output-file-example/Terraform/variables.tf b/Output-file-example/Wordpress-azure/Terraform/variables.tf similarity index 100% rename from Output-file-example/Terraform/variables.tf rename to Output-file-example/Wordpress-azure/Terraform/variables.tf