From e340a4540cfcdf84987e5f5aae93e2dc1aab9747 Mon Sep 17 00:00:00 2001
From: Niculut Laurentiu <Laurentiu.Niculut2@hpecds.com>
Date: Fri, 21 Jan 2022 10:28:17 +0100
Subject: [PATCH] added nginix example code

---
 Output-file-example/Nginx-openstack/main.tf   | 111 ++++++++++++++++++
 .../{ => Wordpress-azure}/Ansible/ansible.cfg |   0
 .../Ansible/docker-play.yml                   |   0
 .../{ => Wordpress-azure}/Ansible/hosts.ini   |   0
 .../Ansible/mysql-play.yml                    |   0
 .../{ => Wordpress-azure}/Ansible/vars.yml    |   0
 .../{ => Wordpress-azure}/Ansible/vars2.yml   |   0
 .../Terraform/.terraform.lock.hcl             |   0
 .../{ => Wordpress-azure}/Terraform/README.md |   0
 .../{ => Wordpress-azure}/Terraform/main.tf   |   0
 .../{ => Wordpress-azure}/Terraform/output.tf |   0
 .../Terraform/ssh_keys/wordpress_rsa          |   0
 .../Terraform/ssh_keys/wordpress_rsa.pub      |   0
 .../Terraform/terraform.tfstate               |   0
 .../Terraform/terraform.tfstate.backup        |   0
 .../Terraform/variables.tf                    |   0
 16 files changed, 111 insertions(+)
 create mode 100644 Output-file-example/Nginx-openstack/main.tf
 rename Output-file-example/{ => Wordpress-azure}/Ansible/ansible.cfg (100%)
 rename Output-file-example/{ => Wordpress-azure}/Ansible/docker-play.yml (100%)
 rename Output-file-example/{ => Wordpress-azure}/Ansible/hosts.ini (100%)
 rename Output-file-example/{ => Wordpress-azure}/Ansible/mysql-play.yml (100%)
 rename Output-file-example/{ => Wordpress-azure}/Ansible/vars.yml (100%)
 rename Output-file-example/{ => Wordpress-azure}/Ansible/vars2.yml (100%)
 rename Output-file-example/{ => Wordpress-azure}/Terraform/.terraform.lock.hcl (100%)
 rename Output-file-example/{ => Wordpress-azure}/Terraform/README.md (100%)
 rename Output-file-example/{ => Wordpress-azure}/Terraform/main.tf (100%)
 rename Output-file-example/{ => Wordpress-azure}/Terraform/output.tf (100%)
 rename Output-file-example/{ => Wordpress-azure}/Terraform/ssh_keys/wordpress_rsa (100%)
 rename Output-file-example/{ => Wordpress-azure}/Terraform/ssh_keys/wordpress_rsa.pub (100%)
 rename Output-file-example/{ => Wordpress-azure}/Terraform/terraform.tfstate (100%)
 rename Output-file-example/{ => Wordpress-azure}/Terraform/terraform.tfstate.backup (100%)
 rename Output-file-example/{ => Wordpress-azure}/Terraform/variables.tf (100%)

diff --git a/Output-file-example/Nginx-openstack/main.tf b/Output-file-example/Nginx-openstack/main.tf
new file mode 100644
index 0000000..eb0a8e5
--- /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
-- 
GitLab