diff --git a/.githooks/pre-commit b/.githooks/pre-commit new file mode 100755 index 0000000..25e5074 --- /dev/null +++ b/.githooks/pre-commit @@ -0,0 +1,48 @@ +#!/bin/sh +echo "Running Gitleaks pre-commit scan on staged changes (Server Settings)..." + +mkdir -p .gitleaks_out +touch .gitleaks_out/gitleaks-precommit.json + +# Prefer local gitleaks if available, fallback to Docker +if command -v gitleaks >/dev/null 2>&1; then + echo "⚡ Using local gitleaks binary" + SCAN_CMD="gitleaks detect \ + --pipe \ + --config=gitleaks.toml \ + --report-format=json \ + --report-path=.gitleaks_out/gitleaks-precommit.json \ + --no-banner" +else + echo "Local gitleaks not found, using Docker fallback" + SCAN_CMD="docker run --rm -i -v \"$(pwd)\":/repo ghcr.io/gitleaks/gitleaks:v8.28.0 detect \ + --pipe \ + --config=/repo/gitleaks.toml \ + --report-format=json \ + --report-path=/repo/.gitleaks_out/gitleaks-precommit.json \ + --no-banner" +fi + +# Run scan on staged diff only +git diff --cached --unified=0 --no-color \ + | grep '^+' \ + | grep -v '^+++' \ + | sh -c "$SCAN_CMD" +status=$? +if [ $status -ne 0 ]; then + echo "Possible secrets detected in staged changes!" + echo " See .gitleaks_out/gitleaks-precommit.json for details." + echo "" + echo "Commit aborted." + echo "" + echo "Reminder: Do NOT bypass with 'git commit --no-verify'." + echo "CI will still block your PR even if you bypass locally." + echo "" + echo "If this secret is actually required in the repo (false positive or approved usage)," + echo "you MUST meet with the CTO / Team Lead / DevOps to approve" + echo "and add it to the gitleaks ignore list." + exit 1 +fi + +echo "No secrets found. Commit allowed." +exit 0 \ No newline at end of file diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml new file mode 100644 index 0000000..0d4fdca --- /dev/null +++ b/.github/workflows/security.yml @@ -0,0 +1,18 @@ +name: Security Scan + +on: + pull_request: + branches: + - Dev + - dev-1 + push: + branches: + - Dev + - dev-1 + +jobs: + gitleaks: + name: Run Gitleaks Scan + uses: peer-network/peer_global_security/.github/workflows/gitleaks.yml@main + with: + config: gitleaks.toml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..94927f0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +secrets.tfvars +secrets.auto.tfvars +clouds.yaml +*.tfstate +peer_network.yaml +terraform.tfstate* +.gitleaks_out/ \ No newline at end of file diff --git a/Loki-Grafana/alloy-config-monitor.yaml b/Loki-Grafana/alloy-config-monitor.yaml new file mode 100644 index 0000000..c9a67ae --- /dev/null +++ b/Loki-Grafana/alloy-config-monitor.yaml @@ -0,0 +1,55 @@ +server: + log_level: info + +clients: + - url: http://80.158.41.189/loki/api/v1/push + +positions: + filename: /tmp/positions.yaml + +scrape_configs: + - job_name: system-logs + static_configs: + - targets: [localhost] + labels: + job: "syslog" + host: "monitoring-server" + __path__: /var/log/syslog + + - job_name: auth-logs + static_configs: + - targets: [localhost] + labels: + job: "auth" + host: "monitoring-server" + __path__: /var/log/auth.log + + - job_name: cron-monitor-logs + static_configs: + - targets: [localhost] + labels: + job: "auth" + host: "monitoring-server" + __path__: /var/log/postman_logs/cron.log + + - job_name: crom-mintbot-var-logs + static_configs: + - targets: [localhost] + labels: + job: "auth" + host: "monitoring-server" + __path__: /var/log/mintlog/mint.log + + - job_name: mintbot-logs + static_configs: + - targets: [localhost] + labels: + job: gem_monitor + component: stdout + __path__: /home/ubuntu/mintbot/logs/mint_*/*.txt + + - targets: [localhost] + labels: + job: gem_monitor + component: nested_logs + __path__: /home/ubuntu/mintbot/logs/mint_*/**/*.log diff --git a/Loki-Grafana/config.alloy b/Loki-Grafana/config.alloy new file mode 100644 index 0000000..221ea9d --- /dev/null +++ b/Loki-Grafana/config.alloy @@ -0,0 +1,27 @@ +// Sample config for Alloy. +// +// For a full configuration reference, see https://grafana.com/docs/alloy +logging { + level = "warn" +} + +prometheus.exporter.unix "default" { + include_exporter_metrics = true + disable_collectors = ["mdadm"] +} + +prometheus.scrape "default" { + targets = array.concat( + prometheus.exporter.unix.default.targets, + [{ + // Self-collect metrics + job = "alloy", + __address__ = "127.0.0.1:12345", + }], + ) + + forward_to = [ + // TODO: components to forward metrics to (like prometheus.remote_write or + // prometheus.relabel). + ] +} diff --git a/Loki-Grafana/config.monitor.alloy b/Loki-Grafana/config.monitor.alloy new file mode 100644 index 0000000..da57a71 --- /dev/null +++ b/Loki-Grafana/config.monitor.alloy @@ -0,0 +1,93 @@ +// Beta_Testing Monitor config file for Alloy (Grafana) +// Enable logging +logging { + level = "debug" + format = "logfmt" +} + +// Loki client (Writer) +loki.write "default" { + endpoint { + url = "http://10.50.1.150:3100/loki/api/v1/push" + } +} + +// System syslog file (simplified for testing) +loki.source.file "syslog" { + targets = [ + { + "__path__" = "/var/log/syslog", + job = "syslog", + }, + ] + forward_to = [loki.write.default.receiver] +} + +// Auth logs +loki.source.file "auth" { + targets = [ + { + "__path__" = "/var/log/auth.log", + job = "auth", + host = "monitoring-server", + }, + ] + forward_to = [loki.write.default.receiver] +} + +// JournalD logs +loki.source.journal "systemd" { + labels = { + job = "systemd", + host = "monitoring-server", + } + forward_to = [loki.write.default.receiver] +} + +// Postman cron logs +loki.source.file "cron_monitor" { + targets = [ + { + "__path__" = "/var/log/postman_logs/cron.log", + job = "cron-monitor", + host = "monitoring-server", + }, + ] + forward_to = [loki.write.default.receiver] +} + +// Mintbot log in var log +loki.source.file "crom_mintbot_var_logs" { + targets = [ + { + "__path__" = "/var/log/mintlog/mint.log", + job = "gem_mintbot", + host = "monitoring-server", + }, + ] + forward_to = [loki.write.default.receiver] +} + +// Mintbot flat logs +loki.source.file "mintbot_txt" { + targets = [ + { + "__path__" = "/home/ubuntu/mintbot/logs/mint_*/*.txt", + job = "gem_monitor", + component = "stdout", + }, + ] + forward_to = [loki.write.default.receiver] +} + +// Mintbot nested logs +loki.source.file "mintbot_nested_logs" { + targets = [ + { + "__path__" = "/home/ubuntu/mintbot/logs/mint_*/**/*.log", + job = "gem_monitor", + component = "nested_logs", + }, + ] + forward_to = [loki.write.default.receiver] +} \ No newline at end of file diff --git a/Loki-Grafana/config.test_backend.alloy b/Loki-Grafana/config.test_backend.alloy new file mode 100644 index 0000000..2f52f07 --- /dev/null +++ b/Loki-Grafana/config.test_backend.alloy @@ -0,0 +1,257 @@ +// Beta_Testing Monitor config file for Alloy (Grafana) +// Enable logging +logging { + level = "debug" + format = "logfmt" +} + +// Add limiter for Loki +loki.write "default" { + endpoint { + url = "http://10.50.1.150:3100/loki/api/v1/push" + tenant_id = "fake" # be explicit so writes and queries use the same tenant + batch_size = "256KiB" # default is "1MiB" + batch_wait = "2s" # default is "1s" + # retry_on_http_429 is true by default + } +} + +// Common labels to re-use in targets +// Note: Using direct label assignment instead of local.labels component +// which isn't available in all Alloy versions + +// ============================================================================= +// NGINX LOGS (access + error) — note: include both /var/log/nginx and /var/log/ngnix +// ============================================================================= +// Access logs +loki.source.file "nginx_access" { + targets = [ + { + __path__ = "/var/log/nginx/*access*.log", + job = "nginx", + stream = "access", + host = "test-backend-server", + env = "beta", + }, + { + __path__ = "/var/log/ngnix/access*.log", + job = "nginx", + stream = "access", + host = "test-backend-server", + env = "beta", + }, + ] + forward_to = [loki.process.nginx_access.receiver] +} + +// Parse access lines → add method/path/status as labels for easier queries +loki.process "nginx_access" { + stage.regex { + expression = "^(?P\\S+) \\S+ \\S+ \\[(?P[^\\]]+)\\] \"(?P[A-Z]+) (?P\\S+)[^\"]*\" (?P\\d{3}) (?P\\d+)" + } + stage.labels { + values = { method = "", path = "", status = "", app = "nginx", stream = "access" } + } + forward_to = [loki.write.default.receiver] +} + +// Error logs +loki.source.file "nginx_error" { + targets = [ + { + __path__ = "/var/log/nginx/*error*.log", + job = "nginx", + stream = "error", + host = "test-backend-server", + env = "beta", + }, + { + __path__ = "/var/log/ngnix/error*.log", + job = "nginx", + stream = "error", + host = "test-backend-server", + env = "beta", + }, + ] + forward_to = [loki.process.nginx_error.receiver] +} + +// Parse error lines → add severity (level) +loki.process "nginx_error" { + stage.regex { + expression = "^\\d{4}/\\d{2}/\\d{2} \\d{2}:\\d{2}:\\d{2} \\[[^\\]]*?\\] \\[(?P[a-zA-Z]+)\\] .*" + } + stage.labels { + values = { level = "", app = "nginx", stream = "error" } + } + forward_to = [loki.write.default.receiver] +} + +// ============================================================================= +// PHP‑FPM LOGS +// ============================================================================= +loki.source.file "php_fpm" { + targets = [ + { + __path__ = "/var/log/php*-fpm.log", + job = "php_fpm", + app = "php-fpm", + host = "test-backend-server", + env = "beta", + }, + ] + forward_to = [loki.process.php_fpm.receiver] +} + +// Extract common severity tokens so you can query level=~"ERROR|WARNING|NOTICE" +loki.process "php_fpm" { + stage.regex { + expression = ".*\\[(?PERROR|WARNING|NOTICE)\\].*" + } + stage.labels { + values = { level = "" } + } + forward_to = [loki.write.default.receiver] +} + +// ============================================================================= +// APP / WEBHOOK LOGS +// ============================================================================= +// Backend app logs under /var/www/peer_beta/peer_backend/ +// If your app writes JSON, this pipeline will expose fields. If it's logfmt, swap +// stage.json for stage.logfmt (one line below) and keep the labels stage. +loki.source.file "backend_app" { + targets = [ + { + __path__ = "/var/www/peer_beta/peer_backend/runtime-data/logs/*", + job = "backend_logs", + app = "peer_backend", + host = "test-backend-server", + env = "beta", + }, + { + __path__ = "/var/www/peer_beta/peer_backend/**/*.log", + job = "backend_logs", + app = "peer_backend", + host = "test-backend-server", + env = "beta", + }, + ] + forward_to = [loki.process.backend_app.receiver] +} + +loki.process "backend_app" { + // Only process if logs are actually JSON - remove if they're not + stage.match { + selector = "{job=\"backend_logs\"}" + + // Try to parse as JSON, but don't fail if it's not JSON + stage.json { + expressions = { + level = "", + module = "", + service = "", + } + } + + stage.labels { + values = { + level = "", + module = "", + service = "", + } + } + } + forward_to = [loki.write.default.receiver] +} + +// Webhook (single file) +loki.source.file "webhook" { + targets = [ + { + __path__ = "/var/log/webhook.log", + job = "peer_backend_webhook", + app = "webhook", + host = "test-backend-server", + env = "beta", + }, + ] + forward_to = [loki.process.webhook.receiver] +} + +loki.process "webhook" { + // Only process if logs are actually JSON - remove if they're not + stage.match { + selector = "{job=\"peer_backend_webhook\"}" + + // Try to parse as JSON, but don't fail if it's not JSON + stage.json { + expressions = { + level = "", + target = "", + url = "", + } + } + + stage.labels { + values = { + level = "", + target = "", + url = "", + } + } + } + forward_to = [loki.write.default.receiver] +} + +// ============================================================================= +// GENERAL OBSERVABILITY (system logs) +// ============================================================================= +// Syslog-style files (Ubuntu/Debian) +loki.source.file "sysfiles" { + targets = [ + { + __path__ = "/var/log/syslog", + job = "syslog", + host = "test-backend-server", + env = "beta", + }, + { + __path__ = "/var/log/auth.log", + job = "auth", + host = "test-backend-server", + env = "beta", + }, + { + __path__ = "/var/log/kern.log", + job = "kernel", + host = "test-backend-server", + env = "beta", + }, + ] + forward_to = [loki.write.default.receiver] +} + +// Systemd journal (broader coverage; includes unit names, etc.) +loki.source.journal "systemd" { + labels = { + job = "systemd", + host = "test-backend-server", + env = "beta", + } + // Optional: focus on units you care about; otherwise comment out 'matches' + // matches = [ + // { "_SYSTEMD_UNIT" = "nginx.service" }, + // { "_SYSTEMD_UNIT" = "php8.3-fpm.service" }, + // { "_SYSTEMD_UNIT" = "ssh.service" }, + // ] + forward_to = [loki.write.default.receiver] +} + +loki.source.file.nginx_error error="stat /var/log/nginx/*error*.log: no such file or directory" filename=/var/log/nginx/*error*.log +loki.source.file.nginx_error error="stat /var/log/ngnix/*error*.log: no such file or directory" filename=/var/log/ngnix/*error*.log +oki.source.file.php_fpm error="stat /var/log/php*-fpm.log: no such file or directory" filename=/var/log/php*-fpm.log +loki.source.file.nginx_access error="stat /var/log/nginx/*access*.log: no such file or directory" filename=/var/log/nginx/*access*.log +loki.source.file.nginx_access error="stat /var/log/ngnix/*access*.log: no such file or directory" filename=/var/log/ngnix/*access*.log +loki.source.file.backend_app error="stat /var/www/peer_beta/peer_backend/runtime-data/logs/*: no such file or directory" filename=/var/www/peer_beta/peer_backend/runti> +loki.source.file.backend_app error="stat /var/www/peer_beta/peer_backend/**/*.log: no such file or directory" filename=/var/www/peer_beta/peer_backend/**/*.log diff --git a/Loki-Grafana/data_inventory.tf b/Loki-Grafana/data_inventory.tf new file mode 100644 index 0000000..52d1c71 --- /dev/null +++ b/Loki-Grafana/data_inventory.tf @@ -0,0 +1,21 @@ +# data_inventory.tf + +# ECS instances (list) +data "opentelekomcloud_compute_instances_v2" "all" {} + +# EVS volumes (list) +data "opentelekomcloud_evs_volumes_v2" "all" {} + +# Subnets -> get IDs then hydrate details +data "opentelekomcloud_vpc_subnet_ids_v1" "all" {} +data "opentelekomcloud_vpc_subnet_v1" "subnet" { + for_each = toset(data.opentelekomcloud_vpc_subnet_ids_v1.all.ids) + id = each.value +} + +# Ports -> get IDs then hydrate details +data "opentelekomcloud_networking_port_ids_v2" "all" {} +data "opentelekomcloud_networking_port_v2" "port" { + for_each = toset(data.opentelekomcloud_networking_port_ids_v2.all.ids) + port_id = each.value +} diff --git a/Loki-Grafana/docker-compose-wget-grafana.yaml b/Loki-Grafana/docker-compose-wget-grafana.yaml new file mode 100644 index 0000000..c8e4335 --- /dev/null +++ b/Loki-Grafana/docker-compose-wget-grafana.yaml @@ -0,0 +1,58 @@ +version: "3.3" + +networks: + loki: + +services: + loki: + image: grafana/loki:latest + ports: + - "3100:3100" + command: -config.file=/etc/loki/local-config.yaml + networks: + - loki + volumes: + - /mnt/loki-store:/mnt/loki-store + - ./loki-config.yaml:/etc/loki/local-config.yaml + restart: unless-stopped # Add this for reliability + + promtail: + image: grafana/promtail:latest + volumes: + - /var/log:/var/log + command: -config.file=/etc/promtail/config.yml + networks: + - loki + + grafana: + environment: + - GF_PATHS_PROVISIONING=/etc/grafana/provisioning + - GF_AUTH_ANONYMOUS_ENABLED=true + - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin + - GF_FEATURE_TOGGLES_ENABLE=alertingSimplifiedRouting,alertingQueryAndExpressionsStepMode + - GF_SERVER_ROOT_URL=%(protocol)s://%(domain)s/grafana + - GF_SERVER_SERVE_FROM_SUB_PATH=true + entrypoint: + - sh + - -euc + - | + mkdir -p /etc/grafana/provisioning/datasources + cat < /etc/grafana/provisioning/datasources/ds.yaml + apiVersion: 1 + datasources: + - name: Loki + type: loki + access: proxy + orgId: 1 + url: http://loki:3100 + basicAuth: false + isDefault: true + version: 1 + editable: false + EOF + /run.sh + image: grafana/grafana:latest + ports: + - "3000:3000" + networks: + - loki diff --git a/Loki-Grafana/docker-compose.yaml b/Loki-Grafana/docker-compose.yaml new file mode 100644 index 0000000..4ae5986 --- /dev/null +++ b/Loki-Grafana/docker-compose.yaml @@ -0,0 +1,58 @@ +version: "3.3" + +networks: + loki: + +services: + loki: + image: grafana/loki:latest + ports: + - "3100:3100" + command: -config.file=/etc/loki/local-config.yaml + networks: + - loki + volumes: + - /mnt/loki-store:/mnt/loki-store + - ./loki-config.yaml:/etc/loki/local-config.yaml + restart: unless-stopped # Add this for reliability + + promtail: + image: grafana/promtail:latest + volumes: + - /var/log:/var/log + command: -config.file=/etc/promtail/config.yml + networks: + - loki + + grafana: + image: grafana/grafana:latest + environment: + - GF_PATHS_PROVISIONING=/etc/grafana/provisioning + - GF_AUTH_ANONYMOUS_ENABLED=true + - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin + - GF_FEATURE_TOGGLES_ENABLE=alertingSimplifiedRouting,alertingQueryAndExpressionsStepMode + - GF_SERVER_ROOT_URL=http://80.158.41.189/grafana + - GF_SERVER_SERVE_FROM_SUB_PATH=true + entrypoint: + - sh + - -euc + - | + mkdir -p /etc/grafana/provisioning/datasources + cat < /etc/grafana/provisioning/datasources/ds.yaml + apiVersion: 1 + datasources: + - name: Loki + type: loki + access: proxy + orgId: 1 + url: http://loki:3100 + basicAuth: false + isDefault: true + version: 1 + editable: false + EOF + /run.sh + ports: + - "3000:3000" + networks: + - loki diff --git a/Loki-Grafana/loki-config.yaml b/Loki-Grafana/loki-config.yaml new file mode 100644 index 0000000..f361b69 --- /dev/null +++ b/Loki-Grafana/loki-config.yaml @@ -0,0 +1,77 @@ +auth_enabled: false + +server: + http_listen_port: 3100 + http_listen_address: 0.0.0.0 + grpc_listen_port: 9095 + log_level: warning + +target: all + +common: + path_prefix: /mnt/loki-store + storage: + filesystem: + chunks_directory: /mnt/loki-store/chunks + rules_directory: /mnt/loki-store/rules + replication_factor: 1 + ring: + instance_addr: 127.0.0.1 + kvstore: + store: inmemory + + +# Explicitly configure memberlist for single node +memberlist: + abort_if_cluster_join_fails: false + bind_port: 7946 + join_members: [] + + +ingester: + lifecycler: + # address: 127.0.0.1 + ring: + kvstore: + store: inmemory + replication_factor: 1 + final_sleep: 0s + chunk_idle_period: 5m + max_chunk_age: 1h + chunk_target_size: 1048576 + chunk_retain_period: 30s + wal: + enabled: true + dir: /mnt/loki-store/wal + + +limits_config: + metric_aggregation_enabled: true + retention_period: 30d + reject_old_samples: true + reject_old_samples_max_age: 168h + + +query_range: + results_cache: + cache: + embedded_cache: + enabled: true + max_size_mb: 100 + +schema_config: + configs: + - from: 2020-10-24 + store: tsdb + object_store: filesystem + schema: v13 + index: + prefix: index_ + period: 24h + +# limits_config: +# enforce_metric_name: false +# reject_old_samples: true +# reject_old_samples_max_age: 168h +# ingestion_rate_mb: 16 +# ingestion_burst_size_mb: 32 diff --git a/Loki-Grafana/loki-config_grafana.yaml b/Loki-Grafana/loki-config_grafana.yaml new file mode 100644 index 0000000..4aff877 --- /dev/null +++ b/Loki-Grafana/loki-config_grafana.yaml @@ -0,0 +1,63 @@ +auth_enabled: false + +server: + http_listen_port: 3100 + grpc_listen_port: 9096 + log_level: debug + grpc_server_max_concurrent_streams: 1000 + +common: + instance_addr: 127.0.0.1 + path_prefix: /tmp/loki + storage: + filesystem: + chunks_directory: /tmp/loki/chunks + rules_directory: /tmp/loki/rules + replication_factor: 1 + ring: + kvstore: + store: inmemory + +query_range: + results_cache: + cache: + embedded_cache: + enabled: true + max_size_mb: 100 + +limits_config: + metric_aggregation_enabled: true + +schema_config: + configs: + - from: 2020-10-24 + store: tsdb + object_store: filesystem + schema: v13 + index: + prefix: index_ + period: 24h + +pattern_ingester: + enabled: true + metric_aggregation: + loki_address: localhost:3100 + +ruler: + alertmanager_url: http://localhost:9093 + +frontend: + encoding: protobuf + +# By default, Loki will send anonymous, but uniquely-identifiable usage and configuration +# analytics to Grafana Labs. These statistics are sent to https://stats.grafana.org/ +# +# Statistics help us better understand how Loki is used, and they show us performance +# levels for most users. This helps us prioritize features and documentation. +# For more information on what's sent, look at +# https://github.com/grafana/loki/blob/main/pkg/analytics/stats.go +# Refer to the buildReport method to see what goes into a report. +# +# If you would like to disable reporting, uncomment the following lines: +#analytics: +# reporting_enabled: false diff --git a/Loki-Grafana/monitoring.conf b/Loki-Grafana/monitoring.conf new file mode 100644 index 0000000..c3f6429 --- /dev/null +++ b/Loki-Grafana/monitoring.conf @@ -0,0 +1,94 @@ +# /etc/nginx/sites-available/monitoring.conf + +server { + listen 80; + server_name 80.158.41.189; + + # Root redirect to Grafana + location = / { + return 301 /grafana/; + } + + # Health check endpoint + location /health { + return 200 "OK"; + add_header Content-Type text/plain; + } + + # Grafana proxy (keep existing) + location /grafana/ { + proxy_pass http://10.50.1.150:3000/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Server $host; + + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + + proxy_redirect http://10.50.1.150:3000/ /grafana/; + proxy_redirect / /grafana/; + } + + # Handle Grafana WebSocket specifically + location /grafana/api/live/ws { + proxy_pass http://10.50.1.150:3000/api/live/ws; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + # Loki API (all endpoints) + location /loki/ { + proxy_pass http://10.50.1.150:3100/loki/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + + # # Loki API endpoints - specific matching + # location ~ ^/loki/api/v1/(.*)$ { + # proxy_pass http://10.50.1.150:3100/api/v1/$1$is_args$args; + # proxy_set_header Host $host; + # proxy_set_header X-Real-IP $remote_addr; + # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + # proxy_set_header X-Forwarded-Proto $scheme; + # } + + # # Loki ready endpoint + # location /loki/ready { + # proxy_pass http://10.50.1.150:3100/ready; + # proxy_set_header Host $host; + # proxy_set_header X-Real-IP $remote_addr; + # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + # proxy_set_header X-Forwarded-Proto $scheme; + # } + + # # Loki metrics endpoint + # location /loki/metrics { + # proxy_pass http://10.50.1.150:3100/metrics; + # proxy_set_header Host $host; + # proxy_set_header X-Real-IP $remote_addr; + # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + # proxy_set_header X-Forwarded-Proto $scheme; + # } + + # # Loki push endpoint (for Alloy) + # location ~ ^/loki/loki/api/v1/push$ { + # proxy_pass http://10.50.1.150:3100/loki/api/v1/push; + # proxy_set_header Host $host; + # proxy_set_header X-Real-IP $remote_addr; + # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + # proxy_set_header X-Forwarded-Proto $scheme; + # } + + +} \ No newline at end of file diff --git a/Loki-Grafana/test b/Loki-Grafana/test new file mode 100644 index 0000000..e69de29 diff --git a/Openstack_OTC/OTC_find.py b/Openstack_OTC/OTC_find.py new file mode 100755 index 0000000..1b649bd --- /dev/null +++ b/Openstack_OTC/OTC_find.py @@ -0,0 +1,199 @@ +#!/usr/bin/env python3 +import openstack +import json + +conn = openstack.connect(cloud='otc') + + +def get_account_context(conn): + # Pull from clouds.yaml/env via openstacksdk’s CloudRegion + auth = conn.config.get_auth_args() # dict: auth_url, project_name, user_domain_name, etc. + + auth_url = auth.get("auth_url") + region_name = conn.config.region_name + interface = getattr(conn.config, "interface", None) + + # Names from config (Keystone v3 uses "project", old v2 used "tenant") + project_name = auth.get("project_name") or auth.get("tenant_name") + domain_name = (auth.get("user_domain_name") + or auth.get("project_domain_name") + or auth.get("domain_name")) + + # Resolve IDs from names (ignore_missing=True keeps this resilient if names are absent) + project = conn.identity.find_project(project_name, ignore_missing=True) if project_name else None + domain = conn.identity.find_domain(domain_name, ignore_missing=True) if domain_name else None + + # Availability zones + try: + compute_az = [az.name for az in conn.compute.availability_zones()] + except Exception: + compute_az = [] + try: + volume_az = [az.name for az in conn.block_storage.availability_zones()] + except Exception: + volume_az = [] + + # External networks (useful for TF variables) + try: + external_nets = [n.name for n in conn.network.networks(is_router_external=True)] + except Exception: + external_nets = [] + + # Service catalog summary (optional but nice to have) + services = [] + try: + for svc in conn.identity.services(): + eps = [ + {"region": ep.region, "interface": ep.interface, "url": ep.url} + for ep in conn.identity.endpoints(service_id=svc.id) + ] + services.append({"type": svc.type, "name": svc.name, "endpoints": eps}) + except Exception: + pass + + return { + "cloud": conn.config.name, + "auth_url": auth_url, + "region_name": region_name, + "interface": interface, + "project": { + "name": project_name, + "id": getattr(project, "id", None), + }, + "domain": { + "name": domain_name, + "id": getattr(domain, "id", None), + }, + "availability_zones": { + "compute": compute_az, + "volume": volume_az, + }, + "external_networks": external_nets, + "service_catalog": services, + } + + + +result = { + "account": get_account_context(conn), + "servers": [], + "networks": { + "vpcs": [], + "floating_ips": [], + "orphan_ports": [] + } +} + +ecs_ids = set() + +# === Servers === +for server in conn.compute.servers(details=True): + server_entry = { + "name": server.name, + "id": server.id, + "status": server.status, + "flavor": server.flavor.get("original_name", "unknown"), + "fixed_ips": [], + "floating_ips": [], + "ports": [], + "security_groups": [] + } + + ecs_ids.add(server.id) + + # Ports + ports = list(conn.network.ports(device_id=server.id)) + for port in ports: + server_entry["ports"].append({ + "id": port.id, + "mac_address": port.mac_address, + "fixed_ips": port.fixed_ips + }) + for ip in port.fixed_ips: + server_entry["fixed_ips"].append(ip["ip_address"]) + + # Floating IPs + for fip in conn.network.ips(port_id=port.id): + server_entry["floating_ips"].append(fip.floating_ip_address) + + # Security groups + if server.security_groups: + for sg in server.security_groups: + sg_detail = conn.network.find_security_group(sg["name"]) + server_entry["security_groups"].append({ + "name": sg["name"], + "rules": [ + { + "direction": r["direction"], + "ethertype": r["ethertype"], + "protocol": r["protocol"], + "port_range_min": r["port_range_min"], + "port_range_max": r["port_range_max"], + "remote_ip_prefix": r["remote_ip_prefix"] + } for r in sg_detail.security_group_rules + ] + }) + + result["servers"].append(server_entry) + +# === VPCs / Networks === +for net in conn.network.networks(): + vpc_entry = { + "id": net.id, + "name": net.name, + "is_external": net.is_router_external, + "subnets": [], + "ports": [] + } + +for subnet_id in net.subnet_ids: + try: + subnet = conn.network.get_subnet(subnet_id) + vpc_entry["subnets"].append({ + "id": subnet.id, + "name": subnet.name, + "cidr": subnet.cidr, + "gateway_ip": subnet.gateway_ip + }) + except openstack.exceptions.ResourceNotFound: + print(f"⚠️ Warning: Subnet {subnet_id} not found. Skipping.") + except Exception as e: + print(f"⚠️ Unexpected error fetching subnet {subnet_id}: {e}") + + # Ports in this VPC + for port in conn.network.ports(network_id=net.id): + vpc_entry["ports"].append({ + "id": port.id, + "mac": port.mac_address, + "device_owner": port.device_owner, + "device_id": port.device_id, + "fixed_ips": port.fixed_ips + }) + + # If port device is not ECS, consider it external/orphan + if port.device_id not in ecs_ids and port.device_owner not in ("network:router_interface", ""): + result["networks"]["orphan_ports"].append({ + "id": port.id, + "device_owner": port.device_owner, + "device_id": port.device_id, + "mac": port.mac_address, + "fixed_ips": port.fixed_ips + }) + + result["networks"]["vpcs"].append(vpc_entry) + +# === Floating IPs === +for fip in conn.network.ips(): + result["networks"]["floating_ips"].append({ + "id": fip.id, + "floating_ip_address": fip.floating_ip_address, + "fixed_ip_address": fip.fixed_ip_address, + "port_id": fip.port_id, + "status": fip.status + }) + +# === Output === +with open("Peer_OTC_map.json", "w") as f: + json.dump(result, f, indent=2) + +print("✅ Structured network + server map saved to Peer_OTC_map.json") diff --git a/Openstack_OTC/OVH openstack/50-cloud-init.yaml b/Openstack_OTC/OVH openstack/50-cloud-init.yaml new file mode 100644 index 0000000..a374a09 --- /dev/null +++ b/Openstack_OTC/OVH openstack/50-cloud-init.yaml @@ -0,0 +1,33 @@ +network: + version: 2 + renderer: networkd + ethernets: + # Public NIC - Management and API access + enp1s0f0: + addresses: + - 162.19.169.215/32 + - 51.38.118.220/32 # Failover IP + - 2001:41d0:700:6cd7::1/64 # Primary IPv6 + routes: + - to: default + via: 162.19.169.254 + on-link: true + - to: default + via: fe80::1 + on-link: true + nameservers: + addresses: + - 213.186.33.99 # OVH DNS + - 8.8.8.8 + - 2001:4860:4860::8888 + dhcp4: false + dhcp6: false + + # vRack NIC - OpenStack tenant networks (no IP yet, OVS will manage) + enp1s0f1: + dhcp4: false + dhcp6: false + addresses: + - 10.0.0.1/24 # vRack management IP + - 2001:41d0:f00:b00::1/64 # vRack IPv6 + mtu: 9000 # Enable jumbo frames for vRack performance \ No newline at end of file diff --git a/Openstack_OTC/OVH openstack/backupo-50.yml b/Openstack_OTC/OVH openstack/backupo-50.yml new file mode 100644 index 0000000..24dfd63 --- /dev/null +++ b/Openstack_OTC/OVH openstack/backupo-50.yml @@ -0,0 +1,24 @@ +network: + version: 2 + renderer: networkd + ethernets: + enp1s0f0: # << NIC 1 + dhcp4: false + dhcp6: false + addresses: + - 162.19.169.215/24 # << IP from provider + - 51.38.118.220/32 # Additional IP (failover IP) + routes: + - to: default + via: 162.19.169.254 # << Gateway + - to: 51.38.118.220/32 + scope: link + nameservers: + addresses: + - 213.186.33.99 # OVH DNS + - 8.8.8.8 + + enp1s0f1: # << NIC 2 + dhcp4: false + dhcp6: false + # Intentionally no IP - for OpenStack external network diff --git a/Openstack_OTC/OVH openstack/cinder.conf b/Openstack_OTC/OVH openstack/cinder.conf new file mode 100644 index 0000000..16059a4 --- /dev/null +++ b/Openstack_OTC/OVH openstack/cinder.conf @@ -0,0 +1,10 @@ +[DEFAULT] +enabled_backends = zfs + +[zfs] +volume_driver = cinder.volume.drivers.zfs.ZFSVolumeDriver +volume_backend_name = zfs +zfs_pool = peer_pool/cinder-zvol +zfs_volume_base = cinder-volumes +zfs_default_volsize = 1 # Default volume size in GB +# No size limit - volumes can be as large as needed \ No newline at end of file diff --git a/Openstack_OTC/OVH openstack/globals.yml b/Openstack_OTC/OVH openstack/globals.yml new file mode 100644 index 0000000..9001a3b --- /dev/null +++ b/Openstack_OTC/OVH openstack/globals.yml @@ -0,0 +1,83 @@ +--- +# Kolla configuration +workaround_ansible_issue_8743: yes +kolla_base_distro: "ubuntu" +kolla_install_type: "source" +openstack_release: "2024.1" + +# Network configuration +# Management/API network - Public NIC +network_interface: "enp1s0f0" +api_interface: "enp1s0f0" +storage_interface: "enp1s0f0" +cluster_interface: "enp1s0f0" + +# Tunnel network for tenant traffic - vRack NIC +tunnel_interface: "enp1s0f1" + +# External network interface - vRack NIC (OVS will manage this) +neutron_external_interface: "enp1s0f1" + +# VIP address on management network +kolla_internal_vip_address: "162.19.169.215" +kolla_external_vip_address: "162.19.169.215" +kolla_internal_fqdn: "openstack.ovh.local" +kolla_external_fqdn: "{{ kolla_internal_fqdn }}" + +# Networking +neutron_plugin_agent: "openvswitch" +neutron_bridge_name: "br-ex" +neutron_ovs_bridge_mappings: + - "physnet1:br-ex" + +# Enable jumbo frames for vRack +neutron_global_physnet_mtu: 9000 + +# Keystone - use port 5100 to avoid Docker registry conflict +keystone_admin_port: "5100" +keystone_public_port: "5100" + +# Disable HAProxy and Keepalived for single-node +enable_haproxy: "no" +enable_keepalived: "no" + +# Core OpenStack services +enable_openstack_core: "yes" +enable_glance: "yes" +enable_nova: "yes" +enable_neutron: "yes" +enable_keystone: "yes" +enable_horizon: "yes" + +# Cinder with ZFS backend +enable_cinder: "yes" +enable_cinder_backend_zfs: "yes" +cinder_backend_zfs_pool: "peer_pool/cinder-zvol" +cinder_backend_zfs_volume_name: "cinder-volumes" + +# Additional services +enable_rabbitmq: "yes" +rabbitmq_user: "openstack" + +# Disable iptables management - security via OpenStack security groups only +enable_neutron_provider_networks: "yes" + +# Logs +kolla_logs_dir: "/var/log/kolla" + +# Docker registry +docker_registry: "quay.io" +docker_namespace: "openstack.kolla" + +# Enable TLS for external access (optional - can enable later) +kolla_enable_tls_external: "no" +kolla_external_fqdn_cert: "{{ node_config_directory }}/certificates/haproxy.pem" + +# Barbican (optional - for secrets management) +enable_barbican: "no" + +# Octavia (optional - for load balancing) +enable_octavia: "no" + +# Redis (required for some services) +enable_redis: "yes" \ No newline at end of file diff --git a/Openstack_OTC/Peer_OTC_map.json b/Openstack_OTC/Peer_OTC_map.json new file mode 100644 index 0000000..dad66c0 --- /dev/null +++ b/Openstack_OTC/Peer_OTC_map.json @@ -0,0 +1,1949 @@ +{ + "servers": [ + { + "name": "peer-admin-loki-monitor", + "id": "8f0dbccb-d06f-49ef-9e88-f4d1af5c7342", + "status": "ACTIVE", + "flavor": "s3.large.2", + "fixed_ips": [ + "10.50.1.150" + ], + "floating_ips": [ + "80.158.22.100" + ], + "ports": [ + { + "id": "67d27c76-d02c-4d3a-882f-8076198fb308", + "mac_address": "fa:16:3e:de:ad:42", + "fixed_ips": [ + { + "subnet_id": "9dc18541-7290-43e4-98d5-9c99519d10c9", + "ip_address": "10.50.1.150" + } + ] + } + ], + "security_groups": [ + { + "name": "peer-admin-loki", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3389, + "port_range_max": 3389, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3100, + "port_range_max": 3100, + "remote_ip_prefix": "172.16.0.0/16" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3000, + "port_range_max": 3000, + "remote_ip_prefix": "10.50.0.0/16" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3100, + "port_range_max": 3100, + "remote_ip_prefix": "10.50.0.0/16" + } + ] + } + ] + }, + { + "name": "peer-admin-jumphost", + "id": "d2f50d51-52e3-4163-b8bb-6edd0b569ad4", + "status": "ACTIVE", + "flavor": "s7n.small.1", + "fixed_ips": [ + "10.50.1.100" + ], + "floating_ips": [ + "80.158.41.189" + ], + "ports": [ + { + "id": "b9b9ce27-1cc7-4c93-88bc-c995dbddd647", + "mac_address": "fa:16:3e:de:ad:10", + "fixed_ips": [ + { + "subnet_id": "9dc18541-7290-43e4-98d5-9c99519d10c9", + "ip_address": "10.50.1.100" + } + ] + } + ], + "security_groups": [ + { + "name": "peer-admin-jump", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3389, + "port_range_max": 3389, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3000, + "port_range_max": 3000, + "remote_ip_prefix": "10.50.0.0/16" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3000, + "port_range_max": 3000, + "remote_ip_prefix": "10.50.0.0/16" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3100, + "port_range_max": 3100, + "remote_ip_prefix": "10.50.0.0/16" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3100, + "port_range_max": 3100, + "remote_ip_prefix": "10.50.0.0/16" + } + ] + }, + { + "name": "default", + "rules": [ + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 20, + "port_range_max": 21, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3389, + "port_range_max": 3389, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 23, + "port_range_max": 23, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3389, + "port_range_max": 3389, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 23, + "port_range_max": 23, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 20, + "port_range_max": 21, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + } + ] + }, + { + "name": "ecs-peer-monitor-test", + "id": "bc66c2b9-b493-4a78-a4d6-8729ba0230c9", + "status": "ACTIVE", + "flavor": "s3.medium.2", + "fixed_ips": [ + "172.16.0.20" + ], + "floating_ips": [ + "164.30.7.104" + ], + "ports": [ + { + "id": "293f9e4e-dc97-4191-b36d-1eb0c7486035", + "mac_address": "fa:16:3e:10:00:14", + "fixed_ips": [ + { + "subnet_id": "da92bfcd-fbdb-40c4-976e-339446831330", + "ip_address": "172.16.0.20" + } + ] + } + ], + "security_groups": [ + { + "name": "sg-admin-testing", + "rules": [ + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3100, + "port_range_max": 3100, + "remote_ip_prefix": "10.50.0.0/16" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3389, + "port_range_max": 3389, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 20, + "port_range_max": 21, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + } + ] + } + ] + }, + { + "name": "ecs-testing-websocket", + "id": "27dd9e47-59d9-493c-a867-9291c4480b63", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "172.16.10.184" + ], + "floating_ips": [ + "80.158.109.151" + ], + "ports": [ + { + "id": "fe0f5779-8487-49c2-9492-8fd96aba1b60", + "mac_address": "fa:16:3e:10:0a:b8", + "fixed_ips": [ + { + "subnet_id": "ff0ede7a-6dab-45b4-924d-5e855ab36ea6", + "ip_address": "172.16.10.184" + } + ] + } + ], + "security_groups": [ + { + "name": "sg-test-websocket", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 7072, + "port_range_max": 7072, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 7071, + "port_range_max": 7071, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 7071, + "port_range_max": 7071, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + } + ] + }, + { + "name": "ecs-prod_web-frontend", + "id": "4c9df61a-0306-4036-b3e2-68ceff0fd121", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "192.168.1.94" + ], + "floating_ips": [ + "164.30.12.84" + ], + "ports": [ + { + "id": "eb00aa68-66ed-47c5-afc7-fb3b65d5020c", + "mac_address": "fa:16:3e:b9:12:6f", + "fixed_ips": [ + { + "subnet_id": "b42e2e98-45f2-4ec8-94bf-4dd2d7ecf574", + "ip_address": "192.168.1.94" + } + ] + } + ], + "security_groups": [ + { + "name": "sg-prod-web-frontend", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + } + ] + }, + { + "name": "ecs-prod-admin", + "id": "29ef279d-55d6-403f-98ab-63859b09cbaf", + "status": "ACTIVE", + "flavor": "s3.large.2", + "fixed_ips": [ + "192.168.1.193" + ], + "floating_ips": [], + "ports": [ + { + "id": "ec92dd6f-87c3-4d35-b79e-dc7be212657b", + "mac_address": "fa:16:3e:b9:12:d2", + "fixed_ips": [ + { + "subnet_id": "b42e2e98-45f2-4ec8-94bf-4dd2d7ecf574", + "ip_address": "192.168.1.193" + } + ] + } + ], + "security_groups": [ + { + "name": "sg-prod-admin", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + } + ] + }, + { + "name": "ecs-prod-backend", + "id": "349d2490-cfd9-4e2c-b4f0-a2c18efb0382", + "status": "ACTIVE", + "flavor": "s3.4xlarge.4", + "fixed_ips": [ + "192.168.1.183" + ], + "floating_ips": [], + "ports": [ + { + "id": "9df13dbb-7c34-45d1-9312-729e70492485", + "mac_address": "fa:16:3e:b9:12:c8", + "fixed_ips": [ + { + "subnet_id": "b42e2e98-45f2-4ec8-94bf-4dd2d7ecf574", + "ip_address": "192.168.1.183" + } + ] + } + ], + "security_groups": [ + { + "name": "sg-prod-backend", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + } + ] + }, + { + "name": "ecs-prod-jump", + "id": "a74ffa01-38c3-42dd-8b60-bf2ee6d662cc", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "192.168.0.65" + ], + "floating_ips": [ + "80.158.7.156" + ], + "ports": [ + { + "id": "83710b25-11aa-419c-bb65-4d9d031d734c", + "mac_address": "fa:16:3e:b9:11:52", + "fixed_ips": [ + { + "subnet_id": "43681d41-0d60-48b9-9817-6a712612fe3f", + "ip_address": "192.168.0.65" + } + ] + } + ], + "security_groups": [ + { + "name": "sg-prod-jump", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + } + ] + } + ] + }, + { + "name": "ecs-website", + "id": "87a5f22d-d596-4305-99d3-a5277aab207a", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "10.5.1.42" + ], + "floating_ips": [ + "164.30.6.79" + ], + "ports": [ + { + "id": "2a6d86d4-eaf9-4a57-b18f-af36760c4eb4", + "mac_address": "fa:16:3e:f4:f0:19", + "fixed_ips": [ + { + "subnet_id": "81493971-bb32-4fa6-9e8a-dc50f7a63486", + "ip_address": "10.5.1.42" + } + ] + } + ], + "security_groups": [ + { + "name": "sg-peer-web", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 8443, + "port_range_max": 8443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + } + ] + }, + { + "name": "ecs-admin-testing", + "id": "f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "172.16.10.240", + "172.16.10.241" + ], + "floating_ips": [ + "80.158.58.249" + ], + "ports": [ + { + "id": "58e7dce6-1241-46ad-b436-87577c1c3ee4", + "mac_address": "fa:16:3e:10:0a:f0", + "fixed_ips": [ + { + "subnet_id": "ff0ede7a-6dab-45b4-924d-5e855ab36ea6", + "ip_address": "172.16.10.240" + } + ] + }, + { + "id": "b461ed0c-0f73-4518-b3e7-098d27b0295c", + "mac_address": "fa:16:3e:10:0a:f1", + "fixed_ips": [ + { + "subnet_id": "ff0ede7a-6dab-45b4-924d-5e855ab36ea6", + "ip_address": "172.16.10.241" + } + ] + } + ], + "security_groups": [ + { + "name": "sg-admin-testing", + "rules": [ + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3100, + "port_range_max": 3100, + "remote_ip_prefix": "10.50.0.0/16" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3389, + "port_range_max": 3389, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 20, + "port_range_max": 21, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + } + ] + }, + { + "name": "sg-admin-testing", + "rules": [ + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3100, + "port_range_max": 3100, + "remote_ip_prefix": "10.50.0.0/16" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3389, + "port_range_max": 3389, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 20, + "port_range_max": 21, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + } + ] + } + ] + }, + { + "name": "ecs-peer-web-testing", + "id": "daa26951-e6b7-4e0e-86e0-32f9e669e838", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "172.16.10.194" + ], + "floating_ips": [], + "ports": [ + { + "id": "caf7dc15-faf7-420e-af0e-0c692a216fb0", + "mac_address": "fa:16:3e:10:0a:c2", + "fixed_ips": [ + { + "subnet_id": "ff0ede7a-6dab-45b4-924d-5e855ab36ea6", + "ip_address": "172.16.10.194" + } + ] + } + ], + "security_groups": [ + { + "name": "sg-peer-web-testing", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 8443, + "port_range_max": 8443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + } + ] + } + ] + }, + { + "name": "ecs-jump-testing", + "id": "fd525b9c-11dd-4e9d-abb7-6ce4b513d602", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "172.16.0.17" + ], + "floating_ips": [ + "164.30.10.149" + ], + "ports": [ + { + "id": "6ab37853-36b3-43be-ba26-d1bf37c8e8fb", + "mac_address": "fa:16:3e:10:00:11", + "fixed_ips": [ + { + "subnet_id": "da92bfcd-fbdb-40c4-976e-339446831330", + "ip_address": "172.16.0.17" + } + ] + } + ], + "security_groups": [ + { + "name": "sg-peer-jump-testing", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "93.240.197.170/32" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5000, + "port_range_max": 5000, + "remote_ip_prefix": "143.55.64.0/20" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5000, + "port_range_max": 5000, + "remote_ip_prefix": "192.30.252.0/22" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5000, + "port_range_max": 5000, + "remote_ip_prefix": "185.199.108.0/22" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5000, + "port_range_max": 5000, + "remote_ip_prefix": "140.82.112.0/20" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5000, + "port_range_max": 5000, + "remote_ip_prefix": "164.30.10.149/32" + } + ] + } + ] + }, + { + "name": "ecs-frontend-web", + "id": "444a37fc-6f04-4fb8-b55c-c3fdc3dba642", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "10.5.1.150" + ], + "floating_ips": [ + "80.158.108.20" + ], + "ports": [ + { + "id": "e2553fcb-1fcc-419a-bf20-fdf38910af54", + "mac_address": "fa:16:3e:f4:f0:85", + "fixed_ips": [ + { + "subnet_id": "81493971-bb32-4fa6-9e8a-dc50f7a63486", + "ip_address": "10.5.1.150" + } + ] + } + ], + "security_groups": [ + { + "name": "sg-peer-web", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 8443, + "port_range_max": 8443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + } + ] + }, + { + "name": "ecs-peer-admin", + "id": "658e9751-4923-465f-8091-2c6257645a5b", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "10.5.1.244" + ], + "floating_ips": [ + "80.158.60.175" + ], + "ports": [ + { + "id": "36625f7e-c4fc-405c-aeed-f2ac4655c778", + "mac_address": "fa:16:3e:f4:f0:e3", + "fixed_ips": [ + { + "subnet_id": "81493971-bb32-4fa6-9e8a-dc50f7a63486", + "ip_address": "10.5.1.244" + } + ] + } + ], + "security_groups": [ + { + "name": "sg-admin", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + } + ] + }, + { + "name": "ecs-peer-web", + "id": "940014fb-b09d-4c43-b3b9-db2820342ba9", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "10.5.1.60" + ], + "floating_ips": [], + "ports": [ + { + "id": "efbc7990-112f-4040-95bd-9ee8e8554398", + "mac_address": "fa:16:3e:f4:f0:2b", + "fixed_ips": [ + { + "subnet_id": "81493971-bb32-4fa6-9e8a-dc50f7a63486", + "ip_address": "10.5.1.60" + } + ] + } + ], + "security_groups": [ + { + "name": "sg-peer-web", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 8443, + "port_range_max": 8443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + } + ] + }, + { + "name": "ecs-peer-jump", + "id": "055f937b-0bb5-4905-b1b5-b053c161480a", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "10.5.0.241" + ], + "floating_ips": [ + "80.158.61.213" + ], + "ports": [ + { + "id": "1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1", + "mac_address": "fa:16:3e:f4:ef:e0", + "fixed_ips": [ + { + "subnet_id": "c5300a6a-417d-4833-9d43-08c134376b0d", + "ip_address": "10.5.0.241" + } + ] + } + ], + "security_groups": [ + { + "name": "sg-peer-jump", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "93.240.197.170/32" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + } + ] + } + ], + "networks": { + "vpcs": [ + { + "id": "0a2228f2-7f8a-45f1-8e09-9039e1d09975", + "name": "admin_external_net", + "is_external": true, + "subnets": [], + "ports": [] + } + ], + "floating_ips": [ + { + "id": "20e6d2f0-88fe-4e64-917b-eeab98b01ba4", + "floating_ip_address": "80.158.109.151", + "fixed_ip_address": "172.16.10.184", + "port_id": "fe0f5779-8487-49c2-9492-8fd96aba1b60", + "status": "ACTIVE" + }, + { + "id": "3a2dc1c0-f03b-445c-a5c5-1eab499d17e4", + "floating_ip_address": "80.158.58.249", + "fixed_ip_address": "172.16.10.240", + "port_id": "58e7dce6-1241-46ad-b436-87577c1c3ee4", + "status": "ACTIVE" + }, + { + "id": "48b84a18-a145-46bf-a2bd-4d415602e3ac", + "floating_ip_address": "80.158.111.42", + "fixed_ip_address": "10.5.0.128", + "port_id": "b4263be0-37e1-4815-8326-3ab128364ce9", + "status": "ACTIVE" + }, + { + "id": "4b07169c-1ddd-4dd5-b7d9-80e8e842a6dd", + "floating_ip_address": "164.30.12.84", + "fixed_ip_address": "192.168.1.94", + "port_id": "eb00aa68-66ed-47c5-afc7-fb3b65d5020c", + "status": "ACTIVE" + }, + { + "id": "56574a1b-b943-42a1-aa76-59ea5488d6fb", + "floating_ip_address": "80.158.61.213", + "fixed_ip_address": "10.5.0.241", + "port_id": "1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1", + "status": "ACTIVE" + }, + { + "id": "5ab2541a-8587-404b-8d93-0a09fdb3b3cf", + "floating_ip_address": "164.30.7.104", + "fixed_ip_address": "172.16.0.20", + "port_id": "293f9e4e-dc97-4191-b36d-1eb0c7486035", + "status": "ACTIVE" + }, + { + "id": "5c34c985-103b-4d59-bf3b-e088161fd9a4", + "floating_ip_address": "164.30.10.149", + "fixed_ip_address": "172.16.0.17", + "port_id": "6ab37853-36b3-43be-ba26-d1bf37c8e8fb", + "status": "ACTIVE" + }, + { + "id": "5d2396d6-3c87-4d9c-87da-4ea63df1e1a7", + "floating_ip_address": "80.158.108.20", + "fixed_ip_address": "10.5.1.150", + "port_id": "e2553fcb-1fcc-419a-bf20-fdf38910af54", + "status": "ACTIVE" + }, + { + "id": "6ddece6c-f9ab-4c4c-9f4b-c4a72d23322d", + "floating_ip_address": "80.158.7.156", + "fixed_ip_address": "192.168.0.65", + "port_id": "83710b25-11aa-419c-bb65-4d9d031d734c", + "status": "ACTIVE" + }, + { + "id": "6e2aef18-7fa0-489f-b1af-ff478041e216", + "floating_ip_address": "80.158.19.177", + "fixed_ip_address": "172.16.10.91", + "port_id": "2bf1cfbb-5e66-42c3-a49b-0b85353acddf", + "status": "ACTIVE" + }, + { + "id": "7fa9a2b4-294e-4186-9354-d047ca96cb1f", + "floating_ip_address": "164.30.6.79", + "fixed_ip_address": "10.5.1.42", + "port_id": "2a6d86d4-eaf9-4a57-b18f-af36760c4eb4", + "status": "ACTIVE" + }, + { + "id": "8b4899b1-abe3-48f5-9c15-2e6ecc7f8b6f", + "floating_ip_address": "80.158.37.0", + "fixed_ip_address": "172.16.0.203", + "port_id": "8325dcec-210a-4fe2-979d-1caa0fcf666f", + "status": "ACTIVE" + }, + { + "id": "a5dd8900-741c-4536-8fec-5fa9db7ae22d", + "floating_ip_address": "80.158.60.175", + "fixed_ip_address": "10.5.1.244", + "port_id": "36625f7e-c4fc-405c-aeed-f2ac4655c778", + "status": "ACTIVE" + }, + { + "id": "a71733dd-8500-488c-b5e2-7f9b4a75e53e", + "floating_ip_address": "164.30.10.134", + "fixed_ip_address": "192.168.0.109", + "port_id": "609e00c1-f0be-468e-9af7-e851a4100442", + "status": "ACTIVE" + }, + { + "id": "ae3f26bf-91bb-41b2-aa70-a0cd8cc59a2c", + "floating_ip_address": "164.30.12.76", + "fixed_ip_address": "10.5.1.28", + "port_id": "d575a83c-0f38-41c1-8a1b-bcb2f2a30613", + "status": "ACTIVE" + }, + { + "id": "ba6bb070-dbe0-42e2-8955-6d8411798651", + "floating_ip_address": "80.158.41.189", + "fixed_ip_address": "10.50.1.100", + "port_id": "b9b9ce27-1cc7-4c93-88bc-c995dbddd647", + "status": "ACTIVE" + }, + { + "id": "c6078015-ceb0-4634-9281-de1570cc5f91", + "floating_ip_address": "164.30.18.204", + "fixed_ip_address": "192.168.1.110", + "port_id": "607ff469-0f95-4b13-a44e-d55ff078469f", + "status": "ACTIVE" + }, + { + "id": "d72a3816-4bb3-4437-9d3c-5b30d4271d88", + "floating_ip_address": "80.158.22.100", + "fixed_ip_address": "10.50.1.150", + "port_id": "67d27c76-d02c-4d3a-882f-8076198fb308", + "status": "ACTIVE" + } + ], + "orphan_ports": [] + } +} \ No newline at end of file diff --git a/Openstack_OTC/cloud-init.yml b/Openstack_OTC/cloud-init.yml new file mode 100644 index 0000000..6ca7bef --- /dev/null +++ b/Openstack_OTC/cloud-init.yml @@ -0,0 +1,47 @@ +#cloud-config + +# User configuration +users: + - name: peer + groups: sudo + shell: /bin/bash + sudo: ['ALL=(ALL) NOPASSWD:ALL'] + lock_passwd: false + passwd: '$6$vZ/wjbnP7yQ7jV1v$yQeXzmK17PbiOnsG5Z8F0AbCKo1MLCk0UTMVnLteXdkcmA78mNH5fwKdP/e2Ni5tb28By8rUuEkl4zb/UG1Pt1' + ssh_authorized_keys: + - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDHr7r2lnUkxuUdAbYeNMfRe2ddGoMrcf5v5QT7Caoba peer@peer-omen + +# Package management +package_update: true +package_upgrade: false + +packages: + - software-properties-common + - apt-transport-https + - wget + - gpg + - htop + - curl + - git + - tree + - python3 + - ansible + - python3-venv + - python3-dev + - libffi-dev + - gcc + - libssl-dev + - libdbus-glib-1-dev + +# Custom commands that need to run after packages +runcmd: + # Grafana Alloy repository setup + - mkdir -p /etc/apt/keyrings/ + - wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | tee /etc/apt/keyrings/grafana.gpg > /dev/null + - echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | tee /etc/apt/sources.list.d/grafana.list + - apt-get update + - apt-get install -y alloy + +# Logging +output: + all: '| tee -a /var/log/cloud-init-output.log' \ No newline at end of file diff --git a/Openstack_OTC/clouds.yaml b/Openstack_OTC/clouds.yaml new file mode 100644 index 0000000..5fbe0bd --- /dev/null +++ b/Openstack_OTC/clouds.yaml @@ -0,0 +1,11 @@ +clouds: + otc: + auth: + auth_url: https://iam.eu-de.otc.t-systems.com/v3 + username: gogeek + password: "9JRml$h!drpR52B7" + project_name: "eu-de_peer" + domain_name: "OTC00000000001000122968" + region_name: eu-de + identity_api_version: 3 + interface: public diff --git a/Openstack_OTC/globals-new.yml b/Openstack_OTC/globals-new.yml new file mode 100644 index 0000000..dd8ec2b --- /dev/null +++ b/Openstack_OTC/globals-new.yml @@ -0,0 +1,44 @@ +# Core settings +workaround_ansible_issue_8743: yes +kolla_base_distro: "ubuntu" +kolla_install_type: "source" +openstack_release: "2024.1" + +# Management network (via wlp4s0 - WiFi interface) +kolla_internal_vip_address: "192.168.3.27" +kolla_internal_fqdn: "peeropstk.openstack.local" +network_interface: "wlp4s0" +api_interface: "wlp4s0" +tunnel_interface: "wlp4s0" +storage_interface: "wlp4s0" +cluster_interface: "wlp4s0" + +# External network (via enp0s31f6 - Ethernet interface) +neutron_external_interface: "enp0s31f6" +neutron_plugin_agent: "openvswitch" + +# Networking configuration +neutron_bridge_name: "br-ex" +# neutron_ovs_bridge_mappings: +# - "physnet1:br-ex" + +# Logs +kolla_logs_dir: "/opt/kolla/logs" + +# Load balancer (disabled for single node) +enable_haproxy: "no" +enable_keepalived: "no" + +# Core services +enable_openstack_core: "yes" +enable_rabbitmq: "yes" +rabbitmq_user: "openstack" +rabbitmq_cluster_cookie: "{{ lookup('file', '/etc/kolla/config/rabbitmq/.erlang.cookie') | trim }}" + +# Additional services +enable_barbican: "yes" +enable_cinder_backend_lvm: "yes" +enable_octavia: "yes" +enable_redis: "yes" +octavia_jobboard_enabled: "yes" +cinder_volume_group: "cinder-volumes" \ No newline at end of file diff --git a/Openstack_OTC/globals.yml b/Openstack_OTC/globals.yml new file mode 100644 index 0000000..e9ca257 --- /dev/null +++ b/Openstack_OTC/globals.yml @@ -0,0 +1,889 @@ +--- +# You can use this file to override _any_ variable throughout Kolla. +# Additional options can be found in the +# 'kolla-ansible/ansible/group_vars/all.yml' file. Default value of all the +# commented parameters are shown here, To override the default value uncomment +# the parameter and change its value. + +################### +# Ansible options +################### + +# This variable is used as the "filter" argument for the setup module. For +# instance, if one wants to remove/ignore all Neutron interface facts: +# kolla_ansible_setup_filter: "ansible_[!qt]*" +# By default, we do not provide a filter. +#kolla_ansible_setup_filter: "{{ omit }}" + +# This variable is used as the "gather_subset" argument for the setup module. +# For instance, if one wants to avoid collecting facts via facter: +# kolla_ansible_setup_gather_subset: "all,!facter" +# By default, we do not provide a gather subset. +#kolla_ansible_setup_gather_subset: "{{ omit }}" + +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes + +# This variable is used as "any_errors_fatal" setting for the setup (gather +# facts) plays. +# This is useful for weeding out failing hosts early to avoid late failures +# due to missing facts (especially cross-host). +# Do note this still supports host fact caching and it will not affect +# scenarios with all facts cached (as there is no task to fail). +#kolla_ansible_setup_any_errors_fatal: false + +############### +# Kolla options +############### +# Valid options are [ COPY_ONCE, COPY_ALWAYS ] +#config_strategy: "COPY_ALWAYS" + +# Valid options are ['centos', 'debian', 'rocky', 'ubuntu'] +kolla_base_distro: "ubuntu" +kolla_install_type: "source" + +# Do not override this unless you know what you are doing. +openstack_release: "2024.1" + +# Docker image tag used by default. +#openstack_tag: "{{ openstack_release ~ openstack_tag_suffix }}" + +# Suffix applied to openstack_release to generate openstack_tag. +#openstack_tag_suffix: "" + +# Location of configuration overrides +#node_custom_config: "{{ node_config }}/config" + +# This should be a VIP, an unused IP on your network that will float between +# the hosts running keepalived for high-availability. If you want to run an +# All-In-One without haproxy and keepalived, you can set enable_haproxy to no +# in "OpenStack options" section, and set this value to the IP of your +# 'network_interface' as set in the Networking section below. +kolla_internal_vip_address: "192.168.3.27" + +# This is the DNS name that maps to the kolla_internal_vip_address VIP. By +# default it is the same as kolla_internal_vip_address. +kolla_internal_fqdn: "peeropstk.openstack.local" #"{{ kolla_internal_vip_address }}" + +# This should be a VIP, an unused IP on your network that will float between +# the hosts running keepalived for high-availability. It defaults to the +# kolla_internal_vip_address, allowing internal and external communication to +# share the same address. Specify a kolla_external_vip_address to separate +# internal and external requests between two VIPs. +#kolla_external_vip_address: "{{ kolla_internal_vip_address }}" + +# The Public address used to communicate with OpenStack as set in the public_url +# for the endpoints that will be created. This DNS name should map to +# kolla_external_vip_address. +#kolla_external_fqdn: "{{ kolla_external_vip_address }}" + +# Optionally change the path to sysctl.conf modified by Kolla Ansible plays. +#kolla_sysctl_conf_path: /etc/sysctl.conf + +################ +# Container engine +################ + +# Valid options are [ docker ] +# kolla_container_engine: docker + +################ +# Docker options +################ + +# Custom docker registry settings: +#docker_registry: +# Please read the docs carefully before applying docker_registry_insecure. +#docker_registry_insecure: "no" +#docker_registry_username: +# docker_registry_password is set in the passwords.yml file. + +# Namespace of images: +#docker_namespace: "kolla" + +# Docker client timeout in seconds. +#docker_client_timeout: 120 + +#docker_configure_for_zun: "no" +#containerd_configure_for_zun: "no" +#containerd_grpc_gid: 42463 + +################### +# Messaging options +################### +# Whether to enable TLS for oslo.messaging communication with RabbitMQ. +#om_enable_rabbitmq_tls: "{{ rabbitmq_enable_tls | bool }}" +# CA certificate bundle in containers using oslo.messaging with RabbitMQ TLS. +#om_rabbitmq_cacert: "{{ rabbitmq_cacert }}" + +############################## +# Neutron - Networking Options +############################## +# This interface is what all your api services will be bound to by default. +# Additionally, all vxlan/tunnel and storage network traffic will go over this +# interface by default. This interface must contain an IP address. +# It is possible for hosts to have non-matching names of interfaces - these can +# be set in an inventory file per host or per group or stored separately, see +# http://docs.ansible.com/ansible/intro_inventory.html +# Yet another way to workaround the naming problem is to create a bond for the +# interface on all hosts and give the bond name here. Similar strategy can be +# followed for other types of interfaces. +network_interface: "wlp4s0" +api_interface: "wlp4s0" +tunnel_interface: "wlp4s0" +storage_interface: "wlp4s0" +cluster_interface: "wlp4s0" + +neutron_bridge_name: "br-ex" +neutron_external_interface: "enp0s31f6" +neutron_plugin_agent: "openvswitch" + +# Add physical network mapping +neutron_ovs_bridge_mappings: + - "physnet1:br-ex" + +kolla_logs_dir: "/opt/kolla/logs" + + +# These can be adjusted for even more customization. The default is the same as +# the 'network_interface'. These interfaces must contain an IP address. +#kolla_external_vip_interface: "{{ network_interface }}" +#api_interface: "{{ network_interface }}" +#swift_storage_interface: "{{ network_interface }}" +#swift_replication_interface: "{{ swift_storage_interface }}" +#tunnel_interface: "{{ network_interface }}" +#dns_interface: "{{ network_interface }}" +#octavia_network_interface: "{{ api_interface }}" + +# Configure the address family (AF) per network. +# Valid options are [ ipv4, ipv6 ] +#network_address_family: "ipv4" +#api_address_family: "{{ network_address_family }}" +#storage_address_family: "{{ network_address_family }}" +#swift_storage_address_family: "{{ storage_address_family }}" +#swift_replication_address_family: "{{ swift_storage_address_family }}" +#migration_address_family: "{{ api_address_family }}" +#tunnel_address_family: "{{ network_address_family }}" +#octavia_network_address_family: "{{ api_address_family }}" +#bifrost_network_address_family: "{{ network_address_family }}" +#dns_address_family: "{{ network_address_family }}" + +# This is the raw interface given to neutron as its external network port. Even +# though an IP address can exist on this interface, it will be unusable in most +# configurations. It is recommended this interface not be configured with any IP +# addresses for that reason. + + +# Valid options are [ openvswitch, ovn, linuxbridge, vmware_nsxv, vmware_nsxv3, vmware_nsxp, vmware_dvs ] +# if vmware_nsxv3 or vmware_nsxp is selected, enable_openvswitch MUST be set to "no" (default is yes) +# Do note linuxbridge is *EXPERIMENTAL* in Neutron since Zed and it requires extra tweaks to config to be usable. +# For details, see: https://docs.openstack.org/neutron/latest/admin/config-experimental-framework.html + + +# Valid options are [ internal, infoblox ] +#neutron_ipam_driver: "internal" + +# Configure Neutron upgrade option, currently Kolla support +# two upgrade ways for Neutron: legacy_upgrade and rolling_upgrade +# The variable "neutron_enable_rolling_upgrade: yes" is meaning rolling_upgrade +# were enabled and opposite +# Neutron rolling upgrade were enable by default +#neutron_enable_rolling_upgrade: "yes" + +# Configure neutron logging framework to log ingress/egress connections to instances +# for security groups rules. More information can be found here: +# https://docs.openstack.org/neutron/latest/admin/config-logging.html +#enable_neutron_packet_logging: "no" + +#################### +# keepalived options +#################### +# Arbitrary unique number from 0..255 +# This should be changed from the default in the event of a multi-region deployment +# where the VIPs of different regions reside on a common subnet. +#keepalived_virtual_router_id: "51" + +################### +# Dimension options +################### +# This is to provide an extra option to deploy containers with Resource constraints. +# We call it dimensions here. +# The dimensions for each container are defined by a mapping, where each dimension value should be a +# string. +# Reference_Docs +# https://docs.docker.com/config/containers/resource_constraints/ +# eg: +# _dimensions: +# blkio_weight: +# cpu_period: +# cpu_quota: +# cpu_shares: +# cpuset_cpus: +# cpuset_mems: +# mem_limit: +# mem_reservation: +# memswap_limit: +# kernel_memory: +# ulimits: + +##################### +# Healthcheck options +##################### +#enable_container_healthchecks: "yes" +# Healthcheck options for Docker containers +# interval/timeout/start_period are in seconds +#default_container_healthcheck_interval: 30 +#default_container_healthcheck_timeout: 30 +#default_container_healthcheck_retries: 3 +#default_container_healthcheck_start_period: 5 + +################## +# Firewall options +################## +# Configures firewalld on both ubuntu and centos systems +# for enabled services. +# firewalld should be installed beforehand. +# disable_firewall: "true" +# enable_external_api_firewalld: "false" +# external_api_firewalld_zone: "public" + +############# +# TLS options +############# +# To provide encryption and authentication on the kolla_external_vip_interface, +# TLS can be enabled. When TLS is enabled, certificates must be provided to +# allow clients to perform authentication. +#kolla_enable_tls_internal: "no" +#kolla_enable_tls_external: "{{ kolla_enable_tls_internal if kolla_same_external_internal_vip | bool else 'no' }}" +#kolla_certificates_dir: "{{ node_config }}/certificates" +#kolla_external_fqdn_cert: "{{ kolla_certificates_dir }}/haproxy.pem" +#kolla_internal_fqdn_cert: "{{ kolla_certificates_dir }}/haproxy-internal.pem" +#kolla_admin_openrc_cacert: "" +#kolla_copy_ca_into_containers: "no" +#haproxy_backend_cacert: "{{ 'ca-certificates.crt' if kolla_base_distro in ['debian', 'ubuntu'] else 'ca-bundle.trust.crt' }}" +#haproxy_backend_cacert_dir: "/etc/ssl/certs" + +################## +# Backend options +################## +#kolla_httpd_keep_alive: "60" +#kolla_httpd_timeout: "60" + +##################### +# Backend TLS options +##################### +#kolla_enable_tls_backend: "no" +#kolla_verify_tls_backend: "yes" +#kolla_tls_backend_cert: "{{ kolla_certificates_dir }}/backend-cert.pem" +#kolla_tls_backend_key: "{{ kolla_certificates_dir }}/backend-key.pem" + +##################### +# ACME client options +##################### +# A list of haproxy backend server directives pointing to addresses used by the +# ACME client to complete http-01 challenge. +# Please read the docs for more details. +#acme_client_servers: [] + +################ +# Region options +################ +# Use this option to change the name of this region. +#openstack_region_name: "RegionOne" + +# Use this option to define a list of region names - only needs to be configured +# in a multi-region deployment, and then only in the *first* region. +#multiple_regions_names: ["{{ openstack_region_name }}"] + +################### +# OpenStack options +################### +# Use these options to set the various log levels across all OpenStack projects +# Valid options are [ True, False ] +#openstack_logging_debug: "False" + +# Enable core OpenStack services. This includes: +# glance, keystone, neutron, nova, heat, and horizon. +enable_openstack_core: "yes" + +# These roles are required for Kolla to be operation, however a savvy deployer +# could disable some of these required roles and run their own services. +#enable_glance: "{{ enable_openstack_core | bool }}" +#enable_hacluster: "no" +enable_haproxy: "no" +enable_keepalived: "no" #"{{ enable_haproxy | bool }}" +#enable_keystone: "{{ enable_openstack_core | bool }}" +#enable_mariadb: "yes" +#enable_memcached: "yes" +#enable_neutron: "{{ enable_openstack_core | bool }}" +#enable_nova: "{{ enable_openstack_core | bool }}" +#enable_rabbitmq: "{{ 'yes' if om_rpc_transport == 'rabbit' or om_notify_transport == 'rabbit' else 'no' }}" +#enable_outward_rabbitmq: "{{ enable_murano | bool }}" +enable_rabbitmq: "yes" +rabbitmq_user: "openstack" +rabbitmq_cluster_cookie: "{{ lookup('file', '/etc/kolla/config/rabbitmq/.erlang.cookie') | trim }}" + +# OpenStack services can be enabled or disabled with these options +#enable_aodh: "no" +enable_barbican: "yes" +#enable_blazar: "no" +#enable_ceilometer: "no" +#enable_ceilometer_ipmi: "no" +#enable_cells: "no" +#enable_central_logging: "no" +#enable_ceph_rgw: "no" +#enable_ceph_rgw_loadbalancer: "{{ enable_ceph_rgw | bool }}" +#enable_cinder: "no" +#enable_cinder_backup: "yes" +#enable_cinder_backend_hnas_nfs: "no" +#enable_cinder_backend_iscsi: "{{ enable_cinder_backend_lvm | bool }}" +enable_cinder_backend_lvm: "yes" +#enable_cinder_backend_nfs: "no" +#enable_cinder_backend_quobyte: "no" +#enable_cinder_backend_pure_iscsi: "no" +#enable_cinder_backend_pure_fc: "no" +#enable_cinder_backend_pure_roce: "no" +#enable_cloudkitty: "no" +#enable_collectd: "no" +#enable_cyborg: "no" +#enable_designate: "no" +#enable_destroy_images: "no" +#enable_etcd: "no" +#enable_fluentd: "yes" +#enable_freezer: "no" +#enable_gnocchi: "no" +#enable_gnocchi_statsd: "no" +#enable_grafana: "no" +#enable_grafana_external: "{{ enable_grafana | bool }}" +#enable_heat: "{{ enable_openstack_core | bool }}" +#enable_horizon: "{{ enable_openstack_core | bool }}" +#enable_horizon_blazar: "{{ enable_blazar | bool }}" +#enable_horizon_cloudkitty: "{{ enable_cloudkitty | bool }}" +#enable_horizon_designate: "{{ enable_designate | bool }}" +#enable_horizon_freezer: "{{ enable_freezer | bool }}" +#enable_horizon_heat: "{{ enable_heat | bool }}" +#enable_horizon_ironic: "{{ enable_ironic | bool }}" +#enable_horizon_magnum: "{{ enable_magnum | bool }}" +#enable_horizon_manila: "{{ enable_manila | bool }}" +#enable_horizon_masakari: "{{ enable_masakari | bool }}" +#enable_horizon_mistral: "{{ enable_mistral | bool }}" +#enable_horizon_murano: "{{ enable_murano | bool }}" +#enable_horizon_neutron_vpnaas: "{{ enable_neutron_vpnaas | bool }}" +#enable_horizon_octavia: "{{ enable_octavia | bool }}" +#enable_horizon_sahara: "{{ enable_sahara | bool }}" +#enable_horizon_senlin: "{{ enable_senlin | bool }}" +#enable_horizon_solum: "{{ enable_solum | bool }}" +#enable_horizon_tacker: "{{ enable_tacker | bool }}" +#enable_horizon_trove: "{{ enable_trove | bool }}" +#enable_horizon_vitrage: "{{ enable_vitrage | bool }}" +#enable_horizon_watcher: "{{ enable_watcher | bool }}" +#enable_horizon_zun: "{{ enable_zun | bool }}" +#enable_influxdb: "{{ enable_cloudkitty | bool and cloudkitty_storage_backend == 'influxdb' }}" +#enable_ironic: "no" +#enable_ironic_neutron_agent: "{{ enable_neutron | bool and enable_ironic | bool }}" +#enable_iscsid: "{{ enable_cinder | bool and enable_cinder_backend_iscsi | bool }}" +#enable_kuryr: "no" +#enable_magnum: "no" +#enable_manila: "no" +#enable_manila_backend_generic: "no" +#enable_manila_backend_hnas: "no" +#enable_manila_backend_cephfs_native: "no" +#enable_manila_backend_cephfs_nfs: "no" +#enable_manila_backend_glusterfs_nfs: "no" +#enable_mariabackup: "no" +#enable_masakari: "no" +#enable_mistral: "no" +#enable_multipathd: "no" +#enable_murano: "no" +#enable_neutron_vpnaas: "no" +#enable_neutron_sriov: "no" +#enable_neutron_dvr: "no" +#enable_neutron_qos: "no" +#enable_neutron_agent_ha: "no" +#enable_neutron_bgp_dragent: "no" +#enable_neutron_provider_networks: "no" +#enable_neutron_segments: "no" +#enable_neutron_sfc: "no" +#enable_neutron_trunk: "no" +#enable_neutron_metering: "no" +#enable_neutron_infoblox_ipam_agent: "no" +#enable_neutron_port_forwarding: "no" +#enable_nova_serialconsole_proxy: "no" +#enable_nova_ssh: "yes" +enable_octavia: "yes" +#enable_octavia_driver_agent: "{{ enable_octavia | bool and neutron_plugin_agent == 'ovn' }}" +#enable_opensearch: "{{ enable_central_logging | bool or enable_osprofiler | bool or (enable_cloudkitty | bool and cloudkitty_storage_backend == 'elasticsearch') }}" +#enable_opensearch_dashboards: "{{ enable_opensearch | bool }}" +#enable_opensearch_dashboards_external: "{{ enable_opensearch_dashboards | bool }}" +#enable_openvswitch: "{{ enable_neutron | bool and neutron_plugin_agent != 'linuxbridge' }}" +#enable_ovn: "{{ enable_neutron | bool and neutron_plugin_agent == 'ovn' }}" +#enable_ovs_dpdk: "no" +#enable_osprofiler: "no" +#enable_placement: "{{ enable_nova | bool or enable_zun | bool }}" +#enable_prometheus: "no" +#enable_proxysql: "no" +enable_redis: "yes" +#enable_sahara: "no" +#enable_senlin: "no" +#enable_skyline: "no" +#enable_solum: "no" +#enable_swift: "no" +#enable_swift_s3api: "no" +#enable_tacker: "no" +#enable_telegraf: "no" +#enable_trove: "no" +#enable_trove_singletenant: "no" +#enable_venus: "no" +#enable_vitrage: "no" +#enable_watcher: "no" +#enable_zun: "no" +octavia_jobboard_enabled: "yes" + + +################## +# RabbitMQ options +################## +# Options passed to RabbitMQ server startup script via the +# RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS environment var. +# See Kolla Ansible docs RabbitMQ section for details. +# These are appended to args already provided by Kolla Ansible +# to configure IPv6 in RabbitMQ server. +# More details can be found in the RabbitMQ docs: +# https://www.rabbitmq.com/runtime.html#scheduling +# https://www.rabbitmq.com/runtime.html#busy-waiting +# The default tells RabbitMQ to always use two cores (+S 2:2), +# and not to busy wait (+sbwt none +sbwtdcpu none +sbwtdio none): +#rabbitmq_server_additional_erl_args: "+S 2:2 +sbwt none +sbwtdcpu none +sbwtdio none" +# Whether to enable TLS encryption for RabbitMQ client-server communication. +#rabbitmq_enable_tls: "no" +# CA certificate bundle in RabbitMQ container. +#rabbitmq_cacert: "/etc/ssl/certs/{{ 'ca-certificates.crt' if kolla_base_distro in ['debian', 'ubuntu'] else 'ca-bundle.trust.crt' }}" + +################# +# MariaDB options +################# +# List of additional WSREP options +#mariadb_wsrep_extra_provider_options: [] + +####################### +# External Ceph options +####################### +# External Ceph - cephx auth enabled (this is the standard nowadays, defaults to yes) +#external_ceph_cephx_enabled: "yes" + +# Glance +#ceph_glance_keyring: "ceph.client.glance.keyring" +#ceph_glance_user: "glance" +#ceph_glance_pool_name: "images" +# Cinder +#ceph_cinder_keyring: "ceph.client.cinder.keyring" +#ceph_cinder_user: "cinder" +#ceph_cinder_pool_name: "volumes" +#ceph_cinder_backup_keyring: "ceph.client.cinder-backup.keyring" +#ceph_cinder_backup_user: "cinder-backup" +#ceph_cinder_backup_pool_name: "backups" +# Nova +#ceph_nova_keyring: "{{ ceph_cinder_keyring }}" +#ceph_nova_user: "{{ ceph_cinder_user }}" +#ceph_nova_pool_name: "vms" +# Gnocchi +#ceph_gnocchi_keyring: "ceph.client.gnocchi.keyring" +#ceph_gnocchi_user: "gnocchi" +#ceph_gnocchi_pool_name: "gnocchi" +# Manila +#ceph_manila_keyring: "ceph.client.manila.keyring" +#ceph_manila_user: "manila" + +############################# +# Keystone - Identity Options +############################# + +#keystone_admin_user: "admin" + +#keystone_admin_project: "admin" + +# Interval to rotate fernet keys by (in seconds). Must be an interval of +# 60(1 min), 120(2 min), 180(3 min), 240(4 min), 300(5 min), 360(6 min), +# 600(10 min), 720(12 min), 900(15 min), 1200(20 min), 1800(30 min), +# 3600(1 hour), 7200(2 hour), 10800(3 hour), 14400(4 hour), 21600(6 hour), +# 28800(8 hour), 43200(12 hour), 86400(1 day), 604800(1 week). +#fernet_token_expiry: 86400 + +# Whether or not to apply changes to service user passwords when services are +# reconfigured +#update_keystone_service_user_passwords: "true" + +######################## +# Glance - Image Options +######################## +# Configure image backend. +#glance_backend_ceph: "no" +#glance_backend_file: "yes" +#glance_backend_swift: "no" +#glance_backend_vmware: "no" +#enable_glance_image_cache: "no" +#glance_enable_property_protection: "no" +#glance_enable_interoperable_image_import: "no" +# Configure glance upgrade option. +# Due to this feature being experimental in glance, +# the default value is "no". +#glance_enable_rolling_upgrade: "no" + +#################### +# Osprofiler options +#################### +# valid values: ["elasticsearch", "redis"] +#osprofiler_backend: "elasticsearch" + +################## +# Barbican options +################## +# Valid options are [ simple_crypto, p11_crypto ] +#barbican_crypto_plugin: "simple_crypto" +#barbican_library_path: "/usr/lib/libCryptoki2_64.so" + +################# +# Gnocchi options +################# +# Valid options are [ file, ceph, swift ] +#gnocchi_backend_storage: "{% if enable_swift | bool %}swift{% else %}file{% endif %}" + +# Valid options are [redis, ''] +#gnocchi_incoming_storage: "{{ 'redis' if enable_redis | bool else '' }}" + +################################ +# Cinder - Block Storage Options +################################ +# Enable / disable Cinder backends +#cinder_backend_ceph: "no" +#cinder_backend_vmwarevc_vmdk: "no" +#cinder_backend_vmware_vstorage_object: "no" +cinder_volume_group: "cinder-volumes" +# Valid options are [ '', redis, etcd ] +#cinder_coordination_backend: "{{ 'redis' if enable_redis|bool else 'etcd' if enable_etcd|bool else '' }}" + +# Valid options are [ nfs, swift, ceph ] +#cinder_backup_driver: "ceph" +#cinder_backup_share: "" +#cinder_backup_mount_options_nfs: "" + +####################### +# Cloudkitty options +####################### +# Valid option is gnocchi +#cloudkitty_collector_backend: "gnocchi" +# Valid options are 'sqlalchemy' or 'influxdb'. The default value is +# 'influxdb', which matches the default in Cloudkitty since the Stein release. +# When the backend is "influxdb", we also enable Influxdb. +# Also, when using 'influxdb' as the backend, we trigger the configuration/use +# of Cloudkitty storage backend version 2. +#cloudkitty_storage_backend: "influxdb" + +################### +# Designate options +################### +# Valid options are [ bind9 ] +#designate_backend: "bind9" +#designate_ns_record: +# - "ns1.example.org" +# Valid options are [ '', redis ] +#designate_coordination_backend: "{{ 'redis' if enable_redis|bool else '' }}" + +######################## +# Nova - Compute Options +######################## +#nova_backend_ceph: "no" + +# Valid options are [ qemu, kvm, vmware ] +#nova_compute_virt_type: "kvm" + +# The number of fake driver per compute node +#num_nova_fake_per_node: 5 + +# The flag "nova_safety_upgrade" need to be consider when +# "nova_enable_rolling_upgrade" is enabled. The "nova_safety_upgrade" +# controls whether the nova services are all stopped before rolling +# upgrade to the new version, for the safety and availability. +# If "nova_safety_upgrade" is "yes", that will stop all nova services (except +# nova-compute) for no failed API operations before upgrade to the +# new version. And opposite. +#nova_safety_upgrade: "no" + +# Valid options are [ none, novnc, spice ] +#nova_console: "novnc" + +############################## +# Neutron - networking options +############################## +# Enable distributed floating ip for OVN deployments +#neutron_ovn_distributed_fip: "no" + +# Enable DHCP agent(s) to use with OVN +#neutron_ovn_dhcp_agent: "no" + +############################# +# Horizon - Dashboard Options +############################# +#horizon_backend_database: "{{ enable_murano | bool }}" + +############################# +# Ironic options +############################# +# dnsmasq bind interface for Ironic Inspector, by default is network_interface +#ironic_dnsmasq_interface: "{{ network_interface }}" +# The following value must be set when enabling ironic, the value format is a +# list of ranges - at least one must be configured, for example: +# - range: 192.168.0.10,192.168.0.100 +# See Kolla Ansible docs on Ironic for details. +#ironic_dnsmasq_dhcp_ranges: +# PXE bootloader file for Ironic Inspector, relative to /var/lib/ironic/tftpboot. +#ironic_dnsmasq_boot_file: "pxelinux.0" + +# Configure ironic upgrade option, due to currently kolla support +# two upgrade ways for ironic: legacy_upgrade and rolling_upgrade +# The variable "ironic_enable_rolling_upgrade: yes" is meaning rolling_upgrade +# were enabled and opposite +# Rolling upgrade were enable by default +#ironic_enable_rolling_upgrade: "yes" + +# List of extra kernel parameters passed to the kernel used during inspection +#ironic_inspector_kernel_cmdline_extras: [] + +# Valid options are [ '', redis, etcd ] +#ironic_coordination_backend: "{{ 'redis' if enable_redis|bool else 'etcd' if enable_etcd|bool else '' }}" + +###################################### +# Manila - Shared File Systems Options +###################################### +# HNAS backend configuration +#hnas_ip: +#hnas_user: +#hnas_password: +#hnas_evs_id: +#hnas_evs_ip: +#hnas_file_system_name: + +# CephFS backend configuration. +# External Ceph FS name. +# By default this is empty to allow Manila to auto-find the first FS available. +#manila_cephfs_filesystem_name: + +# Gluster backend configuration +# The option of glusterfs share layout can be directory or volume +# The default option of share layout is 'volume' +#manila_glusterfs_share_layout: +# The default option of nfs server type is 'Gluster' +#manila_glusterfs_nfs_server_type: + +# Volume layout Options (required) +# If the glusterfs server requires remote ssh, then you need to fill +# in 'manila_glusterfs_servers', ssh user 'manila_glusterfs_ssh_user', and ssh password +# 'manila_glusterfs_ssh_password'. +# 'manila_glusterfs_servers' value List of GlusterFS servers which provide volumes, +# the format is for example: +# - 10.0.1.1 +# - 10.0.1.2 +#manila_glusterfs_servers: +#manila_glusterfs_ssh_user: +#manila_glusterfs_ssh_password: +# Used to filter GlusterFS volumes for share creation. +# Examples: manila-share-volume-\\d+$, manila-share-volume-#{size}G-\\d+$; +#manila_glusterfs_volume_pattern: + +# Directory layout Options +# If the glusterfs server is on the local node of the manila share, +# it’s of the format :/ +# If the glusterfs server is on a remote node, +# it’s of the format @:/ , +# and define 'manila_glusterfs_ssh_password' +#manila_glusterfs_target: +#manila_glusterfs_mount_point_base: + +################################ +# Swift - Object Storage Options +################################ +# Swift expects block devices to be available for storage. Two types of storage +# are supported: 1 - storage device with a special partition name and filesystem +# label, 2 - unpartitioned disk with a filesystem. The label of this filesystem +# is used to detect the disk which Swift will be using. + +# Swift support two matching modes, valid options are [ prefix, strict ] +#swift_devices_match_mode: "strict" + +# This parameter defines matching pattern: if "strict" mode was selected, +# for swift_devices_match_mode then swift_device_name should specify the name of +# the special swift partition for example: "KOLLA_SWIFT_DATA", if "prefix" mode was +# selected then swift_devices_name should specify a pattern which would match to +# filesystems' labels prepared for swift. +#swift_devices_name: "KOLLA_SWIFT_DATA" + +# Configure swift upgrade option, due to currently kolla support +# two upgrade ways for swift: legacy_upgrade and rolling_upgrade +# The variable "swift_enable_rolling_upgrade: yes" is meaning rolling_upgrade +# were enabled and opposite +# Rolling upgrade were enable by default +#swift_enable_rolling_upgrade: "yes" + +################################### +# VMware - OpenStack VMware support +################################### +#vmware_vcenter_host_ip: +#vmware_vcenter_host_username: +#vmware_vcenter_host_password: +#vmware_datastore_name: +#vmware_vcenter_name: +#vmware_vcenter_cluster_name: + +############ +# Prometheus +############ +#enable_prometheus_server: "{{ enable_prometheus | bool }}" +#enable_prometheus_haproxy_exporter: "{{ enable_haproxy | bool }}" +#enable_prometheus_mysqld_exporter: "{{ enable_mariadb | bool }}" +#enable_prometheus_node_exporter: "{{ enable_prometheus | bool }}" +#enable_prometheus_cadvisor: "{{ enable_prometheus | bool }}" +#enable_prometheus_fluentd_integration: "{{ enable_prometheus | bool and enable fluentd | bool }}" +#enable_prometheus_memcached: "{{ enable_prometheus | bool }}" +#enable_prometheus_alertmanager: "{{ enable_prometheus | bool }}" +#enable_prometheus_alertmanager_external: "{{ enable_prometheus_alertmanager | bool }}" +#enable_prometheus_ceph_mgr_exporter: "no" +#enable_prometheus_openstack_exporter: "{{ enable_prometheus | bool }}" +#enable_prometheus_elasticsearch_exporter: "{{ enable_prometheus | bool and enable_elasticsearch | bool }}" +#enable_prometheus_blackbox_exporter: "{{ enable_prometheus | bool }}" +#enable_prometheus_libvirt_exporter: "{{ enable_prometheus | bool and enable_nova | bool and nova_compute_virt_type in ['kvm', 'qemu'] }}" +#enable_prometheus_etcd_integration: "{{ enable_prometheus | bool and enable_etcd | bool }}" +#enable_prometheus_msteams: "no" + +# The labels to add to any time series or alerts when communicating with external systems (federation, remote storage, Alertmanager). +# prometheus_external_labels: +# : +# By default, prometheus_external_labels is empty +#prometheus_external_labels: + +# List of extra parameters passed to prometheus. You can add as many to the list. +#prometheus_cmdline_extras: + +# List of extra parameters passed to cAdvisor. By default system cgroups +# and container labels are not exposed to reduce time series cardinality. +#prometheus_cadvisor_cmdline_extras: "--docker_only --store_container_labels=false --disable_metrics=percpu,referenced_memory,cpu_topology,resctrl,udp,advtcp,sched,hugetlb,memory_numa,tcp,process" + +# Extra parameters passed to Prometheus exporters. +#prometheus_blackbox_exporter_cmdline_extras: +#prometheus_elasticsearch_exporter_cmdline_extras: +#prometheus_haproxy_exporter_cmdline_extras: +#prometheus_memcached_exporter_cmdline_extras: +#prometheus_mysqld_exporter_cmdline_extras: +#prometheus_node_exporter_cmdline_extras: +#prometheus_openstack_exporter_cmdline_extras: + +# Example of setting endpoints for prometheus ceph mgr exporter. +# You should add all ceph mgr's in your external ceph deployment. +#prometheus_ceph_mgr_exporter_endpoints: +# - host1:port1 +# - host2:port2 + +######### +# Freezer +######### +# Freezer can utilize two different database backends, elasticsearch or mariadb. +# Elasticsearch is preferred, however it is not compatible with the version deployed +# by kolla-ansible. You must first setup an external elasticsearch with 2.3.0. +# By default, kolla-ansible deployed mariadb is the used database backend. +#freezer_database_backend: "mariadb" + +########## +# Telegraf +########## +# Configure telegraf to use the docker daemon itself as an input for +# telemetry data. +#telegraf_enable_docker_input: "no" + +########################################## +# Octavia - openstack loadbalancer Options +########################################## +# Whether to run Kolla Ansible's automatic configuration for Octavia. +# NOTE: if you upgrade from Ussuri, you must set `octavia_auto_configure` to `no` +# and keep your other Octavia config like before. +#octavia_auto_configure: yes + +# Octavia amphora flavor. +# See os_nova_flavor for details. Supported parameters: +# - flavorid (optional) +# - is_public (optional) +# - name +# - vcpus +# - ram +# - disk +# - ephemeral (optional) +# - swap (optional) +# - extra_specs (optional) +#octavia_amp_flavor: +# name: "amphora" +# is_public: no +# vcpus: 1 +# ram: 1024 +# disk: 5 + +# Octavia security groups. lb-mgmt-sec-grp is for amphorae. +#octavia_amp_security_groups: +# mgmt-sec-grp: +# name: "lb-mgmt-sec-grp" +# rules: +# - protocol: icmp +# - protocol: tcp +# src_port: 22 +# dst_port: 22 +# - protocol: tcp +# src_port: "{{ octavia_amp_listen_port }}" +# dst_port: "{{ octavia_amp_listen_port }}" + +# Octavia management network. +# See os_network and os_subnet for details. Supported parameters: +# - external (optional) +# - mtu (optional) +# - name +# - provider_network_type (optional) +# - provider_physical_network (optional) +# - provider_segmentation_id (optional) +# - shared (optional) +# - subnet +# The subnet parameter has the following supported parameters: +# - allocation_pool_start (optional) +# - allocation_pool_end (optional) +# - cidr +# - enable_dhcp (optional) +# - gateway_ip (optional) +# - name +# - no_gateway_ip (optional) +# - ip_version (optional) +# - ipv6_address_mode (optional) +# - ipv6_ra_mode (optional) +#octavia_amp_network: +# name: lb-mgmt-net +# shared: false +# subnet: +# name: lb-mgmt-subnet +# cidr: "{{ octavia_amp_network_cidr }}" +# no_gateway_ip: yes +# enable_dhcp: yes + +# Octavia management network subnet CIDR. +#octavia_amp_network_cidr: 10.1.0.0/24 + +#octavia_amp_image_tag: "amphora" + +# Load balancer topology options are [ SINGLE, ACTIVE_STANDBY ] +#octavia_loadbalancer_topology: "SINGLE" + +# The following variables are ignored as along as `octavia_auto_configure` is set to `yes`. +#octavia_amp_image_owner_id: +#octavia_amp_boot_network_list: +#octavia_amp_secgroup_list: +#octavia_amp_flavor_id: + +#################### +# Corosync options +#################### + +# this is UDP port +#hacluster_corosync_port: 5405 diff --git a/Openstack_OTC/network_map.json b/Openstack_OTC/network_map.json new file mode 100644 index 0000000..95e3cf7 --- /dev/null +++ b/Openstack_OTC/network_map.json @@ -0,0 +1,1778 @@ +{ + "servers": [ + { + "name": "peer-admin-loki-monitor", + "id": "8f0dbccb-d06f-49ef-9e88-f4d1af5c7342", + "status": "ACTIVE", + "flavor": "s3.large.2", + "fixed_ips": [ + "10.50.1.150" + ], + "floating_ips": [ + "80.158.22.100" + ], + "security_groups": [ + "peer-admin-loki", + "default" + ] + }, + { + "name": "peer-admin-jumphost", + "id": "d2f50d51-52e3-4163-b8bb-6edd0b569ad4", + "status": "ACTIVE", + "flavor": "s7n.small.1", + "fixed_ips": [ + "10.50.1.100" + ], + "floating_ips": [ + "80.158.41.189" + ], + "security_groups": [ + "peer-admin-jump", + "default" + ] + }, + { + "name": "ecs-peer-monitor-test", + "id": "bc66c2b9-b493-4a78-a4d6-8729ba0230c9", + "status": "ACTIVE", + "flavor": "s3.medium.2", + "fixed_ips": [ + "172.16.0.20" + ], + "floating_ips": [ + "164.30.7.104" + ], + "security_groups": [ + "sg-admin-testing", + "default" + ] + }, + { + "name": "ecs-testing-websocket", + "id": "27dd9e47-59d9-493c-a867-9291c4480b63", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "172.16.10.184" + ], + "floating_ips": [ + "80.158.109.151" + ], + "security_groups": [ + "sg-test-websocket" + ] + }, + { + "name": "ecs-prod_web-frontend", + "id": "4c9df61a-0306-4036-b3e2-68ceff0fd121", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "192.168.1.94" + ], + "floating_ips": [ + "164.30.12.84" + ], + "security_groups": [ + "sg-prod-web-frontend" + ] + }, + { + "name": "ecs-prod-admin", + "id": "29ef279d-55d6-403f-98ab-63859b09cbaf", + "status": "ACTIVE", + "flavor": "s3.large.2", + "fixed_ips": [ + "192.168.1.193" + ], + "floating_ips": [], + "security_groups": [ + "sg-prod-admin" + ] + }, + { + "name": "ecs-prod-backend", + "id": "349d2490-cfd9-4e2c-b4f0-a2c18efb0382", + "status": "ACTIVE", + "flavor": "s3.4xlarge.4", + "fixed_ips": [ + "192.168.1.183" + ], + "floating_ips": [], + "security_groups": [ + "sg-prod-backend" + ] + }, + { + "name": "ecs-prod-jump", + "id": "a74ffa01-38c3-42dd-8b60-bf2ee6d662cc", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "192.168.0.65" + ], + "floating_ips": [ + "80.158.7.156" + ], + "security_groups": [ + "sg-prod-jump" + ] + }, + { + "name": "ecs-website", + "id": "87a5f22d-d596-4305-99d3-a5277aab207a", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "10.5.1.42" + ], + "floating_ips": [ + "164.30.6.79" + ], + "security_groups": [ + "sg-peer-web" + ] + }, + { + "name": "ecs-admin-testing", + "id": "f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "172.16.10.240", + "172.16.10.241" + ], + "floating_ips": [ + "80.158.58.249" + ], + "security_groups": [ + "sg-admin-testing", + "sg-admin-testing" + ] + }, + { + "name": "ecs-peer-web-testing", + "id": "daa26951-e6b7-4e0e-86e0-32f9e669e838", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "172.16.10.194" + ], + "floating_ips": [], + "security_groups": [ + "sg-peer-web-testing" + ] + }, + { + "name": "ecs-jump-testing", + "id": "fd525b9c-11dd-4e9d-abb7-6ce4b513d602", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "172.16.0.17" + ], + "floating_ips": [ + "164.30.10.149" + ], + "security_groups": [ + "sg-peer-jump-testing" + ] + }, + { + "name": "ecs-frontend-web", + "id": "444a37fc-6f04-4fb8-b55c-c3fdc3dba642", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "10.5.1.150" + ], + "floating_ips": [ + "80.158.108.20" + ], + "security_groups": [ + "sg-peer-web" + ] + }, + { + "name": "ecs-peer-admin", + "id": "658e9751-4923-465f-8091-2c6257645a5b", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "10.5.1.244" + ], + "floating_ips": [ + "80.158.60.175" + ], + "security_groups": [ + "sg-admin" + ] + }, + { + "name": "ecs-peer-web", + "id": "940014fb-b09d-4c43-b3b9-db2820342ba9", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "10.5.1.60" + ], + "floating_ips": [], + "security_groups": [ + "sg-peer-web" + ] + }, + { + "name": "ecs-peer-jump", + "id": "055f937b-0bb5-4905-b1b5-b053c161480a", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "10.5.0.241" + ], + "floating_ips": [ + "80.158.61.213" + ], + "security_groups": [ + "sg-peer-jump" + ] + } + ], + "networks": [ + { + "id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "name": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "subnets": [ + "ff0ede7a-6dab-45b4-924d-5e855ab36ea6" + ], + "router:external": false + }, + { + "id": "090def60-f4da-434f-a374-78dc9817fb6e", + "name": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "subnets": [ + "da92bfcd-fbdb-40c4-976e-339446831330" + ], + "router:external": false + }, + { + "id": "3089a379-4a7f-4147-aa5e-b2134d6327f7", + "name": "700af767-115d-43b8-8886-a6a4a63d59ef", + "subnets": [ + "81493971-bb32-4fa6-9e8a-dc50f7a63486" + ], + "router:external": false + }, + { + "id": "43768ec1-f43b-4c28-97b3-98cd1408ebcc", + "name": "cb43c4e5-e25c-4727-b7ce-6b9995edffac", + "subnets": [ + "15df7a53-3edf-4316-a812-a47c7b0d63e7" + ], + "router:external": false + }, + { + "id": "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a", + "name": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "subnets": [ + "7d2dd8db-38e5-4526-ace9-d6bddd573e88" + ], + "router:external": false + }, + { + "id": "536f3d94-35f2-4aca-9116-16a76d0b91c4", + "name": "cb43c4e5-e25c-4727-b7ce-6b9995edffac", + "subnets": [ + "9dc18541-7290-43e4-98d5-9c99519d10c9" + ], + "router:external": false + }, + { + "id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f", + "name": "8165c92f-f183-4e22-a1c2-9df880276a11", + "subnets": [ + "43681d41-0d60-48b9-9817-6a712612fe3f" + ], + "router:external": false + }, + { + "id": "ae7211cf-a76b-45b9-a291-351768e4d954", + "name": "700af767-115d-43b8-8886-a6a4a63d59ef", + "subnets": [ + "9a1a7c23-c024-420d-bece-3ab50296b2ff" + ], + "router:external": false + }, + { + "id": "b3523510-8a93-4ad9-b5d7-2178464f1f65", + "name": "700af767-115d-43b8-8886-a6a4a63d59ef", + "subnets": [ + "c5300a6a-417d-4833-9d43-08c134376b0d" + ], + "router:external": false + }, + { + "id": "d0c4899f-b567-4d33-bb17-4e28d926cbc5", + "name": "8165c92f-f183-4e22-a1c2-9df880276a11", + "subnets": [ + "9f4d41cb-1a40-4520-9e89-a3ada8acffa1" + ], + "router:external": false + }, + { + "id": "f347c51c-7f22-4a6c-800f-fd6d38686794", + "name": "8165c92f-f183-4e22-a1c2-9df880276a11", + "subnets": [ + "b42e2e98-45f2-4ec8-94bf-4dd2d7ecf574" + ], + "router:external": false + }, + { + "id": "0a2228f2-7f8a-45f1-8e09-9039e1d09975", + "name": "admin_external_net", + "subnets": [ + "f2da9b91-3cc1-4dde-a5f7-a603aa65a2c1" + ], + "router:external": true + } + ], + "subnets": [ + { + "id": "15df7a53-3edf-4316-a812-a47c7b0d63e7", + "name": "peer-admin-test", + "cidr": "10.50.50.0/24", + "gateway_ip": "10.50.50.1", + "network_id": "43768ec1-f43b-4c28-97b3-98cd1408ebcc" + }, + { + "id": "43681d41-0d60-48b9-9817-6a712612fe3f", + "name": "subnet-prod-mgt", + "cidr": "192.168.0.0/24", + "gateway_ip": "192.168.0.1", + "network_id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f" + }, + { + "id": "7d2dd8db-38e5-4526-ace9-d6bddd573e88", + "name": "subnet-data-testing", + "cidr": "172.16.20.0/24", + "gateway_ip": "172.16.20.1", + "network_id": "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a" + }, + { + "id": "81493971-bb32-4fa6-9e8a-dc50f7a63486", + "name": "subnet-peer-service", + "cidr": "10.5.1.0/24", + "gateway_ip": "10.5.1.1", + "network_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7" + }, + { + "id": "9a1a7c23-c024-420d-bece-3ab50296b2ff", + "name": "subnet-peer-data", + "cidr": "10.5.2.0/24", + "gateway_ip": "10.5.2.1", + "network_id": "ae7211cf-a76b-45b9-a291-351768e4d954" + }, + { + "id": "9dc18541-7290-43e4-98d5-9c99519d10c9", + "name": "peer-admin-mgnt", + "cidr": "10.50.1.0/24", + "gateway_ip": "10.50.1.1", + "network_id": "536f3d94-35f2-4aca-9116-16a76d0b91c4" + }, + { + "id": "9f4d41cb-1a40-4520-9e89-a3ada8acffa1", + "name": "subnet-prod-data", + "cidr": "192.168.2.0/24", + "gateway_ip": "192.168.2.1", + "network_id": "d0c4899f-b567-4d33-bb17-4e28d926cbc5" + }, + { + "id": "b42e2e98-45f2-4ec8-94bf-4dd2d7ecf574", + "name": "subnet-prod-service", + "cidr": "192.168.1.0/24", + "gateway_ip": "192.168.1.1", + "network_id": "f347c51c-7f22-4a6c-800f-fd6d38686794" + }, + { + "id": "c5300a6a-417d-4833-9d43-08c134376b0d", + "name": "subnet-peer-mgt", + "cidr": "10.5.0.0/24", + "gateway_ip": "10.5.0.1", + "network_id": "b3523510-8a93-4ad9-b5d7-2178464f1f65" + }, + { + "id": "da92bfcd-fbdb-40c4-976e-339446831330", + "name": "subnet-mgt-testing", + "cidr": "172.16.0.0/24", + "gateway_ip": "172.16.0.1", + "network_id": "090def60-f4da-434f-a374-78dc9817fb6e" + }, + { + "id": "ff0ede7a-6dab-45b4-924d-5e855ab36ea6", + "name": "subnet-service-testing", + "cidr": "172.16.10.0/24", + "gateway_ip": "172.16.10.1", + "network_id": "048d9e09-4c22-41a4-97f1-793efa67f865" + } + ], + "floating_ips": [ + { + "id": "20e6d2f0-88fe-4e64-917b-eeab98b01ba4", + "floating_ip_address": "80.158.109.151", + "fixed_ip_address": "172.16.10.184", + "port_id": "fe0f5779-8487-49c2-9492-8fd96aba1b60", + "status": "ACTIVE" + }, + { + "id": "3a2dc1c0-f03b-445c-a5c5-1eab499d17e4", + "floating_ip_address": "80.158.58.249", + "fixed_ip_address": "172.16.10.240", + "port_id": "58e7dce6-1241-46ad-b436-87577c1c3ee4", + "status": "ACTIVE" + }, + { + "id": "48b84a18-a145-46bf-a2bd-4d415602e3ac", + "floating_ip_address": "80.158.111.42", + "fixed_ip_address": "10.5.0.128", + "port_id": "b4263be0-37e1-4815-8326-3ab128364ce9", + "status": "ACTIVE" + }, + { + "id": "4b07169c-1ddd-4dd5-b7d9-80e8e842a6dd", + "floating_ip_address": "164.30.12.84", + "fixed_ip_address": "192.168.1.94", + "port_id": "eb00aa68-66ed-47c5-afc7-fb3b65d5020c", + "status": "ACTIVE" + }, + { + "id": "56574a1b-b943-42a1-aa76-59ea5488d6fb", + "floating_ip_address": "80.158.61.213", + "fixed_ip_address": "10.5.0.241", + "port_id": "1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1", + "status": "ACTIVE" + }, + { + "id": "5ab2541a-8587-404b-8d93-0a09fdb3b3cf", + "floating_ip_address": "164.30.7.104", + "fixed_ip_address": "172.16.0.20", + "port_id": "293f9e4e-dc97-4191-b36d-1eb0c7486035", + "status": "ACTIVE" + }, + { + "id": "5c34c985-103b-4d59-bf3b-e088161fd9a4", + "floating_ip_address": "164.30.10.149", + "fixed_ip_address": "172.16.0.17", + "port_id": "6ab37853-36b3-43be-ba26-d1bf37c8e8fb", + "status": "ACTIVE" + }, + { + "id": "5d2396d6-3c87-4d9c-87da-4ea63df1e1a7", + "floating_ip_address": "80.158.108.20", + "fixed_ip_address": "10.5.1.150", + "port_id": "e2553fcb-1fcc-419a-bf20-fdf38910af54", + "status": "ACTIVE" + }, + { + "id": "6ddece6c-f9ab-4c4c-9f4b-c4a72d23322d", + "floating_ip_address": "80.158.7.156", + "fixed_ip_address": "192.168.0.65", + "port_id": "83710b25-11aa-419c-bb65-4d9d031d734c", + "status": "ACTIVE" + }, + { + "id": "6e2aef18-7fa0-489f-b1af-ff478041e216", + "floating_ip_address": "80.158.19.177", + "fixed_ip_address": "172.16.10.91", + "port_id": "2bf1cfbb-5e66-42c3-a49b-0b85353acddf", + "status": "ACTIVE" + }, + { + "id": "7fa9a2b4-294e-4186-9354-d047ca96cb1f", + "floating_ip_address": "164.30.6.79", + "fixed_ip_address": "10.5.1.42", + "port_id": "2a6d86d4-eaf9-4a57-b18f-af36760c4eb4", + "status": "ACTIVE" + }, + { + "id": "8b4899b1-abe3-48f5-9c15-2e6ecc7f8b6f", + "floating_ip_address": "80.158.37.0", + "fixed_ip_address": "172.16.0.203", + "port_id": "8325dcec-210a-4fe2-979d-1caa0fcf666f", + "status": "ACTIVE" + }, + { + "id": "a5dd8900-741c-4536-8fec-5fa9db7ae22d", + "floating_ip_address": "80.158.60.175", + "fixed_ip_address": "10.5.1.244", + "port_id": "36625f7e-c4fc-405c-aeed-f2ac4655c778", + "status": "ACTIVE" + }, + { + "id": "a71733dd-8500-488c-b5e2-7f9b4a75e53e", + "floating_ip_address": "164.30.10.134", + "fixed_ip_address": "192.168.0.109", + "port_id": "609e00c1-f0be-468e-9af7-e851a4100442", + "status": "ACTIVE" + }, + { + "id": "ae3f26bf-91bb-41b2-aa70-a0cd8cc59a2c", + "floating_ip_address": "164.30.12.76", + "fixed_ip_address": "10.5.1.28", + "port_id": "d575a83c-0f38-41c1-8a1b-bcb2f2a30613", + "status": "ACTIVE" + }, + { + "id": "ba6bb070-dbe0-42e2-8955-6d8411798651", + "floating_ip_address": "80.158.41.189", + "fixed_ip_address": "10.50.1.100", + "port_id": "b9b9ce27-1cc7-4c93-88bc-c995dbddd647", + "status": "ACTIVE" + }, + { + "id": "c6078015-ceb0-4634-9281-de1570cc5f91", + "floating_ip_address": "164.30.18.204", + "fixed_ip_address": "192.168.1.110", + "port_id": "607ff469-0f95-4b13-a44e-d55ff078469f", + "status": "ACTIVE" + }, + { + "id": "d72a3816-4bb3-4437-9d3c-5b30d4271d88", + "floating_ip_address": "80.158.22.100", + "fixed_ip_address": "10.50.1.150", + "port_id": "67d27c76-d02c-4d3a-882f-8076198fb308", + "status": "ACTIVE" + } + ], + "security_groups": [ + { + "id": "05879954-6c44-48eb-9497-c87512321460", + "name": "sg-rds-pg", + "description": "security group for database postgres", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5432, + "port_range_max": 5432, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5432, + "port_range_max": 5432, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + }, + { + "id": "05eb0a9e-2d1f-4fc4-820c-fe13399a9d75", + "name": "peer-admin-loki", + "description": "Need access for Loki and Graphana to have web access", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3389, + "port_range_max": 3389, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3000, + "port_range_max": 3000, + "remote_ip_prefix": "10.50.0.0/16" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3100, + "port_range_max": 3100, + "remote_ip_prefix": "10.50.0.0/16" + } + ] + }, + { + "id": "0a6ffdf8-9b73-4078-bb7f-80d77d8366c4", + "name": "sg-prod-web-frontend", + "description": "This is the security group for our web frontend server", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + }, + { + "id": "0eb84b89-678f-4cfd-98a4-c8c543aaeda6", + "name": "sg-admin-testing", + "description": "security group for peer_beta admin server-testing", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + } + ] + }, + { + "id": "170caca7-fbb5-4ade-9a25-ce976d9ed82b", + "name": "sg-peer-jump-testing", + "description": "Security Group for peer_beta jumphost-testing", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "93.240.197.170/32" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5000, + "port_range_max": 5000, + "remote_ip_prefix": "143.55.64.0/20" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5000, + "port_range_max": 5000, + "remote_ip_prefix": "140.82.112.0/20" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5000, + "port_range_max": 5000, + "remote_ip_prefix": "185.199.108.0/22" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5000, + "port_range_max": 5000, + "remote_ip_prefix": "192.30.252.0/22" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5000, + "port_range_max": 5000, + "remote_ip_prefix": "164.30.10.149/32" + } + ] + }, + { + "id": "1e98dd1b-d695-4239-917e-b3d59e47880d", + "name": "sg-peer-web", + "description": "Security Group for the peer_beta project.", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 8443, + "port_range_max": 8443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + } + ] + }, + { + "id": "2b7ee980-efc2-4199-98ad-0a375c3ba291", + "name": "sg-prod-jump", + "description": "Security Group for the jumphost of our production setup.", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + }, + { + "id": "2bb26324-3989-4458-a614-8425cc6cd21a", + "name": "peer-admin-jump", + "description": "Allow access to loki from external sources", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3389, + "port_range_max": 3389, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3000, + "port_range_max": 3000, + "remote_ip_prefix": "10.50.0.0/16" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3000, + "port_range_max": 3000, + "remote_ip_prefix": "10.50.0.0/16" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3100, + "port_range_max": 3100, + "remote_ip_prefix": "10.50.0.0/16" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3100, + "port_range_max": 3100, + "remote_ip_prefix": "10.50.0.0/16" + } + ] + }, + { + "id": "4088c618-6940-422f-87a2-7be4c26f3910", + "name": "sg-test-websocket", + "description": "The security group for our websocket for the communication with solana", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 7072, + "port_range_max": 7072, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 7071, + "port_range_max": 7071, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 7071, + "port_range_max": 7071, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + } + ] + }, + { + "id": "4f14fba4-ea42-4ebd-9ff1-16611d07a8e4", + "name": "sg-admin", + "description": "security group for peer_beta admin server", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + } + ] + }, + { + "id": "5cad0da2-b524-4dd7-a361-3d230c8a280b", + "name": "sg-MySQL-DB", + "description": "You can select protocols and ports that the inbound rule will apply to. If you do not select any protocols and ports, no protocols and ports will be opened. After a security group is created, you can add or modify security group rules as required.", + "rules": [ + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3306, + "port_range_max": 3306, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + }, + { + "id": "82960534-6f06-4995-8ca7-65b18fffa84b", + "name": "sg-peer-web-testing", + "description": "Security Group for the peer_beta project- testing", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 8443, + "port_range_max": 8443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + }, + { + "id": "87989c4f-e258-4a8c-a01e-ead42a4f6632", + "name": "sg-prod-pg", + "description": "Security Group for the postgres db in our productive setup.", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5432, + "port_range_max": 5432, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5432, + "port_range_max": 5432, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + } + ] + }, + { + "id": "a04d74f1-879a-4c55-8d07-033c8db98065", + "name": "sg-prod-backend", + "description": "Security Group for the backend in our production setup.", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + } + ] + }, + { + "id": "abe07485-dd5e-4cb2-a88a-3b10c699a4ee", + "name": "sg-peer-jump", + "description": "Security Group for peer_beta jumphost", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "93.240.197.170/32" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + }, + { + "id": "c1113fee-510c-4180-b114-3af2ebd8f099", + "name": "default", + "description": "default", + "rules": [ + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3389, + "port_range_max": 3389, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 20, + "port_range_max": 21, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 23, + "port_range_max": 23, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3389, + "port_range_max": 3389, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 20, + "port_range_max": 21, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 23, + "port_range_max": 23, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + }, + { + "id": "c3701b8f-079c-4864-83a6-600c7204a415", + "name": "sg-prod-admin", + "description": "Security Group for the admin server (connection to the database) in our production setup.", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + } + ] + }, + { + "id": "cc76cd06-5c73-4833-bb8b-5587f29abab0", + "name": "sg-rds-pg-testing", + "description": "security group for database postgres of the testing setup", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5432, + "port_range_max": 5432, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5432, + "port_range_max": 5432, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + } + ] +} \ No newline at end of file diff --git a/Proxmox_OVH/Make_vm.sh b/Proxmox_OVH/Make_vm.sh new file mode 100644 index 0000000..7d74417 --- /dev/null +++ b/Proxmox_OVH/Make_vm.sh @@ -0,0 +1,62 @@ +#!/bin/bash +set -euo pipefail + +VMID=203 +VMNAME="peer-backend" +STORAGE=local +IMG="/var/lib/vz/template/iso/noble-server-cloudimg-amd64.img" +DISK_SIZE=1000G +CIUSER="peer" +PUBKEY="/root/.ssh/id_rsa.pub" +PASSWORD="peer2025" + +# Download cloud image if missing +if [[ ! -f "$IMG" ]]; then + wget -q https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img -O "$IMG" +fi + +# Clean old VM if it exists +qm destroy $VMID --purge || true + +# Create shell +qm create $VMID --name "$VMNAME" --ostype l26 \ + --memory 2048 --cores 2 --sockets 1 \ + --cpu host --scsihw virtio-scsi-pci \ + --net0 virtio,bridge=vmbr0 \ + --agent enabled=1,fstrim_cloned_disks=1 \ + --serial0 socket --vga serial0 + +# Import cloud image into storage (force qcow2 for easy resize) +qm importdisk $VMID "$IMG" $STORAGE --format qcow2 + +# Attach imported disk as OS drive +VOLID=$(qm config $VMID | awk -F ': ' '/^unused[0-9]+:/ {print $2; exit}') +qm set $VMID --scsi0 "$VOLID",iothread=1,cache=writeback + +# Resize disk to desired size +qm disk resize $VMID scsi0 $DISK_SIZE + +# Add cloud-init drive +qm set $VMID --ide2 $STORAGE:cloudinit + +# Set boot order +qm set $VMID --boot order=scsi0 + +# Cloud-init user setup +qm set $VMID --ciuser $CIUSER --sshkey $PUBKEY +qm set $VMID --cipassword $PASSWORD +qm set $VMID --ipconfig0 ip=dhcp + +# (Optional) custom cloud-init snippet with extra packages +SNIPPET="/var/lib/vz/snippets/ubuntu-noble-runtime.yaml" +mkdir -p /var/lib/vz/snippets +cat >"$SNIPPET" < /proc/sys/net/ipv4/ip_forward +sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf +sysctl -p + +# Clear existing NAT rules (optional - be careful!) +# iptables -t nat -F + +# Port forward SSH (22) to Bastion +echo "Forwarding SSH (22) to Bastion ($BASTION_PRIVATE_IP)..." +iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 22 -j DNAT --to-destination ${BASTION_PRIVATE_IP}:22 +iptables -A FORWARD -p tcp -d ${BASTION_PRIVATE_IP} --dport 22 -j ACCEPT + +# Port forward HTTP (80) to Website +echo "Forwarding HTTP (80) to Website ($WEBSITE_PRIVATE_IP)..." +iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to-destination ${WEBSITE_PRIVATE_IP}:80 +iptables -A FORWARD -p tcp -d ${WEBSITE_PRIVATE_IP} --dport 80 -j ACCEPT + +# Port forward HTTPS (443) to Website +echo "Forwarding HTTPS (443) to Website ($WEBSITE_PRIVATE_IP)..." +iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to-destination ${WEBSITE_PRIVATE_IP}:443 +iptables -A FORWARD -p tcp -d ${WEBSITE_PRIVATE_IP} --dport 443 -j ACCEPT + +# Save iptables rules +echo "Saving iptables rules..." +apt-get install -y iptables-persistent +netfilter-persistent save + +echo "" +echo "==========================================" +echo "Firewall rules configured successfully!" +echo "==========================================" +echo "" +echo "Port forwarding active:" +echo " ${PUBLIC_IP}:22 → ${BASTION_PRIVATE_IP}:22 (SSH - Bastion)" +echo " ${PUBLIC_IP}:80 → ${WEBSITE_PRIVATE_IP}:80 (HTTP - Website)" +echo " ${PUBLIC_IP}:443 → ${WEBSITE_PRIVATE_IP}:443 (HTTPS - Website)" +echo "" +echo "To view rules:" +echo " iptables -t nat -L -n -v" +echo " iptables -L FORWARD -n -v" +echo "" +echo "==========================================" \ No newline at end of file diff --git a/Proxmox_OVH/create_vm.sh b/Proxmox_OVH/create_vm.sh new file mode 100644 index 0000000..51725f1 --- /dev/null +++ b/Proxmox_OVH/create_vm.sh @@ -0,0 +1,301 @@ +#!/usr/bin/env bash +set -euo pipefail + +# ====== SETTINGS ====== +IMG="/var/lib/vz/template/iso/noble-server-cloudimg-amd64.img" +STOR="local" +BR0="vmbr0" +# Updated to match your actual network +GATEWAY="162.19.169.1" # Your actual gateway +CIUSER="peer" +PUBKEY="/root/.ssh/id_rsa.pub" # Fixed typo from id_rda.pub +SNIPPET="/var/lib/vz/snippets/cloudinit-userdata.yaml" +# ====================== + +mkdir -p /var/lib/vz/snippets +# Enhanced cloud-init snippet - No iptables needed, using Proxmox firewall +if [[ ! -f "$SNIPPET" ]]; then + cat >"$SNIPPET" <<'YAML' +#cloud-config +packages: + - qemu-guest-agent + - net-tools + - curl + - wget + - vim + - parted + - xfsprogs + - e2fsprogs + +users: + - name: peer + groups: [sudo] + shell: /bin/bash + sudo: ['ALL=(ALL) NOPASSWD:ALL'] + lock_passwd: false + passwd: SSH_PASSWORD_HASH_PLACEHOLDER + ssh_authorized_keys: + - SSH_KEY_PLACEHOLDER + +# Auto-format and mount data disk if it exists +runcmd: + - systemctl enable --now qemu-guest-agent + - echo "VM configured - firewall managed by Proxmox" > /etc/motd + # Check for and format data disk (scsi1 = /dev/sdb) + - | + if [ -b /dev/sdb ]; then + echo "Found data disk /dev/sdb, formatting..." + parted -s /dev/sdb mklabel gpt + parted -s /dev/sdb mkpart primary xfs 0% 100% + mkfs.xfs -f /dev/sdb1 + mkdir -p /data + echo '/dev/sdb1 /data xfs defaults,noatime 0 2' >> /etc/fstab + mount /data + chmod 755 /data + echo "Data disk mounted at /data" + fi + +write_files: + - path: /etc/issue + content: | + + Welcome to \n + Login: peer / + +YAML + + # Generate password hash for 'peer' user (change 'changeme' to your desired password) + local PEER_PASSWORD="changeme" + local PASSWORD_HASH + PASSWORD_HASH=$(openssl passwd -6 "$PEER_PASSWORD") + + # Replace placeholders + sed -i "s|SSH_PASSWORD_HASH_PLACEHOLDER|${PASSWORD_HASH}|" "$SNIPPET" + + if [[ -f "$PUBKEY" ]]; then + # Read and sanitize the SSH key (remove any trailing whitespace) + local SSH_KEY_CONTENT + SSH_KEY_CONTENT=$(cat "$PUBKEY" | tr -d '\n\r') + sed -i "s|SSH_KEY_PLACEHOLDER|${SSH_KEY_CONTENT}|" "$SNIPPET" + echo "✓ SSH key loaded from $PUBKEY (hidden from output)" + else + echo "WARNING: SSH public key not found at $PUBKEY" + sed -i "s|SSH_KEY_PLACEHOLDER|# NO SSH KEY FOUND|" "$SNIPPET" + fi + + echo "✓ Cloud-init configured with user 'peer' and password authentication" +fi + +# Track statuses +declare -A VM_STATUS VM_REASON + +die() { echo "ERROR: $*" >&2; exit 1; } + +has_qm() { command -v qm >/dev/null 2>&1; } +has_qm || die "Proxmox 'qm' not found. Run on a Proxmox node." + +require_img() { [[ -f "$IMG" ]] || die "Cloud image not found: $IMG"; } +require_img + +# Small helper to wait for a VM to report "running" +wait_running() { + local vmid="$1" tries=30 + while (( tries-- > 0 )); do + local st + st="$(qm status "$vmid" 2>/dev/null | awk '{print $2}')" + [[ "$st" == "running" ]] && return 0 + sleep 2 + done + return 1 +} + +# Create a VM and record status +create_vm () { + local VMID="$1" NAME="$2" CORES="$3" RAM_GB="$4" OSDISK_GB="$5" DATADISK_GB="$6" IP="$7" BRIDGE="$8" VLAN="$9" + VM_STATUS["$VMID"]="INIT" + VM_REASON["$VMID"]="" + + echo "==> [$VMID] Creating $NAME…" + + # Determine network configuration + local NET_CONFIG="virtio,bridge=${BRIDGE}" + if [[ -n "$VLAN" && "$VLAN" != "0" ]]; then + NET_CONFIG="${NET_CONFIG},tag=${VLAN}" + fi + + # Create shell for the VM + if ! qm create "$VMID" --name "$NAME" \ + --memory "$((RAM_GB*1024))" --cores "$CORES" --sockets 1 \ + --net0 "$NET_CONFIG" \ + --ostype l26 --scsihw virtio-scsi-pci; then + VM_STATUS["$VMID"]="FAILED"; VM_REASON["$VMID"]="qm create failed"; return + fi + + # Import disk into storage + if ! qm importdisk "$VMID" "$IMG" "$STOR" >/dev/null 2>&1; then + VM_STATUS["$VMID"]="FAILED"; VM_REASON["$VMID"]="disk import failed"; return + fi + + # Find first unused disk and adopt it + local DISK_SPEC + DISK_SPEC=$(qm config "$VMID" | awk -F': ' '/^unused[0-9]+:/ {print $2; exit}') + if [[ -z "$DISK_SPEC" ]]; then + VM_STATUS["$VMID"]="FAILED"; VM_REASON["$VMID"]="no imported disk found"; return + fi + + # Attach disk as scsi0 and set boot order + if ! qm set "$VMID" --scsi0 "$DISK_SPEC" --boot order=scsi0; then + VM_STATUS["$VMID"]="FAILED"; VM_REASON["$VMID"]="attach scsi0/boot failed"; return + fi + + # Cloud-init drive, serial console, and resize OS disk + if ! qm set "$VMID" --ide2 "${STOR}:cloudinit" --serial0 socket --vga serial0; then + VM_STATUS["$VMID"]="FAILED"; VM_REASON["$VMID"]="cloudinit/serial setup failed"; return + fi + + # Enable Proxmox firewall for this VM (no need for iptables inside VM) + qm set "$VMID" --firewall 1 || true + + # Resize may be a no-op if image already >= requested size + qm resize "$VMID" scsi0 "${OSDISK_GB}G" >/dev/null 2>&1 || true + + # Determine IP configuration based on network + local IP_CONFIG + if [[ "$BRIDGE" == "vmbr0" ]]; then + # External network - use your actual gateway + IP_CONFIG="ip=${IP}/24,gw=${GATEWAY}" + else + # Internal network - would need different gateway (like 192.168.1.1 from gateway VM) + IP_CONFIG="ip=${IP}/24,gw=192.168.1.1" + fi + + # Cloud-init user, key, IP + if ! qm set "$VMID" --ciuser "$CIUSER" --sshkey "$PUBKEY" \ + --ipconfig0 "$IP_CONFIG" \ + --cicustom "user=local:snippets/$(basename "$SNIPPET")" >/dev/null 2>&1; then + VM_STATUS["$VMID"]="FAILED"; VM_REASON["$VMID"]="cloud-init settings failed"; return + fi + echo " Network: $IP_CONFIG (credentials hidden)" + + # Optional data disk - properly allocate from storage + if [[ -n "${DATADISK_GB}" && "${DATADISK_GB}" != "0" ]]; then + echo " Creating ${DATADISK_GB}GB data disk..." + if ! pvesm alloc "$STOR" "$VMID" "vm-${VMID}-disk-1" "${DATADISK_GB}G" >/dev/null 2>&1; then + VM_STATUS["$VMID"]="FAILED"; VM_REASON["$VMID"]="data disk allocation failed"; return + fi + if ! qm set "$VMID" --scsi1 "${STOR}:vm-${VMID}-disk-1"; then + VM_STATUS["$VMID"]="FAILED"; VM_REASON["$VMID"]="attach data disk failed"; return + fi + fi + + # Minimal existence check + if [[ ! -f "/etc/pve/qemu-server/${VMID}.conf" ]]; then + VM_STATUS["$VMID"]="FAILED"; VM_REASON["$VMID"]="config file missing"; return + fi + VM_STATUS["$VMID"]="CREATED" + + # Start & verify boot + if ! qm start "$VMID" >/dev/null 2>&1; then + VM_STATUS["$VMID"]="FAILED"; VM_REASON["$VMID"]="start failed"; return + fi + VM_STATUS["$VMID"]="BOOTING" + + if wait_running "$VMID"; then + VM_STATUS["$VMID"]="RUNNING" + else + VM_STATUS["$VMID"]="FAILED"; VM_REASON["$VMID"]="did not reach running state" + fi +} + +# Function to create internal bridge (vmbr1) for private networks +setup_internal_bridge() { + echo "==> Setting up internal bridge (vmbr1)..." + + # Check if vmbr1 exists in network config + if ! grep -q "auto vmbr1" /etc/network/interfaces; then + echo "Adding vmbr1 to network configuration..." + cat >> /etc/network/interfaces << 'EOF' + +# Internal bridge for private networks +auto vmbr1 +iface vmbr1 inet manual + bridge-ports none + bridge-stp off + bridge-fd 0 + bridge-vlan-aware yes + bridge-vids 2-4094 +#Internal Bridge for Private Networks +EOF + echo "NOTE: You'll need to reboot or run 'ifreload -a' to activate vmbr1" + fi +} + +# ------------------ DEFINE YOUR VMs HERE ------------------ +# Updated to match your network topology +# Format: VMID NAME CORES RAM(GB) OSDISK(GB) DATADISK(GB) IP BRIDGE VLAN + +# First, set up the internal bridge +setup_internal_bridge + +echo "Creating VMs with updated network configuration..." + +# Option 1: All VMs on external bridge (vmbr0) - Simpler but less secure +create_vm 200 "peer-gateway-router" 2 2 20 0 "162.19.169.220" "vmbr0" "0" +create_vm 201 "peer-prod-frontend" 1 1 20 0 "162.19.169.221" "vmbr0" "0" +create_vm 202 "peer-prod-admin" 1 1 20 0 "162.19.169.222" "vmbr0" "0" +create_vm 203 "peer-prod-backend" 5 32 50 1000 "162.19.169.223" "vmbr0" "0" +create_vm 204 "peer-prod-bastion" 1 1 20 0 "162.19.169.224" "vmbr0" "0" +create_vm 205 "peer-prod-website" 1 1 20 0 "162.19.169.225" "vmbr0" "0" +create_vm 206 "peer-prod-database" 3 16 20 1000 "162.19.169.226" "vmbr0" "0" + +# Option 2: Mixed approach - Gateway on external, others on internal +# Uncomment these instead if you want to use internal networks: +# create_vm 200 "peer-gateway-router" 2 2 20 0 "162.19.169.220" "vmbr0" "0" +# create_vm 201 "peer-prod-frontend" 1 1 20 0 "192.168.1.201" "vmbr1" "101" +# create_vm 202 "peer-prod-admin" 1 1 20 0 "192.168.1.202" "vmbr1" "101" +# create_vm 203 "peer-prod-backend" 5 32 50 1000 "192.168.1.203" "vmbr1" "101" +# create_vm 204 "peer-prod-bastion" 1 1 20 0 "192.168.1.204" "vmbr1" "101" +# create_vm 205 "peer-prod-website" 1 1 20 0 "192.168.1.205" "vmbr1" "101" +# create_vm 206 "peer-prod-database" 3 16 20 1000 "192.168.1.206" "vmbr1" "101" + +# ---------------------------------------------------------- + +# Summary table +printf "\n%-6s %-24s %-10s %-s\n" "VMID" "NAME" "STATUS" "REASON/INFO" +printf "%-6s %-24s %-10s %-s\n" "-----" "------------------------" "--------" "------------------------------" +for vmid in 200 201 202 203 204 205 206; do + name="$(qm config "$vmid" 2>/dev/null | awk -F': ' '/^name:/{print $2}' || echo 'N/A')" + status="${VM_STATUS[$vmid]:-UNKNOWN}" + reason="${VM_REASON[$vmid]:-}" + printf "%-6s %-24s %-10s %-s\n" "$vmid" "${name:-N/A}" "$status" "$reason" + if qm status "$vmid" >/dev/null 2>&1; then + qm status --verbose "$vmid" 2>/dev/null || echo "Status check failed" + fi +done + +echo "" +echo "==========================================" +echo "VM ACCESS CREDENTIALS" +echo "==========================================" +echo "User: peer" +echo "Password: changeme" +echo "SSH Key: (configured from $PUBKEY)" +echo "" +echo "IMPORTANT: Change the default password after first login!" +echo "On each VM run: sudo passwd peer" +echo "" +echo "==========================================" +echo "" +echo "Data Disk Management:" +echo " List disks: ./manage_data_disks.sh list" +echo " Add 1TB to 203: ./manage_data_disks.sh add 203 1000" +echo " Format disk: ./manage_data_disks.sh format 203" +echo "" +echo "Tip: check live state with 'qm list' or 'qm status '." +echo "" +echo "Post-creation steps:" +echo "1. Change default password on all VMs" +echo "2. Add data disks to VMs that need them (203, 206)" +echo "3. Format and mount data disks" +echo "4. Run firewall setup script: ./setup_firewall.sh" +echo "5. Test connectivity and services" \ No newline at end of file diff --git a/Proxmox_OVH/create_vm3.sh b/Proxmox_OVH/create_vm3.sh new file mode 100644 index 0000000..fab1f76 --- /dev/null +++ b/Proxmox_OVH/create_vm3.sh @@ -0,0 +1,150 @@ +#!/bin/bash + +# Proxmox VM Creation Script with Cloud-Init +# Creates VMs from Ubuntu Noble base image + +set -e + +# --- CONFIGURATION --- +UBUNTU_IMAGE="/home/peer/noble-server-cloudimg-amd64.img" # Adjust path to your image +STORAGE_POOL="local-zfs" # Your ZFS pool name +TEMPLATE_ID=9000 # Template VM ID +BRIDGE="vmbr0" # Network bridge + +# SSH key for cloud-init (replace with your public key) +SSH_KEY="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDHr7r2lnUkxuUdAbYeNMfRe2ddGoMrcf5v5QT7Caoba peer@peer-omen" + +# --- COLORS FOR OUTPUT --- +GREEN='\033[0;32m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +echo -e "${BLUE}==========================================" +echo "Proxmox VM Creation Script" +echo -e "==========================================${NC}" + +# --- FUNCTION: CREATE TEMPLATE --- +create_template() { + echo -e "\n${GREEN}[1/3] Creating Ubuntu Noble Template (ID: $TEMPLATE_ID)${NC}" + + # Check if template already exists + if qm status $TEMPLATE_ID &>/dev/null; then + echo "Template $TEMPLATE_ID already exists. Destroying it..." + qm destroy $TEMPLATE_ID + fi + + # Create VM + qm create $TEMPLATE_ID \ + --name ubuntu-noble-template \ + --memory 2048 \ + --cores 2 \ + --net0 virtio,bridge=$BRIDGE \ + --serial0 socket \ + --vga serial0 + + # Import disk + echo "Importing Ubuntu Noble image..." + qm importdisk $TEMPLATE_ID $UBUNTU_IMAGE $STORAGE_POOL + + # Attach disk + qm set $TEMPLATE_ID \ + --scsihw virtio-scsi-pci \ + --scsi0 ${STORAGE_POOL}:vm-${TEMPLATE_ID}-disk-0 + + # Add cloud-init drive + qm set $TEMPLATE_ID --ide2 ${STORAGE_POOL}:cloudinit + + # Set boot disk + qm set $TEMPLATE_ID --boot c --bootdisk scsi0 + + # Add serial console + qm set $TEMPLATE_ID --serial0 socket --vga serial0 + + # Enable QEMU agent + qm set $TEMPLATE_ID --agent enabled=1 + + # Convert to template + qm template $TEMPLATE_ID + + echo -e "${GREEN}Template created successfully!${NC}" +} + +# --- FUNCTION: CREATE VM FROM TEMPLATE --- +create_vm() { + local VM_ID=$1 + local VM_NAME=$2 + local CORES=$3 + local MEMORY=$4 # in GB + local DISK_SIZE=$5 # in GB + local CIUSER=${6:-"ubuntu"} + local CIPASSWORD=${7:-""} + + echo -e "\n${GREEN}Creating VM: $VM_NAME (ID: $VM_ID)${NC}" + echo " Cores: $CORES | RAM: ${MEMORY}GB | Disk: ${DISK_SIZE}GB" + + # Check if VM already exists + if qm status $VM_ID &>/dev/null; then + echo "VM $VM_ID already exists. Skipping..." + return + fi + + # Clone from template + qm clone $TEMPLATE_ID $VM_ID --name $VM_NAME --full + + # Set resources + qm set $VM_ID --cores $CORES + qm set $VM_ID --memory $((MEMORY * 1024)) # Convert GB to MB + + # Resize disk + qm resize $VM_ID scsi0 ${DISK_SIZE}G + + # Configure cloud-init + qm set $VM_ID --ciuser $CIUSER + qm set $VM_ID --sshkeys <(echo "$SSH_KEY") + qm set $VM_ID --ipconfig0 ip=dhcp + + # Set password if provided + if [ -n "$CIPASSWORD" ]; then + qm set $VM_ID --cipassword "$CIPASSWORD" + fi + + echo -e "${GREEN}VM $VM_NAME created successfully!${NC}" +} + +# --- MAIN EXECUTION --- + +# Step 1: Create template +create_template + +# Step 2: Create all VMs +echo -e "\n${BLUE}[2/3] Creating VMs from template${NC}" + +# VM_ID NAME CORES RAM(GB) DISK(GB) +create_vm 101 "peer-prod-frontend" 1 1 20 +create_vm 102 "peer-prod-admin" 1 1 20 +create_vm 103 "peer-prod-backend" 5 32 1000 +create_vm 104 "peer-prod-bastion" 1 1 20 +create_vm 105 "peer-prod-website" 1 1 20 +create_vm 106 "peer-prod-database" 3 16 1000 + +# Step 3: Summary +echo -e "\n${BLUE}[3/3] Summary${NC}" +echo -e "${GREEN}All VMs created successfully!${NC}" +echo "" +echo "VM List:" +echo " 101 - peer-prod-frontend (1c/1GB/20GB)" +echo " 102 - peer-prod-admin (1c/1GB/20GB)" +echo " 103 - peer-prod-backend (5c/32GB/1000GB)" +echo " 104 - peer-prod-bastion (1c/1GB/20GB)" +echo " 105 - peer-prod-website (1c/1GB/20GB)" +echo " 106 - peer-prod-database (3c/16GB/1000GB)" +echo "" +echo "To start a VM: qm start " +echo "To start all VMs: for i in {101..106}; do qm start \$i; done" +echo "" +echo "Cloud-init will configure the VMs on first boot with:" +echo " - Username: ubuntu" +echo " - SSH key authentication" +echo " - DHCP networking" +echo "" +echo -e "${BLUE}==========================================${NC}" \ No newline at end of file diff --git a/Proxmox_OVH/globals-new.yml b/Proxmox_OVH/globals-new.yml new file mode 100644 index 0000000..dd8ec2b --- /dev/null +++ b/Proxmox_OVH/globals-new.yml @@ -0,0 +1,44 @@ +# Core settings +workaround_ansible_issue_8743: yes +kolla_base_distro: "ubuntu" +kolla_install_type: "source" +openstack_release: "2024.1" + +# Management network (via wlp4s0 - WiFi interface) +kolla_internal_vip_address: "192.168.3.27" +kolla_internal_fqdn: "peeropstk.openstack.local" +network_interface: "wlp4s0" +api_interface: "wlp4s0" +tunnel_interface: "wlp4s0" +storage_interface: "wlp4s0" +cluster_interface: "wlp4s0" + +# External network (via enp0s31f6 - Ethernet interface) +neutron_external_interface: "enp0s31f6" +neutron_plugin_agent: "openvswitch" + +# Networking configuration +neutron_bridge_name: "br-ex" +# neutron_ovs_bridge_mappings: +# - "physnet1:br-ex" + +# Logs +kolla_logs_dir: "/opt/kolla/logs" + +# Load balancer (disabled for single node) +enable_haproxy: "no" +enable_keepalived: "no" + +# Core services +enable_openstack_core: "yes" +enable_rabbitmq: "yes" +rabbitmq_user: "openstack" +rabbitmq_cluster_cookie: "{{ lookup('file', '/etc/kolla/config/rabbitmq/.erlang.cookie') | trim }}" + +# Additional services +enable_barbican: "yes" +enable_cinder_backend_lvm: "yes" +enable_octavia: "yes" +enable_redis: "yes" +octavia_jobboard_enabled: "yes" +cinder_volume_group: "cinder-volumes" \ No newline at end of file diff --git a/Proxmox_OVH/network_map.json b/Proxmox_OVH/network_map.json new file mode 100644 index 0000000..95e3cf7 --- /dev/null +++ b/Proxmox_OVH/network_map.json @@ -0,0 +1,1778 @@ +{ + "servers": [ + { + "name": "peer-admin-loki-monitor", + "id": "8f0dbccb-d06f-49ef-9e88-f4d1af5c7342", + "status": "ACTIVE", + "flavor": "s3.large.2", + "fixed_ips": [ + "10.50.1.150" + ], + "floating_ips": [ + "80.158.22.100" + ], + "security_groups": [ + "peer-admin-loki", + "default" + ] + }, + { + "name": "peer-admin-jumphost", + "id": "d2f50d51-52e3-4163-b8bb-6edd0b569ad4", + "status": "ACTIVE", + "flavor": "s7n.small.1", + "fixed_ips": [ + "10.50.1.100" + ], + "floating_ips": [ + "80.158.41.189" + ], + "security_groups": [ + "peer-admin-jump", + "default" + ] + }, + { + "name": "ecs-peer-monitor-test", + "id": "bc66c2b9-b493-4a78-a4d6-8729ba0230c9", + "status": "ACTIVE", + "flavor": "s3.medium.2", + "fixed_ips": [ + "172.16.0.20" + ], + "floating_ips": [ + "164.30.7.104" + ], + "security_groups": [ + "sg-admin-testing", + "default" + ] + }, + { + "name": "ecs-testing-websocket", + "id": "27dd9e47-59d9-493c-a867-9291c4480b63", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "172.16.10.184" + ], + "floating_ips": [ + "80.158.109.151" + ], + "security_groups": [ + "sg-test-websocket" + ] + }, + { + "name": "ecs-prod_web-frontend", + "id": "4c9df61a-0306-4036-b3e2-68ceff0fd121", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "192.168.1.94" + ], + "floating_ips": [ + "164.30.12.84" + ], + "security_groups": [ + "sg-prod-web-frontend" + ] + }, + { + "name": "ecs-prod-admin", + "id": "29ef279d-55d6-403f-98ab-63859b09cbaf", + "status": "ACTIVE", + "flavor": "s3.large.2", + "fixed_ips": [ + "192.168.1.193" + ], + "floating_ips": [], + "security_groups": [ + "sg-prod-admin" + ] + }, + { + "name": "ecs-prod-backend", + "id": "349d2490-cfd9-4e2c-b4f0-a2c18efb0382", + "status": "ACTIVE", + "flavor": "s3.4xlarge.4", + "fixed_ips": [ + "192.168.1.183" + ], + "floating_ips": [], + "security_groups": [ + "sg-prod-backend" + ] + }, + { + "name": "ecs-prod-jump", + "id": "a74ffa01-38c3-42dd-8b60-bf2ee6d662cc", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "192.168.0.65" + ], + "floating_ips": [ + "80.158.7.156" + ], + "security_groups": [ + "sg-prod-jump" + ] + }, + { + "name": "ecs-website", + "id": "87a5f22d-d596-4305-99d3-a5277aab207a", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "10.5.1.42" + ], + "floating_ips": [ + "164.30.6.79" + ], + "security_groups": [ + "sg-peer-web" + ] + }, + { + "name": "ecs-admin-testing", + "id": "f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "172.16.10.240", + "172.16.10.241" + ], + "floating_ips": [ + "80.158.58.249" + ], + "security_groups": [ + "sg-admin-testing", + "sg-admin-testing" + ] + }, + { + "name": "ecs-peer-web-testing", + "id": "daa26951-e6b7-4e0e-86e0-32f9e669e838", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "172.16.10.194" + ], + "floating_ips": [], + "security_groups": [ + "sg-peer-web-testing" + ] + }, + { + "name": "ecs-jump-testing", + "id": "fd525b9c-11dd-4e9d-abb7-6ce4b513d602", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "172.16.0.17" + ], + "floating_ips": [ + "164.30.10.149" + ], + "security_groups": [ + "sg-peer-jump-testing" + ] + }, + { + "name": "ecs-frontend-web", + "id": "444a37fc-6f04-4fb8-b55c-c3fdc3dba642", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "10.5.1.150" + ], + "floating_ips": [ + "80.158.108.20" + ], + "security_groups": [ + "sg-peer-web" + ] + }, + { + "name": "ecs-peer-admin", + "id": "658e9751-4923-465f-8091-2c6257645a5b", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "10.5.1.244" + ], + "floating_ips": [ + "80.158.60.175" + ], + "security_groups": [ + "sg-admin" + ] + }, + { + "name": "ecs-peer-web", + "id": "940014fb-b09d-4c43-b3b9-db2820342ba9", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "10.5.1.60" + ], + "floating_ips": [], + "security_groups": [ + "sg-peer-web" + ] + }, + { + "name": "ecs-peer-jump", + "id": "055f937b-0bb5-4905-b1b5-b053c161480a", + "status": "ACTIVE", + "flavor": "s3.medium.1", + "fixed_ips": [ + "10.5.0.241" + ], + "floating_ips": [ + "80.158.61.213" + ], + "security_groups": [ + "sg-peer-jump" + ] + } + ], + "networks": [ + { + "id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "name": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "subnets": [ + "ff0ede7a-6dab-45b4-924d-5e855ab36ea6" + ], + "router:external": false + }, + { + "id": "090def60-f4da-434f-a374-78dc9817fb6e", + "name": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "subnets": [ + "da92bfcd-fbdb-40c4-976e-339446831330" + ], + "router:external": false + }, + { + "id": "3089a379-4a7f-4147-aa5e-b2134d6327f7", + "name": "700af767-115d-43b8-8886-a6a4a63d59ef", + "subnets": [ + "81493971-bb32-4fa6-9e8a-dc50f7a63486" + ], + "router:external": false + }, + { + "id": "43768ec1-f43b-4c28-97b3-98cd1408ebcc", + "name": "cb43c4e5-e25c-4727-b7ce-6b9995edffac", + "subnets": [ + "15df7a53-3edf-4316-a812-a47c7b0d63e7" + ], + "router:external": false + }, + { + "id": "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a", + "name": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "subnets": [ + "7d2dd8db-38e5-4526-ace9-d6bddd573e88" + ], + "router:external": false + }, + { + "id": "536f3d94-35f2-4aca-9116-16a76d0b91c4", + "name": "cb43c4e5-e25c-4727-b7ce-6b9995edffac", + "subnets": [ + "9dc18541-7290-43e4-98d5-9c99519d10c9" + ], + "router:external": false + }, + { + "id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f", + "name": "8165c92f-f183-4e22-a1c2-9df880276a11", + "subnets": [ + "43681d41-0d60-48b9-9817-6a712612fe3f" + ], + "router:external": false + }, + { + "id": "ae7211cf-a76b-45b9-a291-351768e4d954", + "name": "700af767-115d-43b8-8886-a6a4a63d59ef", + "subnets": [ + "9a1a7c23-c024-420d-bece-3ab50296b2ff" + ], + "router:external": false + }, + { + "id": "b3523510-8a93-4ad9-b5d7-2178464f1f65", + "name": "700af767-115d-43b8-8886-a6a4a63d59ef", + "subnets": [ + "c5300a6a-417d-4833-9d43-08c134376b0d" + ], + "router:external": false + }, + { + "id": "d0c4899f-b567-4d33-bb17-4e28d926cbc5", + "name": "8165c92f-f183-4e22-a1c2-9df880276a11", + "subnets": [ + "9f4d41cb-1a40-4520-9e89-a3ada8acffa1" + ], + "router:external": false + }, + { + "id": "f347c51c-7f22-4a6c-800f-fd6d38686794", + "name": "8165c92f-f183-4e22-a1c2-9df880276a11", + "subnets": [ + "b42e2e98-45f2-4ec8-94bf-4dd2d7ecf574" + ], + "router:external": false + }, + { + "id": "0a2228f2-7f8a-45f1-8e09-9039e1d09975", + "name": "admin_external_net", + "subnets": [ + "f2da9b91-3cc1-4dde-a5f7-a603aa65a2c1" + ], + "router:external": true + } + ], + "subnets": [ + { + "id": "15df7a53-3edf-4316-a812-a47c7b0d63e7", + "name": "peer-admin-test", + "cidr": "10.50.50.0/24", + "gateway_ip": "10.50.50.1", + "network_id": "43768ec1-f43b-4c28-97b3-98cd1408ebcc" + }, + { + "id": "43681d41-0d60-48b9-9817-6a712612fe3f", + "name": "subnet-prod-mgt", + "cidr": "192.168.0.0/24", + "gateway_ip": "192.168.0.1", + "network_id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f" + }, + { + "id": "7d2dd8db-38e5-4526-ace9-d6bddd573e88", + "name": "subnet-data-testing", + "cidr": "172.16.20.0/24", + "gateway_ip": "172.16.20.1", + "network_id": "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a" + }, + { + "id": "81493971-bb32-4fa6-9e8a-dc50f7a63486", + "name": "subnet-peer-service", + "cidr": "10.5.1.0/24", + "gateway_ip": "10.5.1.1", + "network_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7" + }, + { + "id": "9a1a7c23-c024-420d-bece-3ab50296b2ff", + "name": "subnet-peer-data", + "cidr": "10.5.2.0/24", + "gateway_ip": "10.5.2.1", + "network_id": "ae7211cf-a76b-45b9-a291-351768e4d954" + }, + { + "id": "9dc18541-7290-43e4-98d5-9c99519d10c9", + "name": "peer-admin-mgnt", + "cidr": "10.50.1.0/24", + "gateway_ip": "10.50.1.1", + "network_id": "536f3d94-35f2-4aca-9116-16a76d0b91c4" + }, + { + "id": "9f4d41cb-1a40-4520-9e89-a3ada8acffa1", + "name": "subnet-prod-data", + "cidr": "192.168.2.0/24", + "gateway_ip": "192.168.2.1", + "network_id": "d0c4899f-b567-4d33-bb17-4e28d926cbc5" + }, + { + "id": "b42e2e98-45f2-4ec8-94bf-4dd2d7ecf574", + "name": "subnet-prod-service", + "cidr": "192.168.1.0/24", + "gateway_ip": "192.168.1.1", + "network_id": "f347c51c-7f22-4a6c-800f-fd6d38686794" + }, + { + "id": "c5300a6a-417d-4833-9d43-08c134376b0d", + "name": "subnet-peer-mgt", + "cidr": "10.5.0.0/24", + "gateway_ip": "10.5.0.1", + "network_id": "b3523510-8a93-4ad9-b5d7-2178464f1f65" + }, + { + "id": "da92bfcd-fbdb-40c4-976e-339446831330", + "name": "subnet-mgt-testing", + "cidr": "172.16.0.0/24", + "gateway_ip": "172.16.0.1", + "network_id": "090def60-f4da-434f-a374-78dc9817fb6e" + }, + { + "id": "ff0ede7a-6dab-45b4-924d-5e855ab36ea6", + "name": "subnet-service-testing", + "cidr": "172.16.10.0/24", + "gateway_ip": "172.16.10.1", + "network_id": "048d9e09-4c22-41a4-97f1-793efa67f865" + } + ], + "floating_ips": [ + { + "id": "20e6d2f0-88fe-4e64-917b-eeab98b01ba4", + "floating_ip_address": "80.158.109.151", + "fixed_ip_address": "172.16.10.184", + "port_id": "fe0f5779-8487-49c2-9492-8fd96aba1b60", + "status": "ACTIVE" + }, + { + "id": "3a2dc1c0-f03b-445c-a5c5-1eab499d17e4", + "floating_ip_address": "80.158.58.249", + "fixed_ip_address": "172.16.10.240", + "port_id": "58e7dce6-1241-46ad-b436-87577c1c3ee4", + "status": "ACTIVE" + }, + { + "id": "48b84a18-a145-46bf-a2bd-4d415602e3ac", + "floating_ip_address": "80.158.111.42", + "fixed_ip_address": "10.5.0.128", + "port_id": "b4263be0-37e1-4815-8326-3ab128364ce9", + "status": "ACTIVE" + }, + { + "id": "4b07169c-1ddd-4dd5-b7d9-80e8e842a6dd", + "floating_ip_address": "164.30.12.84", + "fixed_ip_address": "192.168.1.94", + "port_id": "eb00aa68-66ed-47c5-afc7-fb3b65d5020c", + "status": "ACTIVE" + }, + { + "id": "56574a1b-b943-42a1-aa76-59ea5488d6fb", + "floating_ip_address": "80.158.61.213", + "fixed_ip_address": "10.5.0.241", + "port_id": "1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1", + "status": "ACTIVE" + }, + { + "id": "5ab2541a-8587-404b-8d93-0a09fdb3b3cf", + "floating_ip_address": "164.30.7.104", + "fixed_ip_address": "172.16.0.20", + "port_id": "293f9e4e-dc97-4191-b36d-1eb0c7486035", + "status": "ACTIVE" + }, + { + "id": "5c34c985-103b-4d59-bf3b-e088161fd9a4", + "floating_ip_address": "164.30.10.149", + "fixed_ip_address": "172.16.0.17", + "port_id": "6ab37853-36b3-43be-ba26-d1bf37c8e8fb", + "status": "ACTIVE" + }, + { + "id": "5d2396d6-3c87-4d9c-87da-4ea63df1e1a7", + "floating_ip_address": "80.158.108.20", + "fixed_ip_address": "10.5.1.150", + "port_id": "e2553fcb-1fcc-419a-bf20-fdf38910af54", + "status": "ACTIVE" + }, + { + "id": "6ddece6c-f9ab-4c4c-9f4b-c4a72d23322d", + "floating_ip_address": "80.158.7.156", + "fixed_ip_address": "192.168.0.65", + "port_id": "83710b25-11aa-419c-bb65-4d9d031d734c", + "status": "ACTIVE" + }, + { + "id": "6e2aef18-7fa0-489f-b1af-ff478041e216", + "floating_ip_address": "80.158.19.177", + "fixed_ip_address": "172.16.10.91", + "port_id": "2bf1cfbb-5e66-42c3-a49b-0b85353acddf", + "status": "ACTIVE" + }, + { + "id": "7fa9a2b4-294e-4186-9354-d047ca96cb1f", + "floating_ip_address": "164.30.6.79", + "fixed_ip_address": "10.5.1.42", + "port_id": "2a6d86d4-eaf9-4a57-b18f-af36760c4eb4", + "status": "ACTIVE" + }, + { + "id": "8b4899b1-abe3-48f5-9c15-2e6ecc7f8b6f", + "floating_ip_address": "80.158.37.0", + "fixed_ip_address": "172.16.0.203", + "port_id": "8325dcec-210a-4fe2-979d-1caa0fcf666f", + "status": "ACTIVE" + }, + { + "id": "a5dd8900-741c-4536-8fec-5fa9db7ae22d", + "floating_ip_address": "80.158.60.175", + "fixed_ip_address": "10.5.1.244", + "port_id": "36625f7e-c4fc-405c-aeed-f2ac4655c778", + "status": "ACTIVE" + }, + { + "id": "a71733dd-8500-488c-b5e2-7f9b4a75e53e", + "floating_ip_address": "164.30.10.134", + "fixed_ip_address": "192.168.0.109", + "port_id": "609e00c1-f0be-468e-9af7-e851a4100442", + "status": "ACTIVE" + }, + { + "id": "ae3f26bf-91bb-41b2-aa70-a0cd8cc59a2c", + "floating_ip_address": "164.30.12.76", + "fixed_ip_address": "10.5.1.28", + "port_id": "d575a83c-0f38-41c1-8a1b-bcb2f2a30613", + "status": "ACTIVE" + }, + { + "id": "ba6bb070-dbe0-42e2-8955-6d8411798651", + "floating_ip_address": "80.158.41.189", + "fixed_ip_address": "10.50.1.100", + "port_id": "b9b9ce27-1cc7-4c93-88bc-c995dbddd647", + "status": "ACTIVE" + }, + { + "id": "c6078015-ceb0-4634-9281-de1570cc5f91", + "floating_ip_address": "164.30.18.204", + "fixed_ip_address": "192.168.1.110", + "port_id": "607ff469-0f95-4b13-a44e-d55ff078469f", + "status": "ACTIVE" + }, + { + "id": "d72a3816-4bb3-4437-9d3c-5b30d4271d88", + "floating_ip_address": "80.158.22.100", + "fixed_ip_address": "10.50.1.150", + "port_id": "67d27c76-d02c-4d3a-882f-8076198fb308", + "status": "ACTIVE" + } + ], + "security_groups": [ + { + "id": "05879954-6c44-48eb-9497-c87512321460", + "name": "sg-rds-pg", + "description": "security group for database postgres", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5432, + "port_range_max": 5432, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5432, + "port_range_max": 5432, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + }, + { + "id": "05eb0a9e-2d1f-4fc4-820c-fe13399a9d75", + "name": "peer-admin-loki", + "description": "Need access for Loki and Graphana to have web access", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3389, + "port_range_max": 3389, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3000, + "port_range_max": 3000, + "remote_ip_prefix": "10.50.0.0/16" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3100, + "port_range_max": 3100, + "remote_ip_prefix": "10.50.0.0/16" + } + ] + }, + { + "id": "0a6ffdf8-9b73-4078-bb7f-80d77d8366c4", + "name": "sg-prod-web-frontend", + "description": "This is the security group for our web frontend server", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + }, + { + "id": "0eb84b89-678f-4cfd-98a4-c8c543aaeda6", + "name": "sg-admin-testing", + "description": "security group for peer_beta admin server-testing", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + } + ] + }, + { + "id": "170caca7-fbb5-4ade-9a25-ce976d9ed82b", + "name": "sg-peer-jump-testing", + "description": "Security Group for peer_beta jumphost-testing", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "93.240.197.170/32" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5000, + "port_range_max": 5000, + "remote_ip_prefix": "143.55.64.0/20" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5000, + "port_range_max": 5000, + "remote_ip_prefix": "140.82.112.0/20" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5000, + "port_range_max": 5000, + "remote_ip_prefix": "185.199.108.0/22" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5000, + "port_range_max": 5000, + "remote_ip_prefix": "192.30.252.0/22" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5000, + "port_range_max": 5000, + "remote_ip_prefix": "164.30.10.149/32" + } + ] + }, + { + "id": "1e98dd1b-d695-4239-917e-b3d59e47880d", + "name": "sg-peer-web", + "description": "Security Group for the peer_beta project.", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 8443, + "port_range_max": 8443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + } + ] + }, + { + "id": "2b7ee980-efc2-4199-98ad-0a375c3ba291", + "name": "sg-prod-jump", + "description": "Security Group for the jumphost of our production setup.", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + }, + { + "id": "2bb26324-3989-4458-a614-8425cc6cd21a", + "name": "peer-admin-jump", + "description": "Allow access to loki from external sources", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3389, + "port_range_max": 3389, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3000, + "port_range_max": 3000, + "remote_ip_prefix": "10.50.0.0/16" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3000, + "port_range_max": 3000, + "remote_ip_prefix": "10.50.0.0/16" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3100, + "port_range_max": 3100, + "remote_ip_prefix": "10.50.0.0/16" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3100, + "port_range_max": 3100, + "remote_ip_prefix": "10.50.0.0/16" + } + ] + }, + { + "id": "4088c618-6940-422f-87a2-7be4c26f3910", + "name": "sg-test-websocket", + "description": "The security group for our websocket for the communication with solana", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 7072, + "port_range_max": 7072, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 7071, + "port_range_max": 7071, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 7071, + "port_range_max": 7071, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + } + ] + }, + { + "id": "4f14fba4-ea42-4ebd-9ff1-16611d07a8e4", + "name": "sg-admin", + "description": "security group for peer_beta admin server", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + } + ] + }, + { + "id": "5cad0da2-b524-4dd7-a361-3d230c8a280b", + "name": "sg-MySQL-DB", + "description": "You can select protocols and ports that the inbound rule will apply to. If you do not select any protocols and ports, no protocols and ports will be opened. After a security group is created, you can add or modify security group rules as required.", + "rules": [ + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3306, + "port_range_max": 3306, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + }, + { + "id": "82960534-6f06-4995-8ca7-65b18fffa84b", + "name": "sg-peer-web-testing", + "description": "Security Group for the peer_beta project- testing", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 8443, + "port_range_max": 8443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + }, + { + "id": "87989c4f-e258-4a8c-a01e-ead42a4f6632", + "name": "sg-prod-pg", + "description": "Security Group for the postgres db in our productive setup.", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5432, + "port_range_max": 5432, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5432, + "port_range_max": 5432, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + } + ] + }, + { + "id": "a04d74f1-879a-4c55-8d07-033c8db98065", + "name": "sg-prod-backend", + "description": "Security Group for the backend in our production setup.", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 443, + "port_range_max": 443, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 80, + "port_range_max": 80, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + } + ] + }, + { + "id": "abe07485-dd5e-4cb2-a88a-3b10c699a4ee", + "name": "sg-peer-jump", + "description": "Security Group for peer_beta jumphost", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "93.240.197.170/32" + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + }, + { + "id": "c1113fee-510c-4180-b114-3af2ebd8f099", + "name": "default", + "description": "default", + "rules": [ + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3389, + "port_range_max": 3389, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 20, + "port_range_max": 21, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 23, + "port_range_max": 23, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 3389, + "port_range_max": 3389, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "icmp", + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 20, + "port_range_max": 21, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 23, + "port_range_max": 23, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + }, + { + "id": "c3701b8f-079c-4864-83a6-600c7204a415", + "name": "sg-prod-admin", + "description": "Security Group for the admin server (connection to the database) in our production setup.", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 22, + "port_range_max": 22, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + } + ] + }, + { + "id": "cc76cd06-5c73-4833-bb8b-5587f29abab0", + "name": "sg-rds-pg-testing", + "description": "security group for database postgres of the testing setup", + "rules": [ + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5432, + "port_range_max": 5432, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": "tcp", + "port_range_min": 5432, + "port_range_max": 5432, + "remote_ip_prefix": null + }, + { + "direction": "ingress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + }, + { + "direction": "egress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "::/0" + }, + { + "direction": "egress", + "ethertype": "IPv4", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": "0.0.0.0/0" + }, + { + "direction": "ingress", + "ethertype": "IPv6", + "protocol": null, + "port_range_min": null, + "port_range_max": null, + "remote_ip_prefix": null + } + ] + } + ] +} \ No newline at end of file diff --git a/Proxmox_OVH/post-install.sh b/Proxmox_OVH/post-install.sh new file mode 100644 index 0000000..0f0d89b --- /dev/null +++ b/Proxmox_OVH/post-install.sh @@ -0,0 +1,145 @@ +#!/bin/bash + +# Proxmox Post-Installation Script for OVH +# Exit on error and undefined variables +set -e +set -u + +# Setup logging +exec > >(tee -a /var/log/post-install.log) +exec 2>&1 +echo "==========================================" +echo "Post-installation started at $(date)" +echo "==========================================" + +# Check if running as root +if [ "$EUID" -ne 0 ]; then + echo "ERROR: Please run as root" + exit 1 +fi + +# --- CONFIG SECTION --- +USERNAME="peer" +PASSWORD_HASH='$6$vZ/wjbnP7yQ7jV1v$yQeXzmK17PbiOnsG5Z8F0AbCKo1MLCk0UTMVnLteXdkcmA78mNH5fwKdP/e2Ni5tb28By8rUuEkl4zb/UG1Pt1' +ROOT_HASH='$6$vZ/wjbnP7yQ7jV1v$yQeXzmK17PbiOnsG5Z8F0AbCKo1MLCk0UTMVnLteXdkcmA78mNH5fwKdP/e2Ni5tb28By8rUuEkl4zb/UG1Pt1' +# ROOT_PASSWORD='YourSecureRootPasswordHere' # CHANGE THIS! +PUBKEY='ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDHr7r2lnUkxuUdAbYeNMfRe2ddGoMrcf5v5QT7Caoba peer@peer-omen' + +# --- SET ROOT PASSWORD --- +echo "Setting root password..." +echo "root:${ROOT_PASSWORD}" | chpasswd +echo "Root password set successfully" + +# --- SYSTEM UPDATE --- +echo "Updating system packages..." +apt-get update +apt-get upgrade -y + +# --- INSTALL BASIC PACKAGES --- +echo "Installing basic packages..." +apt-get install -y software-properties-common apt-transport-https wget gpg +apt-get install -y htop curl git tree python3 python3-venv + +# --- INSTALL ANSIBLE --- +echo "Installing Ansible..." +apt-get install -y ansible + +# --- INSTALL GRAFANA ALLOY --- +echo "Installing Grafana Alloy..." +mkdir -p /etc/apt/keyrings/ +wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | tee /etc/apt/keyrings/grafana.gpg > /dev/null +echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | tee /etc/apt/sources.list.d/grafana.list +apt-get update +apt-get install -y alloy + +# --- INSTALL OPENSTACK DEPENDENCIES --- +echo "Installing OpenStack dependencies..." +apt-get install -y git python3-dev libffi-dev gcc libssl-dev libdbus-glib-1-dev + +# --- CREATE USER --- +echo "Creating user: $USERNAME" +if ! id -u "$USERNAME" >/dev/null 2>&1; then + useradd -m -s /bin/bash -p "$PASSWORD_HASH" -U "$USERNAME" + echo "User $USERNAME created successfully" +else + echo "User $USERNAME already exists, skipping creation" +fi + +# --- ADD USER TO SUDO GROUP --- +echo "Adding $USERNAME to sudo group..." +usermod -aG sudo "$USERNAME" + +# --- CONFIGURE SUDOERS (NOPASSWD) --- +echo "Configuring sudoers for $USERNAME..." +SUDO_FILE="/etc/sudoers.d/90-$USERNAME" +echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" > "$SUDO_FILE" +chmod 440 "$SUDO_FILE" + +# Validate sudoers file +if visudo -cf "$SUDO_FILE" >/dev/null 2>&1; then + echo "Sudoers file validated successfully" +else + echo "ERROR: Invalid sudoers file, removing it" + rm -f "$SUDO_FILE" + exit 1 +fi + +# --- INSTALL SSH PUBLIC KEY --- +echo "Installing SSH public key for $USERNAME..." +HOME_DIR="$(getent passwd "$USERNAME" | cut -d: -f6)" +SSH_DIR="$HOME_DIR/.ssh" +AUTH_KEYS="$SSH_DIR/authorized_keys" + +mkdir -p "$SSH_DIR" +chmod 700 "$SSH_DIR" +touch "$AUTH_KEYS" + +# Add key only if it doesn't exist +if ! grep -q "$PUBKEY" "$AUTH_KEYS" 2>/dev/null; then + echo "$PUBKEY" >> "$AUTH_KEYS" + echo "SSH key added successfully" +else + echo "SSH key already exists, skipping" +fi + +chmod 600 "$AUTH_KEYS" +chown -R "$USERNAME:$USERNAME" "$SSH_DIR" + +# --- HARDEN SSH CONFIGURATION --- +echo "Hardening SSH configuration..." +SSH_CONFIG="/etc/ssh/sshd_config" + +# Backup original config +cp "$SSH_CONFIG" "${SSH_CONFIG}.backup.$(date +%Y%m%d)" + +# Disable password authentication (force key-based only) +# sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication no/' "$SSH_CONFIG" +# sed -i 's/^#*PermitRootLogin.*/PermitRootLogin yes/' "$SSH_CONFIG" # Allow root for Proxmox management +# sed -i 's/^#*PubkeyAuthentication.*/PubkeyAuthentication yes/' "$SSH_CONFIG" + +# Restart SSH service +systemctl restart sshd +echo "SSH configuration updated and service restarted" + +# --- CLEANUP --- +echo "Cleaning up..." +apt-get autoremove -y +apt-get clean + +# --- FINAL STATUS --- +echo "==========================================" +echo "Post-installation completed at $(date)" +echo "==========================================" +echo "" +echo "Summary:" +echo " - Root password: SET" +echo " - User '$USERNAME': CREATED" +echo " - SSH key: INSTALLED" +echo " - SSH: HARDENED (key-based auth only)" +echo " - Packages: INSTALLED" +echo "" +echo "IMPORTANT: Save your root password securely!" +echo "You can now login as: $USERNAME@162.19.169.215" +echo "" +echo "Log file: /var/log/post-install.log" +echo "==========================================" \ No newline at end of file diff --git a/README.md b/README.md index 16e8b76..8448c80 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,28 @@ +# Server Settings + +## What and Why + +This repo will contain and track changes to the whole layout of Peer Network. +Add of the VPNs or parts are included. +- Prod (Production) +- Test +- Dev (Developement) +- Admin (Administration) + +## Implimentation + +### Terraform is teh main tool for the structure of systems in Peer. + +#### For Deutsche Open Telekom Cloud (OTC): +Use Terraform through OpenStack API to have direct access to OTC. + +#### For systems/host on premiess: +To be decided later, with Terraform as the main interface + +## Application Configuation Versioning + +### Ansible? + # Peer Server Settings This is the repository of many of teh /etc and other settings for servers. diff --git a/README_gitleaks.md b/README_gitleaks.md new file mode 100644 index 0000000..48b852a --- /dev/null +++ b/README_gitleaks.md @@ -0,0 +1,73 @@ +# 🔒 Gitleaks Pre-Commit Hook (Sever Settings) + +This repository uses **[Gitleaks](https://github.com/gitleaks/gitleaks)** to prevent secrets (API keys, passwords, tokens, etc.) from being committed. + +--- + +## 🚀 Setup + +Run the setup script once: + +```bash +chmod +x setup-hooks.sh +./setup-hooks.sh +``` + +This will: + +- Configure Git to use .githooks/ as the hooks directory. +- Make .githooks/pre-commit executable. +- Ensure gitleaks is installed (v8.28.0). + +If missing, the script will download the correct binary for your OS/architecture. + +Confirm the hook is ready. + +🛡️ Pre-Commit Scan +On every git commit, the hook will: + +- Run a Gitleaks scan on staged changes only. +- Block the commit if potential secrets are detected. +- Write results to .gitleaks_out/gitleaks-precommit.json. + +If a commit is blocked: + +- Check .gitleaks_out/gitleaks-precommit.json for details. +- Remove or mask the secret before retrying. + +Do not bypass with git commit --no-verify — CI will still block your PR. + +--- + +### + +Docker Fallback + +If a local Gitleaks binary is missing, the pre-commit hook will fall back to Docker: + +docker run --rm -i -v "$(pwd)":/repo ghcr.io/gitleaks/gitleaks:v8.28.0 detect ... + +--- + +### +✅ Verifying Installation +To check that everything is set up correctly: + +``` +gitleaks version +``` +# should print: 8.28.0 + +--- + +### +🧹 Ignore False Positives +If Gitleaks flags something that is not a real secret: + +Talk to your Team Lead / DevOps. + +They can add an exception to gitleaks.toml. + +With this setup, secrets are scanned locally before every commit and again in CI, ensuring strong security across the repo. 🔐 + +Gitleaks is set 🚀 \ No newline at end of file diff --git a/Terraform_Files/.terraform.lock.hcl b/Terraform_Files/.terraform.lock.hcl new file mode 100644 index 0000000..d3f40e4 --- /dev/null +++ b/Terraform_Files/.terraform.lock.hcl @@ -0,0 +1,40 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/local" { + version = "2.5.3" + constraints = "~> 2.5" + hashes = [ + "h1:1Nkh16jQJMp0EuDmvP/96f5Unnir0z12WyDuoR6HjMo=", + "zh:284d4b5b572eacd456e605e94372f740f6de27b71b4e1fd49b63745d8ecd4927", + "zh:40d9dfc9c549e406b5aab73c023aa485633c1b6b730c933d7bcc2fa67fd1ae6e", + "zh:6243509bb208656eb9dc17d3c525c89acdd27f08def427a0dce22d5db90a4c8b", + "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", + "zh:885d85869f927853b6fe330e235cd03c337ac3b933b0d9ae827ec32fa1fdcdbf", + "zh:bab66af51039bdfcccf85b25fe562cbba2f54f6b3812202f4873ade834ec201d", + "zh:c505ff1bf9442a889ac7dca3ac05a8ee6f852e0118dd9a61796a2f6ff4837f09", + "zh:d36c0b5770841ddb6eaf0499ba3de48e5d4fc99f4829b6ab66b0fab59b1aaf4f", + "zh:ddb6a407c7f3ec63efb4dad5f948b54f7f4434ee1a2607a49680d494b1776fe1", + "zh:e0dafdd4500bec23d3ff221e3a9b60621c5273e5df867bc59ef6b7e41f5c91f6", + "zh:ece8742fd2882a8fc9d6efd20e2590010d43db386b920b2a9c220cfecc18de47", + "zh:f4c6b3eb8f39105004cf720e202f04f57e3578441cfb76ca27611139bc116a82", + ] +} + +provider "registry.terraform.io/opentelekomcloud/opentelekomcloud" { + version = "1.36.40" + constraints = "1.36.40" + hashes = [ + "h1:8+1s0H7aPzPiserLgEKw87xdMb3ThyvwBvPofWttE5M=", + "zh:15307451a191ffd878848b74b48970091e397bcae72957eb51d3118ede6baf81", + "zh:35ae705a5fa76012b92cb2ae51923311b2e1c02aea74443b7a9c496f81c7ca7e", + "zh:5947ac8a027221288419737cf829ed30184a92b69d3e32cbea390d1edc398091", + "zh:6ee21baff8373d3425ad08ec7b6bdb119cb8d36b4ef36e11b6416e2c82fbd80c", + "zh:7c20137df6e522101cdf07c9975c1911bf23e67f952189770bf3efbf62f44c69", + "zh:98923108feec4d319783cec4f9ea0bf0ea3ffa24da795526a885d7256d17e59f", + "zh:aeab9642c605344f129889f496f3adc5132085842b998fb49884bc14b162a10b", + "zh:c864545ebed51cf56b865c3a1bf80d58d16ceb766132a05038340230d1771af3", + "zh:d09de442f0d11fdeb9ef6c5552cf3d3f9f7a946219be1baca5eee047dbeee21a", + "zh:f6a4123f66b2fc3970a6d58b19517b9f86d6e069d0b9f5b304bbfa410c88f339", + ] +} diff --git a/Terraform_Files/.terraform/providers/registry.terraform.io/hashicorp/local/2.5.3/linux_amd64/LICENSE.txt b/Terraform_Files/.terraform/providers/registry.terraform.io/hashicorp/local/2.5.3/linux_amd64/LICENSE.txt new file mode 100644 index 0000000..b9ac071 --- /dev/null +++ b/Terraform_Files/.terraform/providers/registry.terraform.io/hashicorp/local/2.5.3/linux_amd64/LICENSE.txt @@ -0,0 +1,375 @@ +Copyright (c) 2017 HashiCorp, Inc. + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/Terraform_Files/.terraform/providers/registry.terraform.io/hashicorp/local/2.5.3/linux_amd64/terraform-provider-local_v2.5.3_x5 b/Terraform_Files/.terraform/providers/registry.terraform.io/hashicorp/local/2.5.3/linux_amd64/terraform-provider-local_v2.5.3_x5 new file mode 100755 index 0000000..57927f4 Binary files /dev/null and b/Terraform_Files/.terraform/providers/registry.terraform.io/hashicorp/local/2.5.3/linux_amd64/terraform-provider-local_v2.5.3_x5 differ diff --git a/Terraform_Files/.terraform/providers/registry.terraform.io/opentelekomcloud/opentelekomcloud/1.36.40/linux_amd64/CHANGELOG.md b/Terraform_Files/.terraform/providers/registry.terraform.io/opentelekomcloud/opentelekomcloud/1.36.40/linux_amd64/CHANGELOG.md new file mode 100644 index 0000000..33fd0bb --- /dev/null +++ b/Terraform_Files/.terraform/providers/registry.terraform.io/opentelekomcloud/opentelekomcloud/1.36.40/linux_amd64/CHANGELOG.md @@ -0,0 +1,1039 @@ +> **_NOTE:_** We are moved to `releasenotes`. The latest CHANGELOG could be found [here](https://docs.otc-service.com/releasenotes/terraform-provider-opentelekomcloud/). + +## 1.24.3 (June 30 2021) + +NOTES/DEPRECATIONS: +From now our CHANGELOG can be found [here](https://docs.otc-service.com/releasenotes/terraform-provider-opentelekomcloud/index.html). ([#1164](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1164)) + +FEATURES: +* **New Resource:** `opentelekomcloud_images_image_access_v2` ([#1153](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1153)) +* **New Resource:** `opentelekomcloud_images_image_access_accept_v2` ([#1153](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1153)) + +BUG FIXES: +* `resource/opentelekomcloud_as_configuration_v1`: Recreate resource when any field was changed ([#1156](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1156)) +* `resource/opentelekomcloud_as_configuration_v1`: Fix wrong SHA1 calculation of `user_data` ([#1159](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1159)) +* `resource/opentelekomcloud_cce_node_pool_v3`: Add missing KMS config parameter ([#1165](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1165)) +* `data_source/opentelekomcloud_networking_secgroup_v2`: Fix panic in Read operation ([#1176](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1176)) +* `resource/opentelekomcloud_compute_instance_v2`: Don't read `image_name` if it's set ([#1181](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1181)) + +DOCUMENTATION: +* `resource/opentelekomcloud_cce_addon_v3`: Add template for new k8s version ([#1172](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1172)) + + +## 1.24.2 (June 23 2021) + +ENHANCEMENTS: +* `resource/opentelekomcloud_waf_certificate_v1`: Add possibility to configure TLS ([#1132](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1132)) +* `resource/opentelekomcloud_ecs_instance_v1`: Add possibility to encrypt `data_volumes` ([#1135](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1135)) + +BUG FIXES: +* `provider`: Store temporary AK/SK in OBS client only ([#1133](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1133)) +* `resource/opentelekomcloud_rds_instance_v3`: Fix not setting `availability_zone` during import/refresh ([#1137](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1137)) +* `resource/opentelekomcloud_obs_bucket`: Fix not creating bucket for `eu-nl` region ([#1139](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1139)) +* `resource/opentelekomcloud_rds_instance_v3`: Fix configuration template applied partially ([#1150](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1150)) + +DOCUMENTATION: +* `resources/opentelekomcloud_nat_gateway_v2`: Note that `router_id` can be a VPC ID ([#1140](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1140)) + +## 1.24.1 (June 17, 2021) + +FEATURES: +* **New Resource:** `opentelekomcloud_swr_organization_v2` ([#1120](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1120)) +* **New Resource:** `opentelekomcloud_swr_repository_v2` ([#1123](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1123)) +* **New Resource:** `opentelekomcloud_swr_domain_v2` ([#1127](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1127)) +* **New Resource:** `opentelekomcloud_swr_organization_permissions_v2` ([#1129](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1129)) + +ENHANCEMENTS: +* `resource/opentelekomcloud_waf_certificate_v1`: Add name certificate name validation ([#1116](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1116)) +* `resource/opentelekomcloud_cce_node_v3`: Add possibility to encrypt `data_volumes` ([#1117](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1117)) +* `resource/opentelekomcloud_waf_certificate_v1`: Add possibility to import by name ([#1119](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1119)) +* `resource/opentelekomcloud_obs_bucket_v1`: Add possibility to create buckets with encryption ([#1125](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1125)) + +BUG FIXES: +* `resource/opentelekomcloud_as_configuration_v1`: Fix wrong SHA1 sum in `Read` operation ([#1130](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1130)) + +## 1.24.0 (June 9, 2021) + +This release contains no functional differences from `1.23.13`. + +NOTES/DEPRECATIONS: + +* Move to `terraform-plugin-sdk/v2`, only Terraform versions `0.12+` are supported ([#1104](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1104)) + +## 1.23.13 (June 9, 2021) + +This is the last release to support Terraform versions lower than `0.12`. + +ENHANCEMENTS: +* `resource/opentelekomcloud_identity_user_v3`: Add possibility to send welcome email on user creation ([#1103](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1103)) +* `provider/opentelekomcloud`: Add `passcode` argument for TOTP MFA support ([#1106](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1106)) +* `resource/opentelekomcloud_cce_cluster_v3`: Improve error for missing CCE authorization ([#1108](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1108)) + +BUG FIXES: +* `resource/opentelekomcloud_obs_bucket_policy`: Malformed policy is no more stored in the state ([#1097](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1097)) +* `resource/pentelekomcloud_waf_certificate_v1`: Fix not creating certificate with valid certificate and key values ([#1098](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1098)) + +DOCUMENTATION: +* `resource/opentelekomcloud_rds_instance_v3`: Make clear user_name is part of the db ([#1093](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1093)) +* `resource/pentelekomcloud_waf_certificate_v1`: Use valid certificate and key example ([#1098](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1098)) +* `resource/pentelekomcloud_rds_read_replica_v3`: Fix `id` field description ([#1100](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1100)) +* `resource/opentelekomcloud_css_cluster_v1`: Remove `css.large.8` flavor from the valid flavor list ([#1102](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1102)) + +NOTES/DEPRECATIONS: +* `resource/opentelekomcloud_lb_loadbalancer_v2`: Remove deprecated `security_group_ids` ([#1101](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1101)) + +## 1.23.12 (May 27, 2021) + +ENHANCEMENTS: +* `resource/opentelekomcloud_cce_addon_v3`: Add possibility to import ([#1066](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1066)) +* `resource/opentelekomcloud_evs_volume_v3`: Add possibility to increase volume size ([#1074](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1074)) +* `resource/opentelekomcloud_cce_node_pool_v3`: Add possibility to import ([#1082](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1082)) +* `resource/opentelekomcloud_rds_instance_v3`: Unify usage of `tags` ([#1085](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1085)) +* `resource/opentelekomcloud_cce_cluster_v3`: Allow creating cluster without addons ([#1087](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1087)) + +BUG FIXES: +* `resource/opentelekomcloud_cce_node_pool_v3`: Add missing field in `Update` operation ([#1068](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1068)) +* `resource/opentelekomcloud_cce_node_pool_v3`: Add missing field in `Create` operation ([#1069](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1069)) +* `resource/opentelekomcloud_cce_node_pool_v3`: Skip setting scale fields when scale disabled ([#1071](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1071)) +* `resource/opentelekomcloud_cce_node_pool_v3`: Fix infinite retrial creation ([#1075](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1075)) +* `resource/opentelekomcloud_dds_instance_v3`: Fix empty state file ([#1077](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1077)) +* `resource/opentelekomcloud_cce_addon_v3`: Fix false-positive `Delete` operation ([#1080](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1080)) +* `resource/opentelekomcloud_cce_addon_v3`: Remove `Update` operation which produces issues ([#1080](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1080)) +* `resource/opentelekomcloud_cce_addon_v3`: Improve `SYS` disk size validation ([#1084](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1084)) + +DOCUMENTATION: +* `resource/opentelekomcloud_cce_addon_v3`: Fix wrong version of EuleorOS ([#1070](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1070)) +* `resource/opentelekomcloud_dds_instance_v3`: Add examples of creating a Replica Set ([#1079](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1079)) + +## 1.23.11 (May 19, 2021) + +FEATURES: +* **New Resource:** `opentelekomcloud_rds_replica_v3` ([#1037](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1037)) + +ENHANCEMENTS: +* `resource/opentelekomcloud_lb_pool_v2`: Make `persistence.type` optional ([#1052](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1052)) +* `data_source/opentelekomcloud_vpc_eip_v1`: Add possibility to query by `tags` ([#1058](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1058)) + +BUG FIXES: +* `resource/opentelekomcloud_compute_instance_v2`: Fix issue with reading `networks` ([#1057](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1057)) +* `resource/opentelekomcloud_identity_provider_v3`: Fix issue with failing provider operations ([#1059](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1059)) +* `resource/opentelekomcloud_css_cluster_v1`: Fix potential nil pointer issue ([#1060](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1060)) + +DOCUMENTATION: +* `resource/opentelekomcloud_networking_port_v2`: Fix wrong ordering of `port_security_enabled` ([#1051](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1051)) + +NOTES/DEPRECATIONS: +* `resource/opentelekomcloud_lb_loadbalancer_v2`: Deprecate `security_group_ids` ([#1055](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1055)) + +## 1.23.10 (May 6, 2021) + +FEATURES: +* **New Data Source:** `opentelekomcloud_vpc_eip_v1` ([#1042](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1042)) + +ENHANCEMENTS: +* `resource/opentelekomcloud_networking_port_v2`: Allow to set a `port_security_enabled` ([#1045](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1045)) + +BUG FIXES: +* `resource/opentelekomcloud_cce_addon_v3`: Fix issue with CCE cluster recreation with installed addon ([#1047](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1047)) + +DOCUMENTATION: +* `resource/opentelekomcloud_networking_port_v2`: Add missing field `no_security_groups` ([#1045](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1045)) + +NOTES/DEPRECATIONS: +* `resource/opentelekomcloud_elb_backend`: Classic load balancers are no longer provided. Please use elastic load balancers instead ([#1035](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1035)) +* `resource/opentelekomcloud_elb_health`: Classic load balancers are no longer provided. Please use elastic load balancers instead ([#1035](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1035)) +* `resource/opentelekomcloud_elb_listener`: Classic load balancers are no longer provided. Please use elastic load balancers instead ([#1035](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1035)) +* `resource/opentelekomcloud_elb_loadbalacer`: Classic load balancers are no longer provided. Please use elastic load balancers instead ([#1035](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/1035)) + +## 1.23.9 (April 28, 2021) + +ENHANCEMENTS: +* `data_source/opentelekomcloud_images_image_v2`: Add possibility to filter images by regex ([#1012](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1012)) +* `resource/opentelekomcloud_vpc_subnet_v1`: Add `network_id` attribute ([#1021](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1021)) +* `data_source/opentelekomcloud_vpc_subnet_v1`: Add `network_id` attribute ([#1021](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1021)) +* `resource/opentelekomcloud_compute_instance_v2`: Add resource import support ([#1029](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1029)) + +BUG FIXES: +* `resource/opentelekomcloud_cce_addon_v3`: Fix passing all `values` as strings ([#1003](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1003)) +* `resource/opentelekomcloud_cce_addon_v3`: Fix error during update ([#1009](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1009)) + +DOCUMENTATION: +* `resource/opentelekomcloud_vpc_subnet_v1`: Add note about primary DNS ([#1018](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1018)) +* `resource/opentelekomcloud_cce_cluster_v3`: Add note for authorizing CCE without console ([#1024](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1024)) +* `resource/opentelekomcloud_dds_instance_v3`: Fix resource name in the examples ([#1031](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1031)) +* `resource/opentelekomcloud_cce_cluster_v3`: Add auth note for usage with SWR ([#1032](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/1032)) + +## 1.23.8 (April 21, 2021) + +ENHANCEMENTS: +* `resource/opentelekomcloud_as_group_v1`: Make `security_groups` optional ([#991](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/991)) + +BUG FIXES: +* `resource/opentelekomcloud_lb_certificate_v2`: Fix constantly updating `private_key`, `certificate` and `domain` fields ([#988](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/988)) +* `resource/opentelekomcloud_lb_certificate_v2`: Fix deleting certificates used in LB listener ([#987](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/987)) +* `resource/opentelekomcloud_vpc_subnet_v1`: Fix subnet creation when `dns_list` is set ([#995](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/995), follow-up of [#977](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/977)) + +DOCUMENTATION: +* `resource/opentelekomcloud_cce_cluster_v3`: Add note about CCE authorization required ([#998](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/998)) + +## 1.23.7 (April 15, 2021) + +ENHANCEMENTS: +* `resource/opentelekomcloud_networking_subnet_v2`: Add default value for `dns_nameservers` ([#977](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/977)) +* `resource/opentelekomcloud_vpc_subnet_v1`: Add default value for `primary_dns`, `secondary_dns` ([#977](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/977)) + +BUG FIXES: +* `resource/opentelekomcloud_cce_node_v3`: Remove passing empty `private_ip` in create request ([#973](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/973)) +* `resource/opentelekomcloud_s3_bucket`: Make unversioned bucket creation possible ([#976](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/976), [#979](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/979)) +* `resource/opentelekomcloud_obs_bucket`: Make unversioned bucket creation possible ([#978](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/978)) +* `resource/opentelekomcloud_lb_listener_v2`: Fix schema to avoid resource always updating ([#983](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/983), [#984](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/984)) + +DOCUMENTATION: +* `resource/opentelekomcloud_cce_addon_v3`: Fix documentation issues ([#969](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/969)) + +## 1.23.6 (April 08, 2021) + +FEATURES: +* **New Resource:** `opentelekomcloud_identity_provider_v3` ([#946](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/946)) +* **New Resource:** `opentelekomcloud_identity_mapping_v3` ([#947](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/947)) +* **New Resource:** `opentelekomcloud_sfs_share_access_rules_v2` ([#955](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/955)) +* **New Resource:** `opentelekomcloud_sdrs_protected_instance_v1` ([#963](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/963)) + +ENHANCEMENTS: +* `resource/opentelekomcloud_cce_node_v3`: Allow to set a `private_ip` ([#938](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/938)) +* `resource/opentelekomcloud_as_configuration_v1`: Allow to set a `security_groups` ([#941](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/941)) +* `resource/opentelekomcloud_cce_nodepool_v3`: Increase timeouts ([#945](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/945)) +* `resource/opentelekomcloud_sfs_file_share_v2`: Make `access` params optional ([#953](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/953)) +* `resource/opentelekomcloud_сompute_instance_v2`: Add possibility to set `power_state` param ([#956](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/956)) + +DOCUMENTATION: +* `resource/opentelekomcloud_ecs_instance_v1`: Clarify that `nics` is required ([#951](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/951)) +* `resource/opentelekomcloud_dns_recordset_v2`: Clarify that `type` and `records` are required ([#961](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/961)) + +## 1.23.5 (March 24, 2021) + +ENHANCEMENTS: +* `resource/opentelekomcloud_ecs_instance_v1`: Use common `tags` approach in resource ([#919](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/919)) +* `provider/opentelekomcloud`: Retry `502` error one time ([#921](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/921)) +* `resource/opentelekomcloud_lb_monitor_v2`: Add possibility to set `domain_name` argument ([#925](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/925)) +* `resource/opentelekomcloud_css_cluster_v1`: Add possibility to set `datastore` argument ([#926](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/926)) +* `resource/opentelekomcloud_compute_instance_v2`: Use common `tags` approach in resource ([#927](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/927)) +* `resource/opentelekomcloud_css_cluster_v1`: Add disk size validation during a plan ([#928](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/928)) + +DOCUMENTATION: +* `resource/opentelekomcloud_compute_instance_v2`: Update `security_groups` description ([#929](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/929)) +* `resource/opentelekomcloud_cce_addon_v3`: Add description of addon template input values ([#931](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/931)) + +## 1.23.4 (March 17, 2021) + +FEATURES: +* **New Data Source:** `opentelekomcloud_css_flavor_v1` ([#913](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/913)) + +ENHANCEMENTS: +* `resource/opentelekomcloud_css_cluster_v1`: Add support of `enable_authority` and `admin_pass` arguments ([#902](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/902)) +* `resource/opentelekomcloud_ecs_instance_v1`: Use security group IDs in all operations ([#909](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/909)) + +BUG FIXES: +* `resource/opentelekomcloud_vpnaas_ipsec_policy_v2`: Missing support of PFS groups ([#906](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/906)) +* `resource/opentelekomcloud_as_group_v1`: Limit `security_groups` maximum number to one ([#907](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/907)) +* `resource/opentelekomcloud_cce_node_pool_v3`: Fix too strict `k8s_tags` validations ([#911](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/911)) +* `resource/opentelekomcloud_cce_node_pool_v3`: Changes in `k8s_tags` and `taints` trigger resource re-creation no more ([#911](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/911)) + +## 1.23.3 (March 12, 2021) + +ENHANCEMENTS: +* `resource/opentelekomcloud_lb_loadbalancer_v2`: Add possibility to set tags ([#890](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/890)) +* `resource/opentelekomcloud_lb_listener_v2`: Add possibility to set tags ([#895](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/895)) +* `resource/opentelekomcloud_compute_keypair_v2`: Add new keypair creation support ([#896](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/896)) + +BUG FIXES: +* `resource/opentelekomcloud_cbr_vault_v3`: Fix not unassignable resources ([#897](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/897)) + +DOCUMENTATION: +* Improve repository `README.md` ([#894](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/894)) +* `resource/opentelekomcloud_dns_zone_v2`: Clarify that private zones are not searched by default ([#905](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/905)) + +## 1.23.2 (March 4, 2021) + +ENHANCEMENTS: +* `resource/opentelekomcloud_as_group_v1`: Add possibility to set tags ([#877](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/877)) +* `resource/opentelekomcloud_kms_key_v1`: Add possibility to set tags ([#884](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/884)) + +BUG FIXES: +* `resource/opentelekomcloud_cce_node_v3`: Remove reading empty CCE Node `Spec.ExtendParam` ([#876](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/876)) +* `resource/opentelekomcloud_css_cluster_v1`: Fix error with reading cluster without encryption ([#882](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/882)) +* `resource/opentelekomcloud_cbr_policy_v3`: Make `timezone` argument required ([#883](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/883)) +* `resource/opentelekomcloud_compute_keypair_v2`: Fix raising error on changing existing public key ([#887](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/887)) + +## 1.23.1 (February 25, 2021) + +ENHANCEMENTS: +* `resource/opentelekomcloud_sfs_file_system_v2`: Add possibility to set tags ([#867](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/867)) + +BUG FIXES: +* `resource/opentelekomcloud_cce_node_pool_v3`: Fix pool not creating with `random` availability zone ([#864](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/864)) +* `resource/opentelekomcloud_compute_instance_v2`: Fix ignored `OS_IMAGE_ID` env variable ([#866](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/866)) +* `resource/opentelekomcloud_compute_bms_server_v2`: Fix ignored `OS_IMAGE_ID` env variable ([#866](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/866)) +* `resource/opentelekomcloud_vbs_backup_policy_v2`: Fix panic on refresh when policy is missing ([#872](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/872)) + +## 1.23.0 (February 17, 2021) + +NOTES/DEPRECATIONS: + +Binary build matrix is narrowed ([#858](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/858)). +Binaries for the following OS/architecture combinations are built: + +* **Linux** + * `AMD64` + * `i386` + * `ARMv6` + * `ARMv8` (`ARM64`) + +* **Darwin** + * `AMD64` + +* **Windows** + * `AMD64` + * `i386` + +* **FreeBSD** + * `AMD64` + * `i386` + +_`Darwin/ARMv8` (new `M1` chip) to be also built in future_ + +FEATURES: +* **New Resource:** `opentelekomcloud_sfs_turbo_share_v1` ([#852](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/852)) + +ENHANCEMENTS: +* `resource/opentelekomcloud_dns_zone_v2`: Make DNS resources diff ignore ending dot in name ([#850](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/850)) +* `resource/opentelekomcloud_dns_recordset_v2`: Make DNS resources diff ignore ending dot in name ([#850](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/850)) +* `resource/opentelekomcloud_dns_ptrrecord_v2`: Make DNS resources diff ignore ending dot in name ([#850](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/850)) +* `resource/opentelekomcloud_compute_instance_v2`: Remove `Deprecated` and `Removed` fields from schema ([#859](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/859)) + +BUG FIXES: +* `resource/opentelekomcloud_dns_recordset_v2`: Fix shared DNS recordset searching ([#848](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/848)) +* `resource/opentelekomcloud_vbs_backup_v2`: Fix reading backup description ([#855](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/855)) + +## 1.22.8 (February 10, 2021) + +FEATURES: +* **New Resource:** `opentelekomcloud_cce_node_pool_v3` ([#825](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/825)) +* **New Resource:** `opentelekomcloud_cbr_vault_v3` ([#833](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/833)) + +BUG FIXES: +* `provider/opentelekomcloud`: Fix not loading cloud config ([#828](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/828)) +* `resource/opentelekomcloud_vpc_eip_v1`: Fix missing `tags` argument in the documentation ([#830](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/830)) +* `resource/opentelekomcloud_dns_prrecord_v2`: Repair tags workflow in resource ([#832](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/832)) +* `resource/opentelekomcloud_cce_addon_v3`: Fix crash on empty `basic` addon values ([#836](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/836)) + +## 1.22.7 (February 03, 2021) + +ENHANCEMENTS: +* `resource/opentelekomcloud_ecs_instance_v1`: Implement plan stage network and volume validation ([#820](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/820)) +* `resource/opentelekomcloud_as_configuration`: Add possibility to set `5_mailbgp` to `ip_type` ([#821](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/821)) +* `resource/opentelekomcloud_evs_volume_v3`: Add volume type validation ([#823](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/823)) + +NOTES/DEPRECATIONS: +* `resource/opentelekomcloud_compute_instance_v2`: Deprecate `personality` field ([#819](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/819)) + +## 1.22.6 (January 27, 2021) + +BUG FIXES: +* `resource/opentelekomcloud_obs_bucket`: Fix invalid AK/SK signature for OBS ([#811](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/811)) +* `resource/opentelekomcloud_obs_bucket_object`: Fix invalid AK/SK signature for OBS ([#811](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/811)) +* `resource/opentelekomcloud_obs_bucket_object`: Fix issue with deleting versioned objects ([#812](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/812)) + +ENHANCEMENTS: +* `provider/opentelekomcloud`: Add provider credentials validation ([#813](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/813)) +* `provider/opentelekomcloud`: Mark sensitive fields as `Sensitive` ([#816](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/816)) + +## 1.22.5 (January 22, 2021) + +BUG FIXES: +* `resource/opentelekomcloud_cce_cluster_v3`: Fix `vpc_id` and `subnet_id` validation during plan ([#804](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/804)) + +## 1.22.4 (January 21, 2021) + +FEATURES: +* **New Data Source:** `opentelekomcloud_rds_versions_v3` ([#792](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/792)) + +ENHANCEMENTS: +* `resource/opentelekomcloud_cce_cluster_v3`: Implement plan stage network validation ([#787](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/787)) +* `resource/opentelekomcloud_cce_cluster_v3`: Add timeouts section to CCE documentation ([#788](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/788)) +* `resource/opentelekomcloud_cce_node_v3`: Add timeouts section to CCE documentation ([#788](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/788)) +* `resource/opentelekomcloud_compute_keypair_v2`: Allow shared ("global") key pairs ([#794](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/794)) +* `resource/opentelekomcloud_rds_instance_v3`: Implement plan stage db version validation ([#795](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/795)) +* `resource/opentelekomcloud_rds_parametergroup_v3`: Implement plan stage db version validation ([#796](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/796)) +* `resource/opentelekomcloud_dns_recordset_v2`: Allow shared ("global") DNS record sets ([#800](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/800)) + +BUG FIXES: +* `resource/opentelekomcloud_rds_instance_v3`: Add `param_group_id` support ([#784](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/784)) +* `resource/opentelekomcloud_rds_parametergroup_v3`: Fix `rds_parametergroup_v3` recreation ([#789](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/789)) + +## 1.22.3 (December 23, 2020) + +FEATURES: +* **New Resource:** `opentelekomcloud_obs_bucket_policy` ([#773](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/773)) +* **New Data Source:** `opentelekomcloud_obs_bucket_object` ([#780](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/780)) + +ENHANCEMENTS: +* `resource/opentelekomcloud_cce_node_v3`: Add `os` argument ([#778](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/778)) + +BUG FIXES: +* `resource/opentelekomcloud_obs_bucket_object`: Remove unused `credentials` argument ([#781](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/781)) + +DOCUMENTATION: +* `data_source/opentelekomcloud_s3_bucket_object`: Move to `"Object Storage Service (S3)"` subcategory ([#772](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/772)) +* `resource/opentelekomcloud_s3_bucket`: Move to `"Object Storage Service (S3)"` subcategory ([#772](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/772)) +* `resource/opentelekomcloud_s3_bucket_object`: Move to `"Object Storage Service (S3)"` subcategory ([#772](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/772)) +* `resource/opentelekomcloud_s3_bucket_policy`: Move to `"Object Storage Service (S3)"` subcategory ([#772](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/772)) + +## 1.22.2 (December 16, 2020) + +FEATURES: +* **New Resource:** `opentelekomcloud_cce_addon_v3` ([#711](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/711)) + +ENHANCEMENTS: +* `resource/opentelekomcloud_lb_loadbalancer_v2`: Clarify usage `lb_loadbalancer_v2` with `vpc_subnet_v1` in docs ([#766](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/766)) +* `resource/opentelekomcloud_cce_cluster_v3`: Add cluster name validation ([#768](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/issues/768)) + +## 1.22.1 (December 10, 2020) + +FEATURES: +* **New Resource:** `opentelekomcloud_cbr_policy_v3`([#758](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/758)) + +BUG FIXES: +* `resource/opentelekomcloud_identity_credential_v3`: Remove non-existing credential instead returning error ([#753](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/753)) +* `resource/opentelekomcloud_lb_pool_v2`: Fix LB protocol to pool protocol mapping description ([#754](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/754)) +* `resource/opentelekomcloud_rds_instance_v3`: Fix issue with update volume size ([#755](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/755)) +* `data_source/opentelekomcloud_networking_secgroup_v2`: Prevent panic due to unhandled error ([#756](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/756)) + + +## 1.22.0 (December 03, 2020) + +FEATURES: +* **New Data Source:** `opetelekomcloud_dds_instance_v3` ([#725](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/725)) + +ENHANCEMENTS: +* `resource/opentelekomcloud_cce_cluster_v3`: Add new argument `authenticating_proxy_ca` ([#727](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/727)) +* `data_source/opentelekomcloud_cce_cluster_v3`: Add new argument `authentication_mode` ([#727](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/727)) +* `resource/opentelekomcloud_obs_bucket`: Setting up AK/SK is not required anymore ([#745](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/745)) +* `resource/opentelekomcloud_obs_bucket_object`: Setting up AK/SK is not required anymore ([#745](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/745)) + +BUG FIXES: +* `resource/opentelekomcloud_identity_credential_v3`: Add the missing documentation ([#731](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/731)) +* `resource/opentelekomcloud_vpnaas_ike_policy_v2`: Fix hardcoded values for `PFS` and `phase1_negotiation_mode` ([#733](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/733)) +* `resource/opentelekomcloud_identity_credential_v3`: Make `user_id` Optional ([#737](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/737)) + + +## 1.21.6 (November 25, 2020) + +FEATURES: +* **New Resource:** `opetelekomcloud_dds_instance_v3` ([#717](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/717)) +* **New Data Source:** `opetelekomcloud_dds_flavors_v3` ([#718](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/718)) +* **New Data Source:** `opentelekomcloud_vpc_bandwidth` ([#719](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/719)) + +BUG FIXES: +* `resource/opentelekomcloud_as_group_v1`: Fix failing autoscaling group deletion ([#722](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/722)) + + +## 1.21.5 (November 19, 2020) + +ENHANCEMENTS: +* `provider/opentelekomcloud`: Add `OS_TOKEN` as alternative env var for `token` ([#706](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/706)) +* `resource/opentelekomcloud_lb_monitor_v2`: Add `monitor_port` argument ([#709](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/709)) +* `resource/opentelekomcloud_waf_domain_v1`: Rename WAF domain server attributes ([#710](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/710)) +* `resource/opentelekomcloud_csbs_backup_policy_v1`: Add fields to CSBS policy ([#714](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/714)) + + +## 1.21.4 (November 12, 2020) + +BUG FIXES: +* `provider/opentelekomcloud`: Fix retries for 409 and 503 error codes ([#688](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/688)) +* `provider/opentelekomcloud`: Fix region handling ([#697](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/697)) +* `resource/opentelekomcloud_s3_bucket`: Fix panic creating `s3_bucket` without `tenant_name` in provider config ([#698](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/698)) +* `resource/opentelekomcloud_compute_instance_v2`: Revert changes from [#686](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/686) ([#701](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/701)) +* `resource/opentelekomcloud_rds_instance_v3`: Fix RDSv3 instance import ([#704](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/704)) + +ENHANCEMENTS: +* `resource/opentelekomcloud_lb_listener_v2`: Add new field `type` and make `private_key` as Optional ([#688](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/688)) +* `resource/opentelekomcloud_lb_certificate_v2`: Add new fields `http2_enable`, `client_ca_tls_container_ref` and `tls_ciphers_policy` ([#688](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/688)) +* `resource/opentelekomcloud_cce_cluster_v3`: Add new fields `kubernetes_svc_ip_range` and `kube_proxy_mode` ([#699](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/699)) + + +## 1.21.3 (November 6, 2020) + +BUG FIXES: +* `resource/opentelekomcloud_compute_instance_v2`: Fix diff on every apply when using security group IDs instead of names ([#686](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/686)) +* `resource/opentelekomcloud_s3_bucket_policy`: Fix not working policy example in documentation ([#692](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/692)) + +ENHANCEMENTS: +* `resource/opentelekomcloud_cce_node_v3`: Make `iptype`, `bandwidth_charge_mode`, `sharetype` settable ([#681](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/681)) +* `resource/opentelekomcloud_cce_node_v3`: Fix not existing flavor in documentation ([#684](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/684)) +* `resource/opentelekomcloud_ecs_instance_v1`: Fix not existing flavor in documentation ([#689](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/689)) + + +## 1.21.2 (October 29, 2020) + +BUG FIXES: +* `resource/opentelekomcloud_cce_cluster_v3`: Suppress schema diff in CCE version ([#666](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/666)) +* `resource/opentelekomcloud_cce_cluster_v3`: Increase delete timeout to 30m ([#674](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/674)) +* `resource/opentelekomcloud_compute_secgroup_v2`: Fix delete group if it's used ([#677](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/677)) +* `resource/opentelekomcloud_networking_secgroup_v2`: Fix delete group if it's used ([#676](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/676)) + +FEATURES: +* **New Data Source:** `opentelekomcloud_identity_auth_scope_v3` ([#669](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/669)) + +ENHANCEMENTS: +* `resource/opentelekomcloud_identity_user_v3`: Add email field to schema ([668](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/668)) + + +## 1.21.1 (October 23, 2020) + +BUG FIXES: +* `resource/opentelekomcloud_rds_instance_v3`: Fix not assigning public IP ([#658](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/658)) + +ENHANCEMENTS: +* `resource/opentelekomcloud_blockstorage_volume_v2`: Allow expanding volume without re-creation ([#661](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/661)) + +## 1.21.0 (October 15, 2020) + +ENHANCEMENTS: +* Migrate to `opentelekomcloud/gophertelekomcloud` from `huaweicloud/golangsdk`: ([#641](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/641)) + + +## 1.20.3 (October 14, 2020) + +BUG FIXES: +* `resource/opentelekomcloud_dcs_instance_v1`: Fix issues with DCS schema ([#643](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/643)) +* `data_source/opentelekomcloud_role_v3`: Update role list ([#654](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/654)) + + +## 1.20.2 (September 30, 2020) + +BUG FIXES: +* `resource/opentelekomcloud_lb_monitor_v2`: Fix `UDP-CONNECT` in type validation ([#634](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/634)) +* `resource/opentelekomcloud_cce_node_v3`: Handle 404 during reading tags for CCE node ([#635](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/635)) +* `resource/opentelekomcloud_obs_bucket`: Fix not creating OBS bucket with `security_token` ([#636](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/636)) + +ENHANCEMENTS: +* `resource/opentelekomcloud_cce_node_v3`: Add k8sTags to CCE node resource ([#621](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/621)) +* `resource/opentelekomcloud_csbs_backup_policy_v1`: Add `created_at` attribute ([#628](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/628)) +* `provider/opentelekomcloud`: Allow setting security token by env variable ([#627](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/627)) + + +## 1.20.1 (September 24, 2020) + +BUG FIXES: +* `resource/opentelekomcloud_cce_node_v3`: `public_key` attribute not setting ([#616](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/616)) + +FEATURES: +* **New Data Source:** `opentelekomcloud_dns_zone_v2` ([#620](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/620)) + +ENHANCEMENTS: +* `resource/opentelekomcloud_cce_node_v3`: Only `bandwidth_charge_mode` is now required for EIP creation ([#616](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/616)) + +## 1.20.0 (September 16, 2020) + +BUG FIXES: +* `data_source/opentelekomcloud_cce_cluster_v3`: Update outdated docs ([#614](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/614)) +* `resource/opentelekomcloud_cce_cluster_v3`: Update outdated docs ([#614](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/614)) +* `resource/opentelekomcloud_lb_listener_v2`: Update outdated docs ([#615](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/615)) + +FEATURES: +* **New Data Source:** `opentelekomcloud_identity_credential_v3` ([#613](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/613)) +* **New Resource:** `opentelekomcloud_identity_credential_v3` ([#613](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/613)) + +## 1.19.5 (September 4, 2020) + +BUG FIXES: +* `resource/opentelekomcloud_blockstorage_volume_v2`: Ignore metadata.policy changes in blockstorage_volume_v2 ([#604](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/604)) +* `resource/opentelekomcloud_smn_subscription_v2`: Fix r/smn_subscription_v2 and d/cts_tracker_v1 ([608](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/608)) +* `data_source/opentelekomcloud_cts_tracker_v1`: Fix r/smn_subscription_v2 and d/cts_tracker_v1 ([608](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/608)) + +FEATURES: +* **New Data Source:** `opentelekomcloud_vpnaas_service_v2` ([#605](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/605)) + +## 1.19.4 (September 1, 2020) + +BUG FIXES: +* **Multiple Resources:** Documentation fixes after migration ([#599](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/599)) + +## 1.19.3 (September 1, 2020) + +FEATURES: +* **Removed Resource:** `opentelekomcloud_maas_task_v1` ([#585](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/585)) + +ENHANCEMENTS: +* `resource/opentelekomcloud_compute_instance_v2`: Fix ECS tags-tag confusion ([#586](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/586)) +* `resource/opentelekomcloud_rds_instance_v3`: Add setting public IP for RDS instance v3 ([#596](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/596)) + +## 1.19.2 (August 24, 2020) + +ENHANCEMENTS: +* `data_source/opentelekomcloud_cce_cluster_v3`: Add certificates to cce_cluster_v3 data source ([#581](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/581)) +* `resource/opentelekomcloud_vpc_eip_v1`: Add `tags` support ([#570](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/570)) + +## 1.19.1 (August 21, 2020) + +BUG FIXES: +* `resource/opentelekomcloud_rds_instance_v3`: Fix HTTP 415 when retrieving tags after nodes role switch ([#564](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/564)) +* `resource/opentelekomcloud_cce_cluster_v3`: Add setting `cluster_version` on resource read ([#568](https://github.com/opentelekomcloud/terraform-provider-opentelekomcloud/pull/568)) + +## 1.19.0 (August 08, 2020) + +ENHANCEMENTS: +* `resource/opentelekomcloud_as_group_v1`: Add health_periodic_audit_grace_period to as group ([#545](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/545)) +* `resource/opentelekomcloud_smn_topic_v2`: Add project_name to SMN topic ([#554](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/554)) +* `resource/opentelekomcloud_vpc_eip_v1`: Update documentation ([#550](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/550)) +* `resource/opentelekomcloud_cts_tracker_v1`: Add project_name to CTS tracker ([#555](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/555)) +* `resource/opentelekomcloud_compute_instance_v2`: Improve getting instance NICs ([#559](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/559)) + +BUG FIXES: +* `resource/opentelekomcloud_rds_instance_v3`: Fix documentation ([#549](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/549)) + +FEATURES: +* **New Data Source:** `compute_availability_zones_v2`([#558](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/558)) + +## 1.18.1 (July 10, 2020) + +ENHANCEMENTS: + +* `resource/opentelekomcloud_as_group_v1`: Add `current_instance_number` and `status` attributes ([#522](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/522)) +* `provider/opentelekomcloud`: Add `max_retries` argument to the provider's options ([#537](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/537)) + +BUG FIXES: + +* `resource/rds_instance_v3`: Fix argument description ([#525](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/525)) +* `resource/cce_cluster_v3`: Update subnet_id description of CCE cluster ([#535](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/535)) + +## 1.18.0 (June 16, 2020) + +ENHANCEMENTS: + +* `opentelekomcloud_vpc_v1`: Add tag support ([#508](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/508)) +* `opentelekomcloud_vpc_subnet_v1`: Add tag support ([#508](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/508)) +* `opentelekomcloud_dns_zone_v2`: Add tag support ([#510](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/510)) +* `opentelekomcloud_dns_recordset_v2`: Add tag support ([#514](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/514)) +* `opentelekomcloud_cce_node_v3`: Add tag support ([#513](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/513)) + + +BUG FIXES: + +* `opentelekomcloud_waf_domain_v1`: Fix waf_domain_v1 using old waf API ([#496](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/496)) +* `opentelekomcloud_dcs_instance_v1`, `opentelekomcloud_dms_instance_v1`, `opentelekomcloud_rds_instance_v3`: Set sensitive flag for password parameter ([#504](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/504)) +* `opentelekomcloud_cts_tracker_v1`: Fix handling of missing tracker ([#518](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/518)) + +## 1.17.1 (May 07, 2020) + +BUG FIXES: + +* `resource/opentelekomcloud_vpc_subnet_v1`: Fix VPC subnet delete issue ([#492](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/492)) + +## 1.17.0 (April 26, 2020) + +FEATURES: + +* **New Data Source:** `opentelekomcloud_dms_az_v1` ([#485](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/485)) +* **New Data Source:** `opentelekomcloud_dms_product_v1` ([#485](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/485)) +* **New Data Source:** `opentelekomcloud_dms_maintainwindow_v1` ([#485](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/485)) +* **New Resource:** `opentelekomcloud_obs_bucket` ([#467](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/467)) +* **New Resource:** `opentelekomcloud_obs_bucket_object` ([#467](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/467)) +* **New Resource:** `opentelekomcloud_dns_ptrrecord_v2` ([#480](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/480)) +* **New Resource:** `opentelekomcloud_dms_instance_v1` ([#485](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/485)) + +ENHANCEMENTS: + +* `resource/opentelekomcloud_ces_alarmrule`: Add alarm_level argument support ([#481](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/481)) +* `resource/opentelekomcloud_vbs_backup_policy_v2`: Add associating volumes support ([#478](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/478)) +* `resource/opentelekomcloud_rds_instance_v3`: Clean up ID if the intance couldn't be found ([#479](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/479)) +* `resource/opentelekomcloud_vbs_backup_policy_v3`: Add week_frequency and rentention_day support ([#489](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/489)) + +BUG FIXES: + +* `resource/opentelekomcloud_fw_rule_v2`: Fix removing assigned FW rule ([#462](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/462)) +* `resource/opentelekomcloud_dns_recordset_v2`: Fix updating only TTL value issue ([#465](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/465)) +* `resource/opentelekomcloud_vbs_backup_policy_v2`: Fix missing required `frequency` value ([#469](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/469)) +* `resource/opentelekomcloud_mrs_cluster_v1`: Update core nodes number validate func ([#477](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/477)) + +## 1.16.0 (March 06, 2020) + +FEATURES: + +* **New Resource:** `opentelekomcloud_nat_dnat_rule_v2` ([#447](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/447)) + +ENHANCEMENTS: + +* `resource/opentelekomcloud_cce_node_v3`: Add preinstall/postinstall script support ([#452](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/452)) +* `resource/opentelekomcloud_mrs_cluster_v1`: Add tags parameter support ([#453](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/453)) +* `resource/opentelekomcloud_mrs_cluster_v1`: Add bootstrap scripts parameter support ([#455](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/455)) + +BUG FIXES: + +* `resource/opentelekomcloud_elb_loadbalancer`: Increase bandwidth range to 1000 ([#459](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/459)) +* `data_source/opentelekomcloud_vpc_subnet_v1`: Fix vpc_subnet_v1 retrieval by id ([#460](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/460)) + +## 1.15.1 (February 11, 2020) + +BUG FIXES: + +* `resource/opentelekomcloud_rds_instance_v3`: Fix RDS instance node id issue ([#450](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/450)) + +## 1.15.0 (January 16, 2020) + +FEATURES: + +* **New Resource:** `opentelekomcloud_logtank_group_v2` ([#435](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/435)) +* **New Resource:** `opentelekomcloud_logtank_topic_v2` ([#435](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/435)) +* **New Resource:** `opentelekomcloud_lb_certificate_v2` ([#437](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/437)) +* **New Resource:** `opentelekomcloud_vpc_flow_log_v1` ([#439](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/439)) +* **New Resource:** `opentelekomcloud_lb_l7policy_v2` ([#441](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/441)) +* **New Resource:** `opentelekomcloud_lb_l7rule_v2` ([#441](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/441)) + +ENHANCEMENTS: + +* `resource/opentelekomcloud_networking_secgroup_v2`: Add description to secgroup_rule_v2 ([#432](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/432)) +* `resource/opentelekomcloud_blockstorage_volume_v2`: Update list of values for volume type ([#433](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/433)) +* Add clouds.yaml support ([#434](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/434)) + +## 1.14.0 (December 02, 2019) + +FEATURES: + +* **New Data Source:** `opentelekomcloud_cce_node_ids_v3` ([#411](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/411)) +* **New Resource:** `opentelekomcloud_vpnaas_endpoint_group_v2` ([#412](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/412)) +* **New Resource:** `opentelekomcloud_vpnaas_ike_policy_v2` ([#412](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/412)) +* **New Resource:** `opentelekomcloud_vpnaas_ipsec_policy_v2` ([#412](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/412)) +* **New Resource:** `opentelekomcloud_vpnaas_service_v2` ([#412](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/412)) +* **New Resource:** `opentelekomcloud_vpnaas_site_connection_v2` ([#412](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/412)) + +ENHANCEMENTS: + +* `resource/opentelekomcloud_evs_volume_v3`: Add kms_id parameter support ([#403](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/403)) +* `resource/opentelekomcloud_cce_cluster_v3`: Add eip update support ([#410](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/410)) +* `resource/opentelekomcloud_compute_instance_v2`: Log fault message when build compute instance failed ([#413](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/413)) +* `resource/opentelekomcloud_evs_volume_v3`: Add device_type parameter support ([#419](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/419)) +* `resource/opentelekomcloud_evs_volume_v3`: Add wwn attribute support ([#420](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/420)) + +BUG FIXES: + +* `resource/opentelekomcloud_cce_node_v3`: Fix cce node update issue ([#405](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/405)) +* `resource/opentelekomcloud_dcs_instance_v1`: Fix ip/port attributes issue ([#408](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/408)) +* `resource/opentelekomcloud_mrs_cluster_v1`: Fix MRS region issue ([#409](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/409)) +* `resource/opentelekomcloud_compute_bms_server_v2`: Fix BMS boot from volume issue ([#422](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/422)) + +## 1.13.1 (October 22, 2019) + +ENHANCEMENTS: + +* `resource/opentelekomcloud_cce_cluster_v3`: Add eip parameter support ([#400](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/400)) +* `resource/opentelekomcloud_compute_bms_server_v2`: Add tags parameter support ([#401](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/401)) + +## 1.13.0 (October 18, 2019) + +FEATURES: + +* **New Resource:** `opentelekomcloud_evs_volume_v3` ([#380](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/380)) +* **New Resource:** `opentelekomcloud_lb_whitelist_v2` ([#390](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/390)) +* **New Resource:** `opentelekomcloud_ims_image_v2` ([#391](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/391)) +* **New Resource:** `opentelekomcloud_ims_data_image_v2` ([#396](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/396)) + +ENHANCEMENTS: + +* `resource/opentelekomcloud_vpc_subnet_v1`: Add NTP server addresses support ([#369](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/369)) +* `resource/opentelekomcloud_rds_instance_v3`: Add tag support ([#373](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/373)) +* `resource/opentelekomcloud_rds_instance_v3`: Add flavor update support ([#377](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/377)) +* `resource/opentelekomcloud_rds_instance_v3`: Add volume resize support ([#378](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/378)) +* `resource/opentelekomcloud_waf_domain_v1`: Add policy_id parameter support ([#381](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/381)) +* `resource/opentelekomcloud_as_group_v1`: Add lbaas_listeners parameter support ([#385](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/385)) +* `resource/opentelekomcloud_as_configuration_v1`: Add kms_id parameter support ([#389](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/389)) + +BUG FIXES: + +* `resource/opentelekomcloud_rds_instance_v3`: Fix RDS backup_strategy parameter issue ([#367](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/367)) +* `data resource/opentelekomcloud_vpc_v1`: Fix id filter issue ([#379](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/379)) + +## 1.12.0 (August 30, 2019) + +FEATURES: + +* **New Resource:** `opentelekomcloud_ecs_instance_v1` ([#347](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/347)) + +ENHANCEMENTS: + +* `resource/opentelekomcloud_cce_cluster_v3`: Add CCE cluster certificates ([#349](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/349)) +* `resource/opentelekomcloud_cce_cluster_v3`: Add multi-az support for CCE cluster ([#350](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/350)) +Add detailed error message for 404 ([#352](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/352)) + +BUG FIXES: + +* `resource/opentelekomcloud_vpc_subnet_v1`: Fix dns_list type issue ([#351](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/351)) +* `resource/opentelekomcloud_cce_node_v3`: Fix data_volumes type issue ([#354](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/354)) +Fix common user ak/sk authentication issue with domain_name ([#362](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/362)) +* `resource/opentelekomcloud_rds_instance_v3`: Fix backup_strategy parameter issue ([#363](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/363)) + + +## 1.11.0 (August 01, 2019) + +FEATURES: + +* **New Data Source:** `opentelekomcloud_sdrs_domain_v1` ([#328](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/328)) +* **New Resource:** `opentelekomcloud_sdrs_protectiongroup_v1` ([#326](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/326)) + +ENHANCEMENTS: + +* `resource/opentelekomcloud_vpc_v1`: Add enable_shared_snat support ([#333](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/333)) +* `resource/opentelekomcloud_networking_floatingip_v2`: Add default value for floating_ip pool ([#335](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/335)) +* `resource/opentelekomcloud_blockstorage_volume_v2`: Add device_type argument support ([#338](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/338)) +* `resource/opentelekomcloud_blockstorage_volume_v2`: Add wwn attribute support ([#339](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/339)) + +BUG FIXES: + +* `resource/opentelekomcloud_sfs_file_system_v2`: Set availability_zone to Computed ([#330](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/330)) +* `resource/opentelekomcloud_rds_configuration_v3`: Fix RDS parametergroup acc test ([#331](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/331)) + +## 1.10.0 (July 01, 2019) + +FEATURES: + +* **New Resource:** `opentelekomcloud_waf_whiteblackip_rule_v1` ([#313](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/313)) +* **New Resource:** `opentelekomcloud_waf_datamasking_rule_v1` ([#315](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/315)) +* **New Resource:** `opentelekomcloud_waf_falsealarmmasking_rule_v1` ([#317](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/317)) +* **New Resource:** `opentelekomcloud_waf_ccattackprotection_rule_v1` ([#320](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/320)) +* **New Resource:** `opentelekomcloud_waf_preciseprotection_rule_v1` ([#322](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/322)) +* **New Resource:** `opentelekomcloud_waf_webtamperprotection_rule_v1` ([#324](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/324)) + +ENHANCEMENTS: + +* `resource/opentelekomcloud_mrs_cluster_v1`: Add master/core data volume support to MRS cluster ([#308](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/308)) +* `resource/opentelekomcloud_mrs_cluster_v1`: Add SAS volume type support to MRS cluster ([#310](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/310)) + +BUG FIXES: + +* `resource/opentelekomcloud_identity_project_v3`: Fix project creation issue ([#305](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/305)) + +## 1.9.0 (June 06, 2019) + +FEATURES: + +* **New Resource:** `opentelekomcloud_waf_certificate_v1` ([#285](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/285)) +* **New Resource:** `opentelekomcloud_waf_domain_v1` ([#286](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/286)) +* **New Resource:** `opentelekomcloud_waf_policy_v1` ([#293](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/293)) +* **New Resource:** `opentelekomcloud_rds_parametergroup_v3` ([#290](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/290)) + +ENHANCEMENTS: + +* The provider is now compatible with Terraform v0.12, while retaining compatibility with prior versions. +* `resource/opentelekomcloud_rds_instance_v3`: Add import support ([#274](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/274)) +* `resource/opentelekomcloud_cce_node_v3`: Add private_ip attribute ([#280](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/280)) + +BUG FIXES: + +* `resource/opentelekomcloud_cce_node_v3`: Fix eip_count issue ([#279](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/279)) + +## 1.8.0 (May 06, 2019) + +FEATURES: + +* **New Data Source:** `opentelekomcloud_networking_port_v2` ([#263](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/263)) +* **New Data Source:** `opentelekomcloud_rds_flavors_v3` ([#267](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/267)) +* **New Resource:** `opentelekomcloud_identity_role_v3` ([#213](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/213)) +* **New Resource:** `opentelekomcloud_css_cluster_v1` ([#255](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/255)) +* **New Resource:** `opentelekomcloud_rds_instance_v3` ([#267](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/267)) + +ENHANCEMENTS: + +* `resource/opentelekomcloud_dns_zone_v2`: Add support for attaching multi routers to dns zone ([#261](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/261)) +* `resource/opentelekomcloud_cce_cluster_v3`: Add authentication mode option support for CCE cluster ([#262](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/262)) +* `provider`: Add security_token option for OBS federated authentication ([#264](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/264)) +* `resource/opentelekomcloud_rds_instance_v1`: Add RDS tag support ([#268](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/268)) + +BUG FIXES: + +* `resource/opentelekomcloud_dms_group_v1`: Fix wrong error message ([#260](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/260)) +* `data_source/opentelekomcloud_cce_node_v3`: Fix node data source with node_id ([#265](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/265)) +* `resource/opentelekomcloud_cce_node_v3`: Remove Abnormal from cce node creating target state ([#266](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/266)) + +## 1.7.0 (March 20, 2019) + +NOTES/DEPRECATIONS: + +* provider: The `region`, `tenant_id`, `domain_id`, `user_id` arguments have been deprecated and `tenant_name`, `domain_name` changed to be `required`. Please update your configurations as it might be removed in the future releases. + +FEATURES: + +* **New Resource:** `opentelekomcloud_identity_agency_v3` ([#232](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/232)) + +ENHANCEMENTS: + +* `provider`: Remove region, tenant_id, domain_id, user_id parameters ([#230](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/230)) +* `resource/opentelekomcloud_compute_instance_v2`: Add support of security_groups update ([#234](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/234)) +* `resource/opentelekomcloud_nat_snat_rule_v2`: Add `cidr` and `source_type` parameters support ([#237](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/237)) + +BUG FIXES: + +* `resource/opentelekomcloud_identity_role_assignment_v3`: Fix attributes set issue ([#226](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/226)) +* `resource/opentelekomcloud_csbs_backup_policy_v1`: Fix csbs policies parameters issue ([#244](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/244)) + +## 1.6.1 (February 18, 2019) + +BUG FIXES: + +* `provider authentication`: Fix authentication with tenant ([#216](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/216)) +* `resource/opentelekomcloud_dcs_instance_v1`: Update `password` and `engine_version` of dcs instance from Option to Required ([#217](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/217)) +* `resource/opentelekomcloud_smn_topic_v2`: Fix some smn topic parameters issue ([#218](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/218)) + +## 1.6.0 (February 01, 2019) + +FEATURES: + +* **New Data Source:** `opentelekomcloud_identity_role_v3` ([#167](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/167)) +* **New Data Source:** `opentelekomcloud_identity_project_v3` ([#167](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/167)) +* **New Data Source:** `opentelekomcloud_identity_user_v3` ([#167](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/167)) +* **New Data Source:** `opentelekomcloud_identity_group_v3` ([#167](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/167)) +* **New Resource:** `opentelekomcloud_identity_project_v3` ([#167](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/167)) +* **New Resource:** `opentelekomcloud_identity_role_v3` ([#167](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/167)) +* **New Resource:** `opentelekomcloud_identity_role_assignment_v3` ([#167](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/167)) +* **New Resource:** `opentelekomcloud_identity_user_v3` ([#167](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/167)) +* **New Resource:** `opentelekomcloud_identity_group_v3` ([#167](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/167)) +* **New Resource:** `opentelekomcloud_identity_group_membership_v3` ([#167](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/167)) + +BUG FIXES: + +* `resource/opentelekomcloud_rts_stack_v1`: Re-sign for 302 redirect in ak/sk scenario ([#204](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/204)) +* `resource/opentelekomcloud_elb_listener`: Fix elb listener update error for backend_port ([#209](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/209)) + +## 1.5.2 (January 11, 2019) + +BUG FIXES: + +* `resource/opentelekomcloud_compute_instance_v2`: Fix instance tag update error ([#178](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/178)) +* `resource/opentelekomcloud_dns_recordset_v2`: Fix dns records update error ([#179](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/179)) +* `resource/opentelekomcloud_dns_recordset_v2`: Fix dns entries re-sort issue ([#185](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/185)) + +## 1.5.1 (January 08, 2019) + +BUG FIXES: + +* Fix ak/sk authentication issue ([#176](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/176)) + +## 1.5.0 (January 07, 2019) + +FEATURES: + +* **New Data Source:** `opentelekomcloud_dcs_az_v1` ([#154](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/154)) +* **New Data Source:** `opentelekomcloud_dcs_maintainwindow_v1` ([#154](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/154)) +* **New Data Source:** `opentelekomcloud_dcs_product_v1` ([#154](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/154)) +* **New Resource:** `opentelekomcloud_networking_floatingip_associate_v2` ([#153](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/153)) +* **New Resource:** `opentelekomcloud_dcs_instance_v1` ([#154](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/154)) + +BUG FIXES: + +* `resource/opentelekomcloud_vpc_subnet_v1`: Remove UNKNOWN status to avoid error ([#158](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/158)) +* `resource/opentelekomcloud_rds_instance_v1`: Suppress rds name change ([#161](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/161)) +* `resource/opentelekomcloud_kms_key_v1`: Add default value of pending_days ([#163](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/163)) +* `all resources`: Expose real error message of BadRequest error ([#164](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/164)) +* `resource/opentelekomcloud_sfs_file_system_v2`: Suppress sfs system metadata ([#168](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/168)) + +ENHANCEMENTS: + +* Add AKSK authentication support ([#157](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/157)) +* `data_source/opentelekomcloud_images_image_v2`: Add properties filter support for images data source ([#165](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/165)) +* `resource/opentelekomcloud_compute_instance_v2`: Add key/value tag support ([#169](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/169)) +* `data_source/opentelekomcloud_vpc_subnet_v1`: Sort vpc subnet ids by network ip availabilities ([#171](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/171)) + +## 1.4.0 (December 10, 2018) + +FEATURES: + +* **New Data Source:** `opentelekomcloud_cts_tracker_v1` ([#135](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/135)) +* **New Data Source:** `opentelekomcloud_antiddos_v1` ([#138](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/138)) +* **New Data Source:** `opentelekomcloud_cce_node_v3` ([#140](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/140)) +* **New Data Source:** `opentelekomcloud_cce_cluster_v3` ([#140](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/140)) +* **New Resource:** `opentelekomcloud_compute_bms_server_v2` ([#132](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/132)) +* **New Resource:** `opentelekomcloud_cts_tracker_v1` ([#135](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/135)) +* **New Resource:** `opentelekomcloud_antiddos_v1` ([#138](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/138)) +* **New Resource:** `opentelekomcloud_cce_node_v3` ([#140](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/140)) +* **New Resource:** `opentelekomcloud_cce_cluster_v3` ([#140](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/140)) +* **New Resource:** `opentelekomcloud_maas_task_v1` ([#142](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/142)) + +## 1.3.0 (November 05, 2018) + +FEATURES: + +* **New Data Source:** `opentelekomcloud_vbs_backup_policy_v2` ([#121](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/121)) +* **New Data Source:** `opentelekomcloud_vbs_backup_v2` ([#121](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/121)) +* **New Resource:** `opentelekomcloud_vbs_backup_policy_v2` ([#121](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/121)) +* **New Resource:** `opentelekomcloud_vbs_backup_v2` ([#121](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/121)) +* **New Resource:** `opentelekomcloud_vbs_backup_share_v2` ([#121](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/121)) +* **New Resource:** `opentelekomcloud_mrs_cluster_v1` ([#126](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/126)) +* **New Resource:** `opentelekomcloud_mrs_job_v1` ([#126](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/126)) + +BUG FIXES: + +* `resource/opentelekomcloud_elb_loadbalancer`: Fix ELB client error ([#129](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/129)) + +## 1.2.0 (October 01, 2018) + +FEATURES: + +* **New Data Source:** `opentelekomcloud_deh_host_v1` ([#98](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/98)) +* **New Data Source:** `opentelekomcloud_deh_server_v1` ([#98](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/98)) +* **New Data Source:** `opentelekomcloud_rts_software_config_v1` ([#97](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/97)) +* **New Data Source:** `opentelekomcloud_rts_software_deployment_v1` ([#97](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/97)) +* **New Data Source:** `opentelekomcloud_vpc_v1` ([#87](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/87)) +* **New Data Source:** `opentelekomcloud_vpc_subnet_v1` ([#87](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/87)) +* **New Data Source:** `opentelekomcloud_vpc_subnet_ids_v1` ([#87](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/87)) +* **New Data Source:** `opentelekomcloud_vpc_route_v2` ([#87](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/87)) +* **New Data Source:** `opentelekomcloud_vpc_route_ids_v2` ([#87](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/87)) +* **New Data Source:** `opentelekomcloud_vpc_peering_connection_v2` ([#87](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/87)) +* **New Data Source:** `opentelekomcloud_compute_bms_nic_v2` ([#101](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/101)) +* **New Data Source:** `opentelekomcloud_compute_bms_keypairs_v2` ([#101](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/101)) +* **New Data Source:** `opentelekomcloud_compute_bms_flavors_v2` ([#101](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/101)) +* **New Data Source:** `opentelekomcloud_compute_bms_server_v2` ([#101](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/101)) +* **New Data Source:** `opentelekomcloud_rts_stack_v1` ([#95](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/95)) +* **New Data Source:** `opentelekomcloud_rts_stack_resource_v1` ([#95](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/95)) +* **New Data Source:** `opentelekomcloud_sfs_file_system_v2` ([#92](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/92)) +* **New Data Source:** `opentelekomcloud_csbs_backup_v1` ([#117](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/117)) +* **New Data Source:** `opentelekomcloud_csbs_backup_policy_v1` ([#117](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/117)) +* **New Resource:** `opentelekomcloud_deh_host_v1` ([#98](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/98)) +* **New Resource:** `opentelekomcloud_rts_software_config_v1` ([#97](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/97)) +* **New Resource:** `opentelekomcloud_rts_software_deployment_v1` ([#97](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/97)) +* **New Resource:** `opentelekomcloud_vpc_v1` ([#87](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/87)) +* **New Resource:** `opentelekomcloud_vpc_subnet_v1` ([#87](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/87)) +* **New Resource:** `opentelekomcloud_vpc_route_v2` ([#87](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/87)) +* **New Resource:** `opentelekomcloud_vpc_peering_connection_v2` ([#87](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/87)) +* **New Resource:** `opentelekomcloud_vpc_peering_connection_accepter_v2` ([#87](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/87)) +* **New Resource:** `opentelekomcloud_sfs_file_system_v2` ([#92](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/92)) +* **New Resource:** `opentelekomcloud_rts_stack_v1` ([#95](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/95)) +* **New Resource:** `opentelekomcloud_nat_gateway_v2` ([#107](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/107)) +* **New Resource:** `opentelekomcloud_nat_snat_rule_v2` ([#107](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/107)) +* **New Resource:** `opentelekomcloud_as_configuration_v1` ([#108](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/108)) +* **New Resource:** `opentelekomcloud_as_group_v1` ([#108](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/108)) +* **New Resource:** `opentelekomcloud_as_policy_v1` ([#108](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/108)) +* **New Resource:** `opentelekomcloud_dms_queue_v1` ([#114](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/114)) +* **New Resource:** `opentelekomcloud_dms_group_v1` ([#114](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/114)) +* **New Resource:** `opentelekomcloud_csbs_backup_v1` ([#117](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/117)) +* **New Resource:** `opentelekomcloud_csbs_backup_policy_v1` ([#117](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/117)) +* **New Resource:** `opentelekomcloud_networking_vip_v2` ([#119](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/119)) +* **New Resource:** `opentelekomcloud_networking_vip_associate_v2` ([#119](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/119)) + +## 1.1.0 (May 26, 2018) + +FEATURES: + +* **New Data Source:** `opentelekomcloud_kms_key_v1` ([#14](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/14)) +* **New Data Source:** `opentelekomcloud_kms_data_key_v1` ([#14](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/14)) +* **New Data Source:** `opentelekomcloud_rds_flavors_v1` ([#15](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/15)) +* **New Resource:** `opentelekomcloud_kms_key_v1` ([#14](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/14)) +* **New Resource:** `opentelekomcloud_rds_instance_v1` ([#15](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/15)) +* **New Resource:** `opentelekomcloud_vpc_eip_v1` ([#48](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/48)) + +ENHANCEMENTS: +* resource/opentelekomcloud_compute_instance_v2: Add `auto_recovery` argument ([#20](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/20)) +* resource/opentelekomcloud_networking_router_v2: Add `enable_snat` argument ([#53](https://github.com/terraform-providers/terraform-provider-opentelekomcloud/issues/53)) + +## 1.0.0 (December 08, 2017) + +Initial release of the OpenTelekom Cloud Provider diff --git a/Terraform_Files/.terraform/providers/registry.terraform.io/opentelekomcloud/opentelekomcloud/1.36.40/linux_amd64/LICENSE b/Terraform_Files/.terraform/providers/registry.terraform.io/opentelekomcloud/opentelekomcloud/1.36.40/linux_amd64/LICENSE new file mode 100644 index 0000000..a612ad9 --- /dev/null +++ b/Terraform_Files/.terraform/providers/registry.terraform.io/opentelekomcloud/opentelekomcloud/1.36.40/linux_amd64/LICENSE @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/Terraform_Files/.terraform/providers/registry.terraform.io/opentelekomcloud/opentelekomcloud/1.36.40/linux_amd64/README.md b/Terraform_Files/.terraform/providers/registry.terraform.io/opentelekomcloud/opentelekomcloud/1.36.40/linux_amd64/README.md new file mode 100644 index 0000000..74289df --- /dev/null +++ b/Terraform_Files/.terraform/providers/registry.terraform.io/opentelekomcloud/opentelekomcloud/1.36.40/linux_amd64/README.md @@ -0,0 +1,119 @@ + + Terraform logo + + +Terraform Open Telekom Cloud Provider +===================================== +[![Documentation](https://img.shields.io/badge/documentation-blue)](https://registry.terraform.io/providers/opentelekomcloud/opentelekomcloud/latest/docs) + +Quick Start +----------- +> When using the OpenTelekomCloud Provider with Terraform 0.13 and later, the recommended approach is to declare Provider versions in the root module Terraform configuration, using a `required_providers` block as per the following example. For previous versions, please continue to pin the version within the provider block. + +1. Add [opentelekomcloud/opentelekomcloud](https://registry.terraform.io/providers/opentelekomcloud/opentelekomcloud/latest/docs) to your `required_providers`. +```hcl +# provider.tf +terraform { + required_providers { + opentelekomcloud = { + source = "opentelekomcloud/opentelekomcloud" + version = ">= 1.23.2" + } + } +} +``` +2. Run `terraform init -upgrade` to download the provider. +3. Add the provider and supply your `tenant_name` and `domain_name` for minimum configuration. +```hcl +# provider.tf +provider "opentelekomcloud" { + # OpenTelekomCloud Provider Documentation: + # https://registry.terraform.io/providers/opentelekomcloud/opentelekomcloud/latest/docs + # domain_name = "..." + # tenant_name = "..." + # auth_url = "https://iam.eu-de.otc.t-systems.com/v3" + # user_name = "..." + # password = "..." +} +``` +5. [Authenticate](https://registry.terraform.io/providers/opentelekomcloud/opentelekomcloud/latest/docs#authentication) either by providing `user_name` and `password` in the previous file or setting them as environment variables. +```bash +# Linux +OS_USERNAME="" +OS_PASSWORD=" (known after apply) + ~ content_base64sha512 = "24vuA3s3ttXSRnjke8sg2EoJ8MhGnMJTOkJUJA7kI1WZ6c5JX7MsfASLn+qoojnS1W/U5egG5v8WvnvYzzq1kQ==" -> (known after apply) + ~ content_md5 = "a18c52b6d4d1d05b49cc549f5eedd2ad" -> (known after apply) + ~ content_sha1 = "ee9fa580dbfbc7a2d68baaa13ae256ab135a40de" -> (known after apply) + ~ content_sha256 = "b8498c51b6ab1a2748dad6a1f2e35ed0e742ede77e9428767388fb914a34a761" -> (known after apply) + ~ content_sha512 = "db8bee037b37b6d5d24678e47bcb20d84a09f0c8469cc2533a4254240ee4235599e9ce495fb32c7c048b9feaa8a239d2d56fd4e5e806e6ff16be7bd8cf3ab591" -> (known after apply) + ~ id = "ee9fa580dbfbc7a2d68baaa13ae256ab135a40de" -> (known after apply) + # (3 unchanged attributes hidden) + } + +Plan: 1 to add, 0 to change, 1 to destroy. + \ No newline at end of file diff --git a/Terraform_Files/assembly-routine b/Terraform_Files/assembly-routine new file mode 100644 index 0000000..e69de29 diff --git a/Terraform_Files/export.tf b/Terraform_Files/export.tf new file mode 100644 index 0000000..6b6c80d --- /dev/null +++ b/Terraform_Files/export.tf @@ -0,0 +1,11 @@ +# export.tf + +resource "local_sensitive_file" "peer_network" { + filename = "peer_network.yaml" + content = yamlencode(local.peer_network) + file_permission = "0640" +} + +output "peer_network_yaml_path" { + value = local_sensitive_file.peer_network.filename +} diff --git a/Terraform_Files/inventory.tf b/Terraform_Files/inventory.tf new file mode 100644 index 0000000..50d3eed --- /dev/null +++ b/Terraform_Files/inventory.tf @@ -0,0 +1,98 @@ +############################################ +# INVENTORY: OTC direct + RMS (guarded) +# Requires variables you said you'll add: +# - enable_rms (bool) +# - vpc_ids (list(string)) # fallback when RMS off +# - port_sample_size (number) # e.g., 500 +############################################ + +############################ +# Core OTC (non-RMS) lists +############################ + +# All ECS instances +data "opentelekomcloud_compute_instances_v2" "all" {} + +# All EVS volumes +data "opentelekomcloud_evs_volumes_v2" "all" {} + +# Ports: list IDs (locals.tf will pick a bounded slice for for_each below) +data "opentelekomcloud_networking_port_ids_v2" "all" {} + +# Hydrate a bounded set of ports by ID (uses local.port_ids_effective from locals.tf) +data "opentelekomcloud_networking_port_v2" "by_id" { + for_each = toset(local.port_ids_effective) + port_id = each.value +} + +############################################# +# RMS (Config) queries — fully guarded +# Minimal SELECTs to avoid schema surprises. +############################################# + +# VPCs (id, name) +data "opentelekomcloud_rms_advanced_query_v1" "vpcs" { + count = var.enable_rms ? 1 : 0 + expression = <<-SQL + SELECT id, name + FROM resources + WHERE provider='vpc' AND type='vpcs' + SQL +} + +# ELBs (id, name) +data "opentelekomcloud_rms_advanced_query_v1" "elbs" { + count = var.enable_rms ? 1 : 0 + expression = <<-SQL + SELECT id, name + FROM resources + WHERE provider='elb' AND type='loadbalancers' + SQL +} + +# NAT Gateways (id, name) +data "opentelekomcloud_rms_advanced_query_v1" "nats" { + count = var.enable_rms ? 1 : 0 + expression = <<-SQL + SELECT id, name + FROM resources + WHERE provider='nat' AND type='natGateways' + SQL +} + +############################################# +# Subnets per VPC (uses local.vpc_ids_effective) +############################################# + +data "opentelekomcloud_vpc_subnet_ids_v1" "by_vpc" { + for_each = toset(local.vpc_ids_effective) + vpc_id = each.value +} + +data "opentelekomcloud_vpc_subnet_v1" "subnet" { + for_each = toset(flatten([for x in data.opentelekomcloud_vpc_subnet_ids_v1.by_vpc : x.ids])) + id = each.value +} + +############################################# +# NAT rules hydrate (only when RMS is ON) +############################################# + +data "opentelekomcloud_nat_snat_rules_v2" "snat" { + for_each = var.enable_rms ? toset(local.nat_ids) : toset([]) + gateway_id = each.value +} + +data "opentelekomcloud_nat_dnat_rules_v2" "dnat" { + for_each = var.enable_rms ? toset(local.nat_ids) : toset([]) + gateway_id = each.value +} + +############################################# +# ELB detail hydrate (only when RMS is ON) +############################################# + +data "opentelekomcloud_lb_loadbalancer_v3" "lb" { + for_each = var.enable_rms ? local.elb_map : {} + id = each.key +} diff --git a/Terraform_Files/locals.tf b/Terraform_Files/locals.tf new file mode 100644 index 0000000..052bf49 --- /dev/null +++ b/Terraform_Files/locals.tf @@ -0,0 +1,200 @@ +############################################ +# LOCALS: safe access, shaping, final object +############################################ + +# 1) Safe pull of RMS results + effective IDs, driven by enable_rms +locals { + rms_vpcs_results = try(data.opentelekomcloud_rms_advanced_query_v1.vpcs[0].results, []) + rms_elbs_results = try(data.opentelekomcloud_rms_advanced_query_v1.elbs[0].results, []) + rms_nats_results = try(data.opentelekomcloud_rms_advanced_query_v1.nats[0].results, []) + + # Prefer RMS VPC IDs if present, else use provided var.vpc_ids + # c_ids_effective = length(local.rms_vpcs_results) > 0 ? [for v in local.rms_vpcs_results : v.id] : var.vpc_ids + vpc_ids_effective = var.vpc_ids + + # IDs/maps used to drive guarded hydrations + nat_ids = [for n in local.rms_nats_results : n.id] + elb_map = { for r in local.rms_elbs_results : r.id => r } +} + +# 2) Port sampling logic (keeps Neutron sane on large tenants) +locals { + all_port_ids = data.opentelekomcloud_networking_port_ids_v2.all.ids + port_ids_effective = length(local.all_port_ids) > var.port_sample_size ? slice(local.all_port_ids, 0, var.port_sample_size) : local.all_port_ids +} + +## Safer port ID to be handled. +locals { + ports = { + for p in values(data.opentelekomcloud_networking_port_v2.by_id) : + p.id => { + id = p.id + name = p.name + device_id = p.device_id + device_owner = p.device_owner + network_id = p.network_id + + # raw list from provider (may be list of strings OR list of objects) + fixed_ips_raw = try(p.all_fixed_ips, []) + + # canonical list of IP strings (works for both strings/objects) + fixed_ips = [ + for ip in try(p.all_fixed_ips, []) : + (can(ip.ip_address) ? ip.ip_address : ip) + ] + + # best-effort list of subnet IDs: + # - prefer provider’s all_fixed_ip_subnet_ids if it exists + # - else try to extract subnet_id from objects (strings produce nulls and are filtered out) + fixed_subnet_ids = try( + p.all_fixed_ip_subnet_ids, + compact([for ip in try(p.all_fixed_ips, []) : try(ip.subnet_id, null)]) + ) + + sg_ids = try(p.all_security_group_ids, []) + } + } + + + # Reverse index: ports by instance/device id + ports_by_device = { + for device_id in toset([for p in values(local.ports) : p.device_id]) : + device_id => [for p in values(local.ports) : p if p.device_id == device_id] + } +} + + +# 3) Normalize core resources (OTC direct + discovered subnets) +locals { + vpcs = length(local.rms_vpcs_results) > 0 ? { + for r in local.rms_vpcs_results : + r.id => { id = r.id, name = try(r.name, null) } + } : { + for vpc_id in var.vpc_ids : + vpc_id => { id = vpc_id, name = null } + } + + subnets = { + for s in values(data.opentelekomcloud_vpc_subnet_v1.subnet) : + s.id => { id = s.id, name = s.name, cidr = s.cidr, vpc_id = s.vpc_id } + } + + instances = { + for i in data.opentelekomcloud_compute_instances_v2.all.instances : + i.id => { + id = i.id + name = i.name + status = i.status + az = i.availability_zone + sgs = try(i.security_groups_ids, []) + } + } + + # ports = { + # for p in values(data.opentelekomcloud_networking_port_v2.by_id) : + # p.id => { + # id = p.id + # name = p.name + # device_id = p.device_id + # device_owner = p.device_owner + # network_id = p.network_id + # fixed_ips = p.all_fixed_ips # [{ ip_address, subnet_id }] + # sg_ids = try(p.all_security_group_ids, []) + # } + # } + + # Reverse index: ports by instance/device id + # ports_by_device = { + # for device_id in toset([for p in values(local.ports) : p.device_id]) : + # device_id => [for p in values(local.ports) : p if p.device_id == device_id] + # } + + # Volumes grouped per instance (attachment.server_id) + vols_by_instance = { + for iid in keys(local.instances) : + iid => [ + for v in data.opentelekomcloud_evs_volumes_v2.all.volumes : + { + id = v.id + name = v.name + sizeGB = v.size + status = v.status + type = v.volume_type + } + if length([for a in v.attachments : a if a.server_id == iid]) > 0 + ] + } +} + +# 4) NATs / ELBs (empty when RMS is off) +locals { + nats = [ + for n in local.rms_nats_results : { + id = n.id + name = try(n.name, null) + snat = try(data.opentelekomcloud_nat_snat_rules_v2.snat[n.id].rules, []) + dnat = try(data.opentelekomcloud_nat_dnat_rules_v2.dnat[n.id].rules, []) + } + ] + + elbs = [ + for id, lb in data.opentelekomcloud_lb_loadbalancer_v3.lb : { + id = id + name = null + vip_address = lb.vip_address + router_id = lb.router_id + network_ids = lb.network_ids + azs = lb.availability_zones + } + ] +} + +# 5) VMs grouped under each subnet, including NICs and volumes +locals { + vms_by_subnet = { + for sid, _ in local.subnets : + sid => [ + for iid, inst in local.instances : merge(inst, { + nics = [ + for port in lookup(local.ports_by_device, iid, []) : { + port_id = port.id + ips = port.fixed_ips + sg_ids = port.sg_ids + } + #if length([for ip in port.fixed_ips : ip if ip.subnet_id == sid]) > 0 + ] + volumes = lookup(local.vols_by_instance, iid, []) + }) + # if length([ + # for port in lookup(local.ports_by_device, iid, []) : + # 1 if length([for ip in port.fixed_ips : ip if ip.subnet_id == sid]) > 0 + # ]) > 0 + ] + } +} + +# 6) Final nested object ready for export +locals { + peer_network = { + Peer_Network = { + vpcs = [ + for vpc_id, v in local.vpcs : { + id = v.id + label = v.name + subnets = [ + for s in [for x in values(local.subnets) : x if x.vpc_id == vpc_id] : { + id = s.id + label = s.name + cidr = s.cidr + vms = lookup(local.vms_by_subnet, s.id, []) + containers = [] + } + ] + } + ] + nats = local.nats + load_balancers = local.elbs + backups = {} # add guarded CBR later if needed + } + } +} diff --git a/Terraform_Files/main.tf b/Terraform_Files/main.tf new file mode 100644 index 0000000..747829d --- /dev/null +++ b/Terraform_Files/main.tf @@ -0,0 +1,82 @@ + +# ### Grab the data fro OTC +# ## + + +# data "opentelekomcloud_vpc_subnet_ids_v1" "subnet_ids" { +# vpc_id = var.vpc_id +# } + +# data "opentelekomcloud_vpc_subnet_v1" "subnet" { +# for_each = data.opentelekomcloud_vpc_subnet_ids_v1.subnet_ids.ids +# id = each.value +# } + +# # output "subnet_cidr_blocks" { +# # value = [for s in data.opentelekomcloud_vpc_subnet_v1.subnet : s.cidr] +# # } + + +# # Get current region and project info +# data "opentelekomcloud_identity_project_v3" "current" {} + +# # Simple approach - discover resources without complex for_each loops +# # VPC data source (single VPC query - you may need to specify filters) +# data "opentelekomcloud_vpc_v1" "default" { +# # You can add filters here if needed +# # name = "default" +# } + +# data "opentelekomcloud_evs_volumes_v2" "all" {} + +# # Compute instances data source +# data "opentelekomcloud_compute_instances_v2" "all" {} + +# # Security Groups +# data "opentelekomcloud_networking_secgroup_v2" "all" {} + +# # Available flavors +# data "opentelekomcloud_compute_flavor_v2" "all" {} + +# # Available images +# data "opentelekomcloud_images_image_v2" "latest" { +# most_recent = true +# } + + + +# # # Get current region and project info +# # data "opentelekomcloud_identity_project_v3" "current" {} + + +# # # ECS instances (list) +# # data "opentelekomcloud_compute_instances_v2" "all" {} + +# # # EVS volumes (list) +# # data "opentelekomcloud_evs_volumes_v2" "all" {} + + +# data "opentelekomcloud_vpc_subnet_ids_v1" "subnets" { +# for_each = toset(var.vpc_ids) +# vpc_id = each.value +# } + + +# # Subnets -> get IDs then hydrate details +# locals { +# all_subnet_ids = flatten([for d in data.opentelekomcloud_vpc_subnet_ids_v1.subnets : d.ids]) +# } + + +# data "opentelekomcloud_vpc_subnet_v1" "subnet" { +# for_each = toset(local.all_subnet_ids) +# id = each.value +# } + + +# # Ports -> get IDs then hydrate details +# data "opentelekomcloud_networking_port_ids_v2" "all" {} +# data "opentelekomcloud_networking_port_v2" "port" { +# for_each = toset(data.opentelekomcloud_networking_port_ids_v2.all.ids) +# port_id = each.value +# } \ No newline at end of file diff --git a/Terraform_Files/otc_discovery.sh b/Terraform_Files/otc_discovery.sh new file mode 100755 index 0000000..ee2fc17 --- /dev/null +++ b/Terraform_Files/otc_discovery.sh @@ -0,0 +1,258 @@ +#!/bin/bash +# otc_discovery.sh - Step-by-step discovery of OTC resources + +echo "=== OTC Resource Discovery Script ===" +echo "Account: OTC00000000001000122968" +echo "Date: $(date)" +echo + +# Function to test a single data source +test_data_source() { + local resource_type=$1 + local resource_name=$2 + + echo "Testing: $resource_type.$resource_name" + + # Create a minimal test configuration + cat > test_${resource_name}.tf << EOF +data "$resource_type" "$resource_name" {} + +output "test_${resource_name}" { + value = data.$resource_type.$resource_name +} +EOF + + # Test the configuration + if terraform validate > /dev/null 2>&1; then + echo "✅ $resource_type.$resource_name - Configuration valid" + + # Try to plan + if terraform plan -target=data.$resource_type.$resource_name > /dev/null 2>&1; then + echo "✅ $resource_type.$resource_name - Plan successful" + return 0 + else + echo "❌ $resource_type.$resource_name - Plan failed" + terraform plan -target=data.$resource_type.$resource_name 2>&1 | head -5 + return 1 + fi + else + echo "❌ $resource_type.$resource_name - Configuration invalid" + terraform validate 2>&1 | head -3 + return 1 + fi +} + +# Function to cleanup test files +cleanup() { + rm -f test_*.tf +} + +# Start testing +echo "🔍 Testing OTC data sources..." +echo + +# Test basic data sources one by one +declare -A data_sources=( + ["opentelekomcloud_identity_project_v3"]="current" + ["opentelekomcloud_vpc_v1"]="default" + ["opentelekomcloud_vpc_subnet_v1"]="default" + ["opentelekomcloud_compute_instances_v2"]="all" + ["opentelekomcloud_ecs_instances_v1"]="all" + ["opentelekomcloud_networking_secgroup_v2"]="all" + ["opentelekomcloud_compute_flavors_v2"]="all" + ["opentelekomcloud_images_image_v2"]="latest" + ["opentelekomcloud_compute_keypairs_v2"]="all" + ["opentelekomcloud_rds_instances_v3"]="all" + ["opentelekomcloud_lb_loadbalancers_v2"]="all" + ["opentelekomcloud_cce_clusters_v3"]="all" + ["opentelekomcloud_dns_zones_v2"]="all" + ["opentelekomcloud_obs_buckets"]="all" + ["opentelekomcloud_dcs_instances_v1"]="all" + ["opentelekomcloud_networking_network_v2"]="all" + ["opentelekomcloud_vpc_peering_connections_v2"]="all" + ["opentelekomcloud_vpc_eips_v1"]="all" +) + +working_sources=() +failed_sources=() + +for source in "${!data_sources[@]}"; do + name=${data_sources[$source]} + if test_data_source "$source" "$name"; then + working_sources+=("$source") + else + failed_sources+=("$source") + fi + echo +done + +# Generate working configuration +echo "=== GENERATING WORKING CONFIGURATION ===" +echo + +cat > working_main.tf << 'EOF' +# working_main.tf - Generated from successful data source tests +terraform { + required_version = ">= 1.0" + required_providers { + opentelekomcloud = { + source = "opentelekomcloud/opentelekomcloud" + version = "~> 1.36" + } + } +} + +provider "opentelekomcloud" { + access_key = var.access_key + secret_key = var.secret_key + tenant_name = var.tenant_name + region = var.region +} + +EOF + +echo "Adding working data sources to working_main.tf..." +for source in "${working_sources[@]}"; do + name=${data_sources[$source]} + echo "data \"$source\" \"$name\" {}" >> working_main.tf + + # Add specific configurations for certain data sources + case $source in + "opentelekomcloud_images_image_v2") + sed -i "s/data \"$source\" \"$name\" {}/data \"$source\" \"$name\" {\n most_recent = true\n}/" working_main.tf + ;; + esac + + echo >> working_main.tf +done + +# Add locals and outputs +cat >> working_main.tf << 'EOF' +locals { +EOF + +for source in "${working_sources[@]}"; do + name=${data_sources[$source]} + case $source in + *"instances"*) + echo " ${name}_list = try(data.$source.$name.instances, [])" >> working_main.tf + ;; + *"clusters"*) + echo " ${name}_list = try(data.$source.$name.clusters, [])" >> working_main.tf + ;; + *"zones"*) + echo " ${name}_list = try(data.$source.$name.zones, [])" >> working_main.tf + ;; + *"buckets"*) + echo " ${name}_list = try(data.$source.$name.buckets, [])" >> working_main.tf + ;; + *"security_groups"*) + echo " ${name}_list = try(data.$source.$name.security_groups, [])" >> working_main.tf + ;; + *"loadbalancers"*) + echo " ${name}_list = try(data.$source.$name.loadbalancers, [])" >> working_main.tf + ;; + *"networks"*) + echo " ${name}_list = try(data.$source.$name.networks, [])" >> working_main.tf + ;; + *"eips"*) + echo " ${name}_list = try(data.$source.$name.eips, [])" >> working_main.tf + ;; + *"peering_connections"*) + echo " ${name}_list = try(data.$source.$name.peering_connections, [])" >> working_main.tf + ;; + *) + echo " ${name}_data = try(data.$source.$name, null)" >> working_main.tf + ;; + esac +done + +cat >> working_main.tf << 'EOF' +} + +# Simple outputs for validation +output "discovery_summary" { + description = "Summary of discovered resources" + value = { +EOF + +for source in "${working_sources[@]}"; do + name=${data_sources[$source]} + case $source in + *"instances"*|*"clusters"*|*"zones"*|*"buckets"*|*"security_groups"*|*"loadbalancers"*|*"networks"*|*"eips"*|*"peering_connections"*) + echo " ${name}_count = length(local.${name}_list)" >> working_main.tf + ;; + *) + echo " ${name}_available = local.${name}_data != null" >> working_main.tf + ;; + esac +done + +cat >> working_main.tf << 'EOF' + } +} +EOF + +# Create comprehensive outputs +cat > working_outputs.tf << 'EOF' +# working_outputs.tf - Generated outputs for working data sources +EOF + +for source in "${working_sources[@]}"; do + name=${data_sources[$source]} + cat >> working_outputs.tf << EOF +output "${name}_details" { + description = "Details from $source" + value = try(data.$source.$name, null) +} + +EOF +done + +# Generate summary +echo "=== SUMMARY ===" +echo +echo "✅ Working data sources (${#working_sources[@]}):" +for source in "${working_sources[@]}"; do + echo " - $source" +done +echo + +echo "❌ Failed data sources (${#failed_sources[@]}):" +for source in "${failed_sources[@]}"; do + echo " - $source" +done +echo + +echo "=== FILES GENERATED ===" +echo "- working_main.tf: Configuration with only working data sources" +echo "- working_outputs.tf: Outputs for all working data sources" +echo + +echo "=== NEXT STEPS ===" +echo "1. Review working_main.tf and working_outputs.tf" +echo "2. Replace your main.tf with working_main.tf" +echo "3. Run: terraform plan" +echo "4. Run: terraform apply" +echo "5. Examine outputs to understand your infrastructure" +echo + +# Cleanup +cleanup + +echo "=== QUICK TEST ===" +echo "Testing the generated configuration..." +mv main.tf main.tf.backup +cp working_main.tf main.tf + +if terraform validate; then + echo "✅ Generated configuration is valid!" + echo "You can now run: terraform plan" +else + echo "❌ Generated configuration has issues" + echo "Restoring original main.tf" + mv main.tf.backup main.tf +fi + +echo +echo "Discovery complete!" \ No newline at end of file diff --git a/Terraform_Files/otc_validation.sh b/Terraform_Files/otc_validation.sh new file mode 100755 index 0000000..208e899 --- /dev/null +++ b/Terraform_Files/otc_validation.sh @@ -0,0 +1,164 @@ +#!/bin/bash +# otc_validation.sh - Validate OTC provider and discover resources + +echo "=== OTC Terraform Validation and Discovery ===" +echo "Account: OTC00000000001000122968" +echo "Date: $(date)" +echo + +# Check if terraform is initialized +if [ ! -d ".terraform" ]; then + echo "❌ Terraform not initialized. Run 'terraform init' first." + exit 1 +fi + +echo "✅ Terraform initialized" + +# Validate configuration +echo "🔍 Validating Terraform configuration..." +if terraform validate; then + echo "✅ Configuration is valid" +else + echo "❌ Configuration has errors" + exit 1 +fi + +# Check provider version +echo "🔍 Checking provider version..." +terraform version + +# Plan with detailed output +echo "🔍 Running terraform plan..." +terraform plan -out=tfplan + +# Show plan in JSON format +echo "🔍 Generating JSON plan..." +terraform show -json tfplan > tfplan.json + +# Extract data source information +echo "🔍 Analyzing available data sources..." +jq -r '.planned_values.root_module.resources[] | select(.mode == "data") | "\(.type): \(.name)"' tfplan.json | sort + +# Check for any errors in planned values +echo "🔍 Checking for planning errors..." +jq -r '.errors[]?' tfplan.json 2>/dev/null || echo "No errors found in plan" + +# Generate resource discovery report +echo "🔍 Generating resource discovery report..." +cat > resource_discovery.py << 'EOF' +#!/usr/bin/env python3 +import json +import sys + +def analyze_plan(plan_file): + with open(plan_file, 'r') as f: + plan = json.load(f) + + print("\n=== RESOURCE DISCOVERY REPORT ===\n") + + # Analyze planned values + resources = plan.get('planned_values', {}).get('root_module', {}).get('resources', []) + + data_sources = [r for r in resources if r.get('mode') == 'data'] + managed_resources = [r for r in resources if r.get('mode') == 'managed'] + + print(f"📊 Summary:") + print(f" Data Sources: {len(data_sources)}") + print(f" Managed Resources: {len(managed_resources)}") + print() + + # Group by type + data_by_type = {} + for ds in data_sources: + ds_type = ds.get('type') + if ds_type not in data_by_type: + data_by_type[ds_type] = [] + data_by_type[ds_type].append(ds) + + print("📋 Data Sources by Type:") + for ds_type, sources in data_by_type.items(): + print(f" {ds_type}: {len(sources)} instances") + for source in sources: + name = source.get('name', 'unnamed') + print(f" - {name}") + print() + + # Check for configuration issues + config = plan.get('configuration', {}) + if 'provider_config' in config: + print("⚙️ Provider Configuration:") + for provider, config_data in config['provider_config'].items(): + print(f" {provider}: {config_data.get('name', 'N/A')}") + + # Check for any resource changes + resource_changes = plan.get('resource_changes', []) + if resource_changes: + print(f"\n🔄 Planned Changes: {len(resource_changes)}") + for change in resource_changes: + action = change.get('change', {}).get('actions', []) + print(f" {change.get('type')}.{change.get('name')}: {action}") + +if __name__ == "__main__": + if len(sys.argv) != 2: + print("Usage: python3 resource_discovery.py ") + sys.exit(1) + + analyze_plan(sys.argv[1]) +EOF + +python3 resource_discovery.py tfplan.json + +# Generate corrected jq commands for the actual state +echo "🔍 Generating corrected jq commands..." +cat > jq_commands.sh << 'EOF' +#!/bin/bash +# Corrected jq commands for OTC state analysis + +echo "=== JQ Commands for OTC State Analysis ===" + +# After terraform apply, use these commands: + +# 1. Get all VPCs +echo "# Get all VPCs:" +echo "jq '.values.root_module.resources[] | select(.type==\"opentelekomcloud_vpc_v1\") | {name: .values.name, id: .values.id, cidr: .values.cidr}' terraform.tfstate" + +# 2. Get all subnets +echo "# Get all subnets:" +echo "jq '.values.root_module.resources[] | select(.type==\"opentelekomcloud_vpc_subnet_v1\") | {name: .values.name, id: .values.id, cidr: .values.cidr, vpc_id: .values.vpc_id}' terraform.tfstate" + +# 3. Get all compute instances +echo "# Get all compute instances:" +echo "jq '.values.root_module.resources[] | select(.type==\"opentelekomcloud_compute_instance_v2\") | {name: .values.name, id: .values.id, status: .values.status, flavor: .values.flavor_name}' terraform.tfstate" + +# 4. Get all security groups +echo "# Get all security groups:" +echo "jq '.values.root_module.resources[] | select(.type==\"opentelekomcloud_networking_secgroup_v2\") | {name: .values.name, id: .values.id, description: .values.description}' terraform.tfstate" + +# 5. Get resource counts by type +echo "# Get resource counts by type:" +echo "jq -r '.values.root_module.resources[].type' terraform.tfstate | sort | uniq -c" + +# 6. Generate import commands +echo "# Generate import commands:" +echo "jq -r '.values.root_module.resources[] | select(.type==\"opentelekomcloud_compute_instance_v2\") | \"terraform import opentelekomcloud_compute_instance_v2.\\(.values.name) \\(.values.id)\"' terraform.tfstate" + +EOF + +chmod +x jq_commands.sh +echo "✅ Generated jq_commands.sh for state analysis" + +# Clean up +rm -f tfplan + +echo +echo "=== NEXT STEPS ===" +echo "1. Review the resource discovery report above" +echo "2. If no errors, run: terraform apply" +echo "3. After apply, run: terraform show -json > terraform.tfstate" +echo "4. Use the generated jq_commands.sh to analyze your state" +echo "5. Use the import commands from outputs to import existing resources" +echo +echo "=== FILES CREATED ===" +echo "- resource_discovery.py: Python script for plan analysis" +echo "- jq_commands.sh: JQ commands for state analysis" +echo "- tfplan.json: Terraform plan in JSON format" \ No newline at end of file diff --git a/Terraform_Files/outputs.bak b/Terraform_Files/outputs.bak new file mode 100644 index 0000000..1785f92 --- /dev/null +++ b/Terraform_Files/outputs.bak @@ -0,0 +1,317 @@ +# outputs.tf - Fixed for actual OTC provider structure +output "account_info" { + description = "Current OTC account information" + value = { + project_id = local.project_id + project_name = local.project_name + region = var.region + tenant_name = var.tenant_name + account_name = var.user_name + } +} + +output "vpc_info" { + description = "VPC information" + value = { + id = try(data.opentelekomcloud_vpc_v1.default.id, null) + name = try(data.opentelekomcloud_vpc_v1.default.name, null) + cidr = try(data.opentelekomcloud_vpc_v1.default.cidr, null) + status = try(data.opentelekomcloud_vpc_v1.default.status, null) + } +} + +output "subnet_info" { + description = "Subnet information" + value = { + id = try(data.opentelekomcloud_vpc_subnet_v1.default.id, null) + name = try(data.opentelekomcloud_vpc_subnet_v1.default.name, null) + cidr = try(data.opentelekomcloud_vpc_subnet_v1.default.cidr, null) + vpc_id = try(data.opentelekomcloud_vpc_subnet_v1.default.vpc_id, null) + gateway_ip = try(data.opentelekomcloud_vpc_subnet_v1.default.gateway_ip, null) + availability_zone = try(data.opentelekomcloud_vpc_subnet_v1.default.availability_zone, null) + } +} + +output "compute_instances_summary" { + description = "Summary of compute instances" + value = { + count = length(local.compute_instances) + instances = { + for instance in local.compute_instances : + instance.id => { + name = instance.name + status = instance.status + flavor = try(instance.flavor_name, instance.flavor) + image = try(instance.image_name, instance.image) + availability_zone = try(instance.availability_zone, null) + networks = try(instance.network, instance.networks, []) + key_name = try(instance.key_name, null) + security_groups = try(instance.security_groups, []) + } + } + } +} + +output "ecs_instances_summary" { + description = "Summary of ECS instances" + value = { + count = length(local.ecs_instances) + instances = { + for instance in local.ecs_instances : + instance.id => { + name = instance.name + status = instance.status + flavor = try(instance.flavor, null) + image = try(instance.image, null) + availability_zone = try(instance.availability_zone, null) + vpc_id = try(instance.vpc_id, null) + subnet_id = try(instance.subnet_id, null) + } + } + } +} + +output "security_groups_summary" { + description = "Summary of security groups" + value = { + count = length(local.security_groups) + security_groups = { + for sg in local.security_groups : + sg.id => { + name = sg.name + description = try(sg.description, null) + tenant_id = try(sg.tenant_id, null) + } + } + } +} + +output "rds_summary" { + description = "Summary of RDS instances" + value = { + count = length(local.rds_instances) + instances = { + for rds in local.rds_instances : + rds.id => { + name = rds.name + status = rds.status + type = try(rds.type, null) + datastore = try(rds.datastore, null) + flavor = try(rds.flavor, null) + volume = try(rds.volume, null) + vpc_id = try(rds.vpc_id, null) + subnet_id = try(rds.subnet_id, null) + } + } + } +} + +output "loadbalancer_summary" { + description = "Summary of load balancers" + value = { + count = length(local.loadbalancers) + loadbalancers = { + for lb in local.loadbalancers : + lb.id => { + name = lb.name + description = try(lb.description, null) + vip_address = try(lb.vip_address, null) + vip_subnet_id = try(lb.vip_subnet_id, null) + operating_status = try(lb.operating_status, null) + provisioning_status = try(lb.provisioning_status, null) + } + } + } +} + +output "cce_summary" { + description = "Summary of CCE clusters" + value = { + count = length(local.cce_clusters) + clusters = { + for cluster in local.cce_clusters : + cluster.id => { + name = cluster.name + status = try(cluster.status, null) + cluster_type = try(cluster.cluster_type, null) + flavor = try(cluster.flavor, null) + vpc_id = try(cluster.vpc_id, null) + subnet_id = try(cluster.subnet_id, null) + } + } + } +} + +output "dns_summary" { + description = "Summary of DNS zones" + value = { + count = length(local.dns_zones) + zones = { + for zone in local.dns_zones : + zone.id => { + name = zone.name + zone_type = try(zone.zone_type, null) + ttl = try(zone.ttl, null) + record_num = try(zone.record_num, null) + status = try(zone.status, null) + } + } + } +} + +output "obs_summary" { + description = "Summary of OBS buckets" + value = { + count = length(local.obs_buckets) + buckets = { + for bucket in local.obs_buckets : + bucket.bucket => { + name = bucket.bucket + storage_class = try(bucket.storage_class, null) + acl = try(bucket.acl, null) + region = try(bucket.region, null) + } + } + } +} + +output "dcs_summary" { + description = "Summary of DCS instances" + value = { + count = length(local.dcs_instances) + instances = { + for dcs in local.dcs_instances : + dcs.id => { + name = dcs.name + status = try(dcs.status, null) + engine = try(dcs.engine, null) + engine_version = try(dcs.engine_version, null) + capacity = try(dcs.capacity, null) + vpc_id = try(dcs.vpc_id, null) + subnet_id = try(dcs.subnet_id, null) + } + } + } +} + +output "networks_summary" { + description = "Summary of networks" + value = { + count = length(local.networks) + networks = { + for network in local.networks : + network.id => { + name = network.name + status = try(network.status, null) + admin_state_up = try(network.admin_state_up, null) + shared = try(network.shared, null) + tenant_id = try(network.tenant_id, null) + } + } + } +} + +output "eips_summary" { + description = "Summary of Elastic IPs" + value = { + count = length(local.eips) + eips = { + for eip in local.eips : + eip.id => { + status = try(eip.status, null) + type = try(eip.type, null) + public_ip = try(eip.public_ip, null) + private_ip = try(eip.private_ip, null) + port_id = try(eip.port_id, null) + tenant_id = try(eip.tenant_id, null) + } + } + } +} + +output "peering_connections_summary" { + description = "Summary of VPC peering connections" + value = { + count = length(local.peering_connections) + connections = { + for conn in local.peering_connections : + conn.id => { + name = conn.name + status = try(conn.status, null) + vpc_id = try(conn.vpc_id, null) + peer_vpc_id = try(conn.peer_vpc_id, null) + peer_tenant_id = try(conn.peer_tenant_id, null) + } + } + } +} + +# Generate import commands based on discovered resources +output "import_commands" { + description = "Terraform import commands for existing resources" + value = { + vpc = try( + "terraform import opentelekomcloud_vpc_v1.default ${data.opentelekomcloud_vpc_v1.default.id}", + "# No VPC found" + ) + + subnet = try( + "terraform import opentelekomcloud_vpc_subnet_v1.default ${data.opentelekomcloud_vpc_subnet_v1.default.id}", + "# No subnet found" + ) + + compute_instances = [ + for instance in local.compute_instances : + "terraform import opentelekomcloud_compute_instance_v2.${replace(instance.name, "-", "_")} ${instance.id}" + ] + + ecs_instances = [ + for instance in local.ecs_instances : + "terraform import opentelekomcloud_ecs_instance_v1.${replace(instance.name, "-", "_")} ${instance.id}" + ] + + security_groups = [ + for sg in local.security_groups : + "terraform import opentelekomcloud_networking_secgroup_v2.${replace(sg.name, "-", "_")} ${sg.id}" + ] + + rds_instances = [ + for rds in local.rds_instances : + "terraform import opentelekomcloud_rds_instance_v3.${replace(rds.name, "-", "_")} ${rds.id}" + ] + } +} + +# Summary of all resources +output "resource_summary" { + description = "Summary of all discovered resources" + value = { + compute_instances = length(local.compute_instances) + ecs_instances = length(local.ecs_instances) + security_groups = length(local.security_groups) + rds_instances = length(local.rds_instances) + loadbalancers = length(local.loadbalancers) + cce_clusters = length(local.cce_clusters) + dns_zones = length(local.dns_zones) + obs_buckets = length(local.obs_buckets) + dcs_instances = length(local.dcs_instances) + networks = length(local.networks) + eips = length(local.eips) + peering_connections = length(local.peering_connections) + + total_resources = ( + length(local.compute_instances) + + length(local.ecs_instances) + + length(local.security_groups) + + length(local.rds_instances) + + length(local.loadbalancers) + + length(local.cce_clusters) + + length(local.dns_zones) + + length(local.obs_buckets) + + length(local.dcs_instances) + + length(local.networks) + + length(local.eips) + + length(local.peering_connections) + ) + } +} \ No newline at end of file diff --git a/Terraform_Files/outputs.tf b/Terraform_Files/outputs.tf new file mode 100644 index 0000000..d7845a4 --- /dev/null +++ b/Terraform_Files/outputs.tf @@ -0,0 +1,71 @@ +# outputs.tf + +locals { + ecs_raw = data.opentelekomcloud_compute_instances_v2.all.instances + evs_raw = data.opentelekomcloud_evs_volumes_v2.all.volumes + subnets_raw = [for s in values(data.opentelekomcloud_vpc_subnet_v1.subnet) : s] + + # Iterate the by_id map and build a clean list of port objects + ports_raw = [ + for _, p in data.opentelekomcloud_networking_port_v2.by_id : { + id = p.id + name = p.name + device_id = p.device_id + device_owner = p.device_owner + network_id = p.network_id + fixed_ips = p.all_fixed_ips + sg_ids = try(p.all_security_group_ids, []) + } + ] + + # (Optional) if you want a second “slimmed” list, you can just reuse ports_raw + ports_out = local.ports_raw + + # Subnets slimmed + subnets_out = [ + for s in local.subnets_raw : { + id = s.id + name = s.name + cidr = s.cidr + vpc_id = s.vpc_id + } + ] + + ecs = [ + for s in local.ecs_raw : { + id = s.id + name = s.name + status = s.status + az = s.availability_zone + flavor_id = s.flavor_id + networks = s.network + secgroups = s.security_groups_ids + } + ] + + evs = [ + for v in local.evs_raw : { + id = v.id + name = v.name + sizeGB = v.size + az = v.availability_zone + status = v.status + type = v.volume_type + attach = v.attachments + } + ] + + payload = { + generated_at = timestamp() + region = var.region + ecs = local.ecs + evs = local.evs + subnets = local.subnets_out + ports = local.ports_out + } +} + +output "inventory_yaml" { + value = yamlencode(local.payload) + sensitive = false +} diff --git a/Terraform_Files/peer_network.yaml b/Terraform_Files/peer_network.yaml new file mode 100644 index 0000000..9c6d702 --- /dev/null +++ b/Terraform_Files/peer_network.yaml @@ -0,0 +1,1028 @@ +"Peer_Network": + "backups": {} + "load_balancers": + - "azs": [] + "id": "575a658a-e02a-41cd-bf70-98c503d9785d" + "name": null + "network_ids": [] + "router_id": "8165c92f-f183-4e22-a1c2-9df880276a11" + "vip_address": "192.168.1.110" + - "azs": [] + "id": "df1e56c5-e776-48ad-8c8b-50a8fe9255fa" + "name": null + "network_ids": [] + "router_id": "700af767-115d-43b8-8886-a6a4a63d59ef" + "vip_address": "10.5.1.28" + - "azs": [] + "id": "f310bbe4-fb86-42e3-acc5-7a8ad5a81fe7" + "name": null + "network_ids": [] + "router_id": "10f8c808-f6bf-47a8-b3c5-5910bc691900" + "vip_address": "172.16.10.91" + "nats": + - "dnat": [] + "id": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2" + "name": "nat-prod-peer_beta" + "snat": + - "admin_state_up": true + "cidr": "" + "created_at": "2025-03-04 10:19:01.600845" + "floating_ip_address": "164.30.10.134" + "floating_ip_id": "a71733dd-8500-488c-b5e2-7f9b4a75e53e" + "gateway_id": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2" + "id": "9132597a-1761-477c-83f1-89678ee97762" + "project_id": "f9d69b5c90384a13a760b41c61a50dce" + "source_type": 0 + "status": "ACTIVE" + "subnet_id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f" + - "admin_state_up": true + "cidr": "" + "created_at": "2025-03-04 10:19:55.572092" + "floating_ip_address": "164.30.10.134" + "floating_ip_id": "a71733dd-8500-488c-b5e2-7f9b4a75e53e" + "gateway_id": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2" + "id": "f4bbc723-f330-445c-b851-ccc88d1c8058" + "project_id": "f9d69b5c90384a13a760b41c61a50dce" + "source_type": 0 + "status": "ACTIVE" + "subnet_id": "f347c51c-7f22-4a6c-800f-fd6d38686794" + - "dnat": [] + "id": "60139ab3-c529-4a32-b446-aaa12fa04d5a" + "name": "nat-peer_beta-testing" + "snat": + - "admin_state_up": true + "cidr": "" + "created_at": "2024-12-10 17:02:23.825522" + "floating_ip_address": "80.158.37.0" + "floating_ip_id": "8b4899b1-abe3-48f5-9c15-2e6ecc7f8b6f" + "gateway_id": "60139ab3-c529-4a32-b446-aaa12fa04d5a" + "id": "5a0dc961-0741-4a68-89ea-ec64453d6d08" + "project_id": "f9d69b5c90384a13a760b41c61a50dce" + "source_type": 0 + "status": "ACTIVE" + "subnet_id": "048d9e09-4c22-41a4-97f1-793efa67f865" + - "admin_state_up": true + "cidr": "" + "created_at": "2024-12-10 17:01:46.043060" + "floating_ip_address": "80.158.37.0" + "floating_ip_id": "8b4899b1-abe3-48f5-9c15-2e6ecc7f8b6f" + "gateway_id": "60139ab3-c529-4a32-b446-aaa12fa04d5a" + "id": "68d9d9fe-03b8-44f3-aa1f-d16f350c24eb" + "project_id": "f9d69b5c90384a13a760b41c61a50dce" + "source_type": 0 + "status": "ACTIVE" + "subnet_id": "090def60-f4da-434f-a374-78dc9817fb6e" + - "dnat": [] + "id": "fea334e5-551e-4e6f-873c-32016fb71755" + "name": "nat-peer_beta" + "snat": + - "admin_state_up": true + "cidr": "" + "created_at": "2024-10-03 13:41:42.960206" + "floating_ip_address": "80.158.111.42" + "floating_ip_id": "48b84a18-a145-46bf-a2bd-4d415602e3ac" + "gateway_id": "fea334e5-551e-4e6f-873c-32016fb71755" + "id": "20ac783e-9263-4c93-a1eb-f785e4165a30" + "project_id": "f9d69b5c90384a13a760b41c61a50dce" + "source_type": 0 + "status": "ACTIVE" + "subnet_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7" + - "admin_state_up": true + "cidr": "" + "created_at": "2024-10-03 13:41:25.209570" + "floating_ip_address": "80.158.111.42" + "floating_ip_id": "48b84a18-a145-46bf-a2bd-4d415602e3ac" + "gateway_id": "fea334e5-551e-4e6f-873c-32016fb71755" + "id": "2ab92e52-6113-462b-8177-904d4c136874" + "project_id": "f9d69b5c90384a13a760b41c61a50dce" + "source_type": 0 + "status": "ACTIVE" + "subnet_id": "b3523510-8a93-4ad9-b5d7-2178464f1f65" + "vpcs": + - "id": "10f8c808-f6bf-47a8-b3c5-5910bc691900" + "label": "vpc-peer-beta-testing" + "subnets": [] + - "id": "700af767-115d-43b8-8886-a6a4a63d59ef" + "label": "vpc-peer_beta" + "subnets": [] + - "id": "8165c92f-f183-4e22-a1c2-9df880276a11" + "label": "vpc-beta-prod" + "subnets": + - "cidr": "192.168.0.0/24" + "containers": [] + "id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f" + "label": "subnet-prod-mgt" + "vms": + - "az": "eu-de-03" + "id": "055f937b-0bb5-4905-b1b5-b053c161480a" + "name": "ecs-peer-jump" + "nics": + - "ips": + - "10.5.0.241" + "port_id": "1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1" + "sg_ids": + - "abe07485-dd5e-4cb2-a88a-3b10c699a4ee" + "sgs": + - "abe07485-dd5e-4cb2-a88a-3b10c699a4ee" + "status": "ACTIVE" + "volumes": + - "id": "b0f6fe3f-a6b4-4c5f-ac78-9485808082dc" + "name": "ecs-peer-jump-volume-0000" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "27dd9e47-59d9-493c-a867-9291c4480b63" + "name": "ecs-testing-websocket" + "nics": + - "ips": + - "172.16.10.184" + "port_id": "fe0f5779-8487-49c2-9492-8fd96aba1b60" + "sg_ids": + - "4088c618-6940-422f-87a2-7be4c26f3910" + "sgs": + - "4088c618-6940-422f-87a2-7be4c26f3910" + "status": "ACTIVE" + "volumes": + - "id": "d308d225-7d2f-4da5-a259-a2f53d483226" + "name": "ecs-testing-websocket" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "29ef279d-55d6-403f-98ab-63859b09cbaf" + "name": "ecs-prod-admin" + "nics": + - "ips": + - "192.168.1.193" + "port_id": "ec92dd6f-87c3-4d35-b79e-dc7be212657b" + "sg_ids": + - "c3701b8f-079c-4864-83a6-600c7204a415" + "sgs": + - "c3701b8f-079c-4864-83a6-600c7204a415" + "status": "ACTIVE" + "volumes": + - "id": "d01cdb06-e448-4941-a57f-b0616e331614" + "name": "ecs-prod-admin" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "349d2490-cfd9-4e2c-b4f0-a2c18efb0382" + "name": "ecs-prod-backend" + "nics": + - "ips": + - "192.168.1.183" + "port_id": "9df13dbb-7c34-45d1-9312-729e70492485" + "sg_ids": + - "a04d74f1-879a-4c55-8d07-033c8db98065" + "sgs": + - "a04d74f1-879a-4c55-8d07-033c8db98065" + "status": "ACTIVE" + "volumes": + - "id": "531cfed3-b43e-4eed-b291-404533f7b163" + "name": "ecs-prod-backend" + "sizeGB": 1000 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "444a37fc-6f04-4fb8-b55c-c3fdc3dba642" + "name": "ecs-frontend-web" + "nics": + - "ips": + - "10.5.1.150" + "port_id": "e2553fcb-1fcc-419a-bf20-fdf38910af54" + "sg_ids": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "sgs": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "status": "ACTIVE" + "volumes": + - "id": "ea32af0a-3824-4d28-b449-7457d0c2a0f5" + "name": "ecs-frontend-web" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "4c9df61a-0306-4036-b3e2-68ceff0fd121" + "name": "ecs-prod_web-frontend" + "nics": + - "ips": + - "192.168.1.94" + "port_id": "eb00aa68-66ed-47c5-afc7-fb3b65d5020c" + "sg_ids": + - "0a6ffdf8-9b73-4078-bb7f-80d77d8366c4" + "sgs": + - "0a6ffdf8-9b73-4078-bb7f-80d77d8366c4" + "status": "ACTIVE" + "volumes": + - "id": "91bf7962-5e90-4c33-976a-68e57267231b" + "name": "ecs-prod_web-frontend" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-02" + "id": "658e9751-4923-465f-8091-2c6257645a5b" + "name": "ecs-peer-admin" + "nics": + - "ips": + - "10.5.1.244" + "port_id": "36625f7e-c4fc-405c-aeed-f2ac4655c778" + "sg_ids": + - "4f14fba4-ea42-4ebd-9ff1-16611d07a8e4" + "sgs": + - "4f14fba4-ea42-4ebd-9ff1-16611d07a8e4" + "status": "ACTIVE" + "volumes": + - "id": "53754122-00fe-4318-a7be-b803d679c261" + "name": "ecs-peer-admin-volume-0000" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "87a5f22d-d596-4305-99d3-a5277aab207a" + "name": "ecs-website" + "nics": + - "ips": + - "10.5.1.42" + "port_id": "2a6d86d4-eaf9-4a57-b18f-af36760c4eb4" + "sg_ids": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "sgs": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "status": "ACTIVE" + "volumes": + - "id": "299d9f91-bc38-469e-b5a8-1bdc9b79e275" + "name": "ecs-website" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "8f0dbccb-d06f-49ef-9e88-f4d1af5c7342" + "name": "peer-admin-loki-monitor" + "nics": + - "ips": + - "10.50.1.150" + "port_id": "67d27c76-d02c-4d3a-882f-8076198fb308" + "sg_ids": + - "05eb0a9e-2d1f-4fc4-820c-fe13399a9d75" + "sgs": + - "05eb0a9e-2d1f-4fc4-820c-fe13399a9d75" + "status": "ACTIVE" + "volumes": + - "id": "1ce30403-6ca2-4ddf-8517-52f2b9c2c11d" + "name": "peer-admin-loki-monitor-volume-0001" + "sizeGB": 100 + "status": "in-use" + "type": "GPSSD" + - "id": "b3d9bb8f-e0ad-4cba-b947-764ddee4575a" + "name": "peer-admin-loki-monitor" + "sizeGB": 20 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "940014fb-b09d-4c43-b3b9-db2820342ba9" + "name": "ecs-peer-web" + "nics": + - "ips": + - "10.5.1.60" + "port_id": "efbc7990-112f-4040-95bd-9ee8e8554398" + "sg_ids": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "sgs": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "status": "ACTIVE" + "volumes": + - "id": "02ebba9e-b9ac-4a4f-8d2c-5fc71773f81a" + "name": "ecs-peer-web-volume-0000" + "sizeGB": 50 + "status": "in-use" + "type": "ESSD" + - "az": "eu-de-03" + "id": "a74ffa01-38c3-42dd-8b60-bf2ee6d662cc" + "name": "ecs-prod-jump" + "nics": + - "ips": + - "192.168.0.65" + "port_id": "83710b25-11aa-419c-bb65-4d9d031d734c" + "sg_ids": + - "2b7ee980-efc2-4199-98ad-0a375c3ba291" + "sgs": + - "2b7ee980-efc2-4199-98ad-0a375c3ba291" + "status": "ACTIVE" + "volumes": + - "id": "5ec8a593-8781-4fcc-bf31-b0ee31fec9b9" + "name": "ecs-prod-jump" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "bc66c2b9-b493-4a78-a4d6-8729ba0230c9" + "name": "ecs-peer-monitor-test" + "nics": + - "ips": + - "172.16.0.20" + "port_id": "293f9e4e-dc97-4191-b36d-1eb0c7486035" + "sg_ids": + - "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + "sgs": + - "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + "status": "ACTIVE" + "volumes": + - "id": "550ee657-e860-4c0a-a31e-88f00d4a55f8" + "name": "ecs-peer-monitor-test" + "sizeGB": 20 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "d2f50d51-52e3-4163-b8bb-6edd0b569ad4" + "name": "peer-admin-jumphost" + "nics": + - "ips": + - "10.50.1.100" + "port_id": "b9b9ce27-1cc7-4c93-88bc-c995dbddd647" + "sg_ids": + - "2bb26324-3989-4458-a614-8425cc6cd21a" + - "c1113fee-510c-4180-b114-3af2ebd8f099" + "sgs": + - "c1113fee-510c-4180-b114-3af2ebd8f099" + - "2bb26324-3989-4458-a614-8425cc6cd21a" + "status": "ACTIVE" + "volumes": + - "id": "ae7deb34-541e-447a-bbf3-8d6c02c9e3a1" + "name": "peer-admin-jumphost" + "sizeGB": 10 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "daa26951-e6b7-4e0e-86e0-32f9e669e838" + "name": "ecs-peer-web-testing" + "nics": + - "ips": + - "172.16.10.194" + "port_id": "caf7dc15-faf7-420e-af0e-0c692a216fb0" + "sg_ids": + - "82960534-6f06-4995-8ca7-65b18fffa84b" + "sgs": + - "82960534-6f06-4995-8ca7-65b18fffa84b" + "status": "ACTIVE" + "volumes": + - "id": "22436c21-f3ea-46a7-9421-2d5683bcb954" + "name": "ecs-peer-web-testing" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c" + "name": "ecs-admin-testing" + "nics": + - "ips": + - "172.16.10.240" + "port_id": "58e7dce6-1241-46ad-b436-87577c1c3ee4" + "sg_ids": + - "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + - "ips": + - "172.16.10.241" + "port_id": "b461ed0c-0f73-4518-b3e7-098d27b0295c" + "sg_ids": + - "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + "sgs": + - "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + "status": "ACTIVE" + "volumes": + - "id": "c7b4fb41-3ea2-4fcb-81b7-e4711bae0718" + "name": "ecs-admin-testing" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "fd525b9c-11dd-4e9d-abb7-6ce4b513d602" + "name": "ecs-jump-testing" + "nics": + - "ips": + - "172.16.0.17" + "port_id": "6ab37853-36b3-43be-ba26-d1bf37c8e8fb" + "sg_ids": + - "170caca7-fbb5-4ade-9a25-ce976d9ed82b" + "sgs": + - "170caca7-fbb5-4ade-9a25-ce976d9ed82b" + "status": "ACTIVE" + "volumes": + - "id": "d7457911-383b-4b04-a802-e5541a256cda" + "name": "ecs-jump-testing" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "cidr": "192.168.2.0/24" + "containers": [] + "id": "d0c4899f-b567-4d33-bb17-4e28d926cbc5" + "label": "subnet-prod-data" + "vms": + - "az": "eu-de-03" + "id": "055f937b-0bb5-4905-b1b5-b053c161480a" + "name": "ecs-peer-jump" + "nics": + - "ips": + - "10.5.0.241" + "port_id": "1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1" + "sg_ids": + - "abe07485-dd5e-4cb2-a88a-3b10c699a4ee" + "sgs": + - "abe07485-dd5e-4cb2-a88a-3b10c699a4ee" + "status": "ACTIVE" + "volumes": + - "id": "b0f6fe3f-a6b4-4c5f-ac78-9485808082dc" + "name": "ecs-peer-jump-volume-0000" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "27dd9e47-59d9-493c-a867-9291c4480b63" + "name": "ecs-testing-websocket" + "nics": + - "ips": + - "172.16.10.184" + "port_id": "fe0f5779-8487-49c2-9492-8fd96aba1b60" + "sg_ids": + - "4088c618-6940-422f-87a2-7be4c26f3910" + "sgs": + - "4088c618-6940-422f-87a2-7be4c26f3910" + "status": "ACTIVE" + "volumes": + - "id": "d308d225-7d2f-4da5-a259-a2f53d483226" + "name": "ecs-testing-websocket" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "29ef279d-55d6-403f-98ab-63859b09cbaf" + "name": "ecs-prod-admin" + "nics": + - "ips": + - "192.168.1.193" + "port_id": "ec92dd6f-87c3-4d35-b79e-dc7be212657b" + "sg_ids": + - "c3701b8f-079c-4864-83a6-600c7204a415" + "sgs": + - "c3701b8f-079c-4864-83a6-600c7204a415" + "status": "ACTIVE" + "volumes": + - "id": "d01cdb06-e448-4941-a57f-b0616e331614" + "name": "ecs-prod-admin" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "349d2490-cfd9-4e2c-b4f0-a2c18efb0382" + "name": "ecs-prod-backend" + "nics": + - "ips": + - "192.168.1.183" + "port_id": "9df13dbb-7c34-45d1-9312-729e70492485" + "sg_ids": + - "a04d74f1-879a-4c55-8d07-033c8db98065" + "sgs": + - "a04d74f1-879a-4c55-8d07-033c8db98065" + "status": "ACTIVE" + "volumes": + - "id": "531cfed3-b43e-4eed-b291-404533f7b163" + "name": "ecs-prod-backend" + "sizeGB": 1000 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "444a37fc-6f04-4fb8-b55c-c3fdc3dba642" + "name": "ecs-frontend-web" + "nics": + - "ips": + - "10.5.1.150" + "port_id": "e2553fcb-1fcc-419a-bf20-fdf38910af54" + "sg_ids": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "sgs": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "status": "ACTIVE" + "volumes": + - "id": "ea32af0a-3824-4d28-b449-7457d0c2a0f5" + "name": "ecs-frontend-web" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "4c9df61a-0306-4036-b3e2-68ceff0fd121" + "name": "ecs-prod_web-frontend" + "nics": + - "ips": + - "192.168.1.94" + "port_id": "eb00aa68-66ed-47c5-afc7-fb3b65d5020c" + "sg_ids": + - "0a6ffdf8-9b73-4078-bb7f-80d77d8366c4" + "sgs": + - "0a6ffdf8-9b73-4078-bb7f-80d77d8366c4" + "status": "ACTIVE" + "volumes": + - "id": "91bf7962-5e90-4c33-976a-68e57267231b" + "name": "ecs-prod_web-frontend" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-02" + "id": "658e9751-4923-465f-8091-2c6257645a5b" + "name": "ecs-peer-admin" + "nics": + - "ips": + - "10.5.1.244" + "port_id": "36625f7e-c4fc-405c-aeed-f2ac4655c778" + "sg_ids": + - "4f14fba4-ea42-4ebd-9ff1-16611d07a8e4" + "sgs": + - "4f14fba4-ea42-4ebd-9ff1-16611d07a8e4" + "status": "ACTIVE" + "volumes": + - "id": "53754122-00fe-4318-a7be-b803d679c261" + "name": "ecs-peer-admin-volume-0000" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "87a5f22d-d596-4305-99d3-a5277aab207a" + "name": "ecs-website" + "nics": + - "ips": + - "10.5.1.42" + "port_id": "2a6d86d4-eaf9-4a57-b18f-af36760c4eb4" + "sg_ids": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "sgs": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "status": "ACTIVE" + "volumes": + - "id": "299d9f91-bc38-469e-b5a8-1bdc9b79e275" + "name": "ecs-website" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "8f0dbccb-d06f-49ef-9e88-f4d1af5c7342" + "name": "peer-admin-loki-monitor" + "nics": + - "ips": + - "10.50.1.150" + "port_id": "67d27c76-d02c-4d3a-882f-8076198fb308" + "sg_ids": + - "05eb0a9e-2d1f-4fc4-820c-fe13399a9d75" + "sgs": + - "05eb0a9e-2d1f-4fc4-820c-fe13399a9d75" + "status": "ACTIVE" + "volumes": + - "id": "1ce30403-6ca2-4ddf-8517-52f2b9c2c11d" + "name": "peer-admin-loki-monitor-volume-0001" + "sizeGB": 100 + "status": "in-use" + "type": "GPSSD" + - "id": "b3d9bb8f-e0ad-4cba-b947-764ddee4575a" + "name": "peer-admin-loki-monitor" + "sizeGB": 20 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "940014fb-b09d-4c43-b3b9-db2820342ba9" + "name": "ecs-peer-web" + "nics": + - "ips": + - "10.5.1.60" + "port_id": "efbc7990-112f-4040-95bd-9ee8e8554398" + "sg_ids": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "sgs": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "status": "ACTIVE" + "volumes": + - "id": "02ebba9e-b9ac-4a4f-8d2c-5fc71773f81a" + "name": "ecs-peer-web-volume-0000" + "sizeGB": 50 + "status": "in-use" + "type": "ESSD" + - "az": "eu-de-03" + "id": "a74ffa01-38c3-42dd-8b60-bf2ee6d662cc" + "name": "ecs-prod-jump" + "nics": + - "ips": + - "192.168.0.65" + "port_id": "83710b25-11aa-419c-bb65-4d9d031d734c" + "sg_ids": + - "2b7ee980-efc2-4199-98ad-0a375c3ba291" + "sgs": + - "2b7ee980-efc2-4199-98ad-0a375c3ba291" + "status": "ACTIVE" + "volumes": + - "id": "5ec8a593-8781-4fcc-bf31-b0ee31fec9b9" + "name": "ecs-prod-jump" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "bc66c2b9-b493-4a78-a4d6-8729ba0230c9" + "name": "ecs-peer-monitor-test" + "nics": + - "ips": + - "172.16.0.20" + "port_id": "293f9e4e-dc97-4191-b36d-1eb0c7486035" + "sg_ids": + - "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + "sgs": + - "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + "status": "ACTIVE" + "volumes": + - "id": "550ee657-e860-4c0a-a31e-88f00d4a55f8" + "name": "ecs-peer-monitor-test" + "sizeGB": 20 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "d2f50d51-52e3-4163-b8bb-6edd0b569ad4" + "name": "peer-admin-jumphost" + "nics": + - "ips": + - "10.50.1.100" + "port_id": "b9b9ce27-1cc7-4c93-88bc-c995dbddd647" + "sg_ids": + - "2bb26324-3989-4458-a614-8425cc6cd21a" + - "c1113fee-510c-4180-b114-3af2ebd8f099" + "sgs": + - "c1113fee-510c-4180-b114-3af2ebd8f099" + - "2bb26324-3989-4458-a614-8425cc6cd21a" + "status": "ACTIVE" + "volumes": + - "id": "ae7deb34-541e-447a-bbf3-8d6c02c9e3a1" + "name": "peer-admin-jumphost" + "sizeGB": 10 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "daa26951-e6b7-4e0e-86e0-32f9e669e838" + "name": "ecs-peer-web-testing" + "nics": + - "ips": + - "172.16.10.194" + "port_id": "caf7dc15-faf7-420e-af0e-0c692a216fb0" + "sg_ids": + - "82960534-6f06-4995-8ca7-65b18fffa84b" + "sgs": + - "82960534-6f06-4995-8ca7-65b18fffa84b" + "status": "ACTIVE" + "volumes": + - "id": "22436c21-f3ea-46a7-9421-2d5683bcb954" + "name": "ecs-peer-web-testing" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c" + "name": "ecs-admin-testing" + "nics": + - "ips": + - "172.16.10.240" + "port_id": "58e7dce6-1241-46ad-b436-87577c1c3ee4" + "sg_ids": + - "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + - "ips": + - "172.16.10.241" + "port_id": "b461ed0c-0f73-4518-b3e7-098d27b0295c" + "sg_ids": + - "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + "sgs": + - "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + "status": "ACTIVE" + "volumes": + - "id": "c7b4fb41-3ea2-4fcb-81b7-e4711bae0718" + "name": "ecs-admin-testing" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "fd525b9c-11dd-4e9d-abb7-6ce4b513d602" + "name": "ecs-jump-testing" + "nics": + - "ips": + - "172.16.0.17" + "port_id": "6ab37853-36b3-43be-ba26-d1bf37c8e8fb" + "sg_ids": + - "170caca7-fbb5-4ade-9a25-ce976d9ed82b" + "sgs": + - "170caca7-fbb5-4ade-9a25-ce976d9ed82b" + "status": "ACTIVE" + "volumes": + - "id": "d7457911-383b-4b04-a802-e5541a256cda" + "name": "ecs-jump-testing" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "cidr": "192.168.1.0/24" + "containers": [] + "id": "f347c51c-7f22-4a6c-800f-fd6d38686794" + "label": "subnet-prod-service" + "vms": + - "az": "eu-de-03" + "id": "055f937b-0bb5-4905-b1b5-b053c161480a" + "name": "ecs-peer-jump" + "nics": + - "ips": + - "10.5.0.241" + "port_id": "1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1" + "sg_ids": + - "abe07485-dd5e-4cb2-a88a-3b10c699a4ee" + "sgs": + - "abe07485-dd5e-4cb2-a88a-3b10c699a4ee" + "status": "ACTIVE" + "volumes": + - "id": "b0f6fe3f-a6b4-4c5f-ac78-9485808082dc" + "name": "ecs-peer-jump-volume-0000" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "27dd9e47-59d9-493c-a867-9291c4480b63" + "name": "ecs-testing-websocket" + "nics": + - "ips": + - "172.16.10.184" + "port_id": "fe0f5779-8487-49c2-9492-8fd96aba1b60" + "sg_ids": + - "4088c618-6940-422f-87a2-7be4c26f3910" + "sgs": + - "4088c618-6940-422f-87a2-7be4c26f3910" + "status": "ACTIVE" + "volumes": + - "id": "d308d225-7d2f-4da5-a259-a2f53d483226" + "name": "ecs-testing-websocket" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "29ef279d-55d6-403f-98ab-63859b09cbaf" + "name": "ecs-prod-admin" + "nics": + - "ips": + - "192.168.1.193" + "port_id": "ec92dd6f-87c3-4d35-b79e-dc7be212657b" + "sg_ids": + - "c3701b8f-079c-4864-83a6-600c7204a415" + "sgs": + - "c3701b8f-079c-4864-83a6-600c7204a415" + "status": "ACTIVE" + "volumes": + - "id": "d01cdb06-e448-4941-a57f-b0616e331614" + "name": "ecs-prod-admin" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "349d2490-cfd9-4e2c-b4f0-a2c18efb0382" + "name": "ecs-prod-backend" + "nics": + - "ips": + - "192.168.1.183" + "port_id": "9df13dbb-7c34-45d1-9312-729e70492485" + "sg_ids": + - "a04d74f1-879a-4c55-8d07-033c8db98065" + "sgs": + - "a04d74f1-879a-4c55-8d07-033c8db98065" + "status": "ACTIVE" + "volumes": + - "id": "531cfed3-b43e-4eed-b291-404533f7b163" + "name": "ecs-prod-backend" + "sizeGB": 1000 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "444a37fc-6f04-4fb8-b55c-c3fdc3dba642" + "name": "ecs-frontend-web" + "nics": + - "ips": + - "10.5.1.150" + "port_id": "e2553fcb-1fcc-419a-bf20-fdf38910af54" + "sg_ids": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "sgs": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "status": "ACTIVE" + "volumes": + - "id": "ea32af0a-3824-4d28-b449-7457d0c2a0f5" + "name": "ecs-frontend-web" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "4c9df61a-0306-4036-b3e2-68ceff0fd121" + "name": "ecs-prod_web-frontend" + "nics": + - "ips": + - "192.168.1.94" + "port_id": "eb00aa68-66ed-47c5-afc7-fb3b65d5020c" + "sg_ids": + - "0a6ffdf8-9b73-4078-bb7f-80d77d8366c4" + "sgs": + - "0a6ffdf8-9b73-4078-bb7f-80d77d8366c4" + "status": "ACTIVE" + "volumes": + - "id": "91bf7962-5e90-4c33-976a-68e57267231b" + "name": "ecs-prod_web-frontend" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-02" + "id": "658e9751-4923-465f-8091-2c6257645a5b" + "name": "ecs-peer-admin" + "nics": + - "ips": + - "10.5.1.244" + "port_id": "36625f7e-c4fc-405c-aeed-f2ac4655c778" + "sg_ids": + - "4f14fba4-ea42-4ebd-9ff1-16611d07a8e4" + "sgs": + - "4f14fba4-ea42-4ebd-9ff1-16611d07a8e4" + "status": "ACTIVE" + "volumes": + - "id": "53754122-00fe-4318-a7be-b803d679c261" + "name": "ecs-peer-admin-volume-0000" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "87a5f22d-d596-4305-99d3-a5277aab207a" + "name": "ecs-website" + "nics": + - "ips": + - "10.5.1.42" + "port_id": "2a6d86d4-eaf9-4a57-b18f-af36760c4eb4" + "sg_ids": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "sgs": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "status": "ACTIVE" + "volumes": + - "id": "299d9f91-bc38-469e-b5a8-1bdc9b79e275" + "name": "ecs-website" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "8f0dbccb-d06f-49ef-9e88-f4d1af5c7342" + "name": "peer-admin-loki-monitor" + "nics": + - "ips": + - "10.50.1.150" + "port_id": "67d27c76-d02c-4d3a-882f-8076198fb308" + "sg_ids": + - "05eb0a9e-2d1f-4fc4-820c-fe13399a9d75" + "sgs": + - "05eb0a9e-2d1f-4fc4-820c-fe13399a9d75" + "status": "ACTIVE" + "volumes": + - "id": "1ce30403-6ca2-4ddf-8517-52f2b9c2c11d" + "name": "peer-admin-loki-monitor-volume-0001" + "sizeGB": 100 + "status": "in-use" + "type": "GPSSD" + - "id": "b3d9bb8f-e0ad-4cba-b947-764ddee4575a" + "name": "peer-admin-loki-monitor" + "sizeGB": 20 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "940014fb-b09d-4c43-b3b9-db2820342ba9" + "name": "ecs-peer-web" + "nics": + - "ips": + - "10.5.1.60" + "port_id": "efbc7990-112f-4040-95bd-9ee8e8554398" + "sg_ids": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "sgs": + - "1e98dd1b-d695-4239-917e-b3d59e47880d" + "status": "ACTIVE" + "volumes": + - "id": "02ebba9e-b9ac-4a4f-8d2c-5fc71773f81a" + "name": "ecs-peer-web-volume-0000" + "sizeGB": 50 + "status": "in-use" + "type": "ESSD" + - "az": "eu-de-03" + "id": "a74ffa01-38c3-42dd-8b60-bf2ee6d662cc" + "name": "ecs-prod-jump" + "nics": + - "ips": + - "192.168.0.65" + "port_id": "83710b25-11aa-419c-bb65-4d9d031d734c" + "sg_ids": + - "2b7ee980-efc2-4199-98ad-0a375c3ba291" + "sgs": + - "2b7ee980-efc2-4199-98ad-0a375c3ba291" + "status": "ACTIVE" + "volumes": + - "id": "5ec8a593-8781-4fcc-bf31-b0ee31fec9b9" + "name": "ecs-prod-jump" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "bc66c2b9-b493-4a78-a4d6-8729ba0230c9" + "name": "ecs-peer-monitor-test" + "nics": + - "ips": + - "172.16.0.20" + "port_id": "293f9e4e-dc97-4191-b36d-1eb0c7486035" + "sg_ids": + - "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + "sgs": + - "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + "status": "ACTIVE" + "volumes": + - "id": "550ee657-e860-4c0a-a31e-88f00d4a55f8" + "name": "ecs-peer-monitor-test" + "sizeGB": 20 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "d2f50d51-52e3-4163-b8bb-6edd0b569ad4" + "name": "peer-admin-jumphost" + "nics": + - "ips": + - "10.50.1.100" + "port_id": "b9b9ce27-1cc7-4c93-88bc-c995dbddd647" + "sg_ids": + - "2bb26324-3989-4458-a614-8425cc6cd21a" + - "c1113fee-510c-4180-b114-3af2ebd8f099" + "sgs": + - "c1113fee-510c-4180-b114-3af2ebd8f099" + - "2bb26324-3989-4458-a614-8425cc6cd21a" + "status": "ACTIVE" + "volumes": + - "id": "ae7deb34-541e-447a-bbf3-8d6c02c9e3a1" + "name": "peer-admin-jumphost" + "sizeGB": 10 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "daa26951-e6b7-4e0e-86e0-32f9e669e838" + "name": "ecs-peer-web-testing" + "nics": + - "ips": + - "172.16.10.194" + "port_id": "caf7dc15-faf7-420e-af0e-0c692a216fb0" + "sg_ids": + - "82960534-6f06-4995-8ca7-65b18fffa84b" + "sgs": + - "82960534-6f06-4995-8ca7-65b18fffa84b" + "status": "ACTIVE" + "volumes": + - "id": "22436c21-f3ea-46a7-9421-2d5683bcb954" + "name": "ecs-peer-web-testing" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c" + "name": "ecs-admin-testing" + "nics": + - "ips": + - "172.16.10.240" + "port_id": "58e7dce6-1241-46ad-b436-87577c1c3ee4" + "sg_ids": + - "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + - "ips": + - "172.16.10.241" + "port_id": "b461ed0c-0f73-4518-b3e7-098d27b0295c" + "sg_ids": + - "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + "sgs": + - "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + "status": "ACTIVE" + "volumes": + - "id": "c7b4fb41-3ea2-4fcb-81b7-e4711bae0718" + "name": "ecs-admin-testing" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "az": "eu-de-03" + "id": "fd525b9c-11dd-4e9d-abb7-6ce4b513d602" + "name": "ecs-jump-testing" + "nics": + - "ips": + - "172.16.0.17" + "port_id": "6ab37853-36b3-43be-ba26-d1bf37c8e8fb" + "sg_ids": + - "170caca7-fbb5-4ade-9a25-ce976d9ed82b" + "sgs": + - "170caca7-fbb5-4ade-9a25-ce976d9ed82b" + "status": "ACTIVE" + "volumes": + - "id": "d7457911-383b-4b04-a802-e5541a256cda" + "name": "ecs-jump-testing" + "sizeGB": 50 + "status": "in-use" + "type": "GPSSD" + - "id": "cb43c4e5-e25c-4727-b7ce-6b9995edffac" + "label": "vpc-peer-admin" + "subnets": [] diff --git a/Terraform_Files/provider.tf b/Terraform_Files/provider.tf new file mode 100644 index 0000000..fdfca20 --- /dev/null +++ b/Terraform_Files/provider.tf @@ -0,0 +1,28 @@ +# provider.tf + +terraform { + required_version = ">= 1.0" + required_providers { + opentelekomcloud = { + source = "opentelekomcloud/opentelekomcloud" + version = "= 1.36.40" + } + local = { + source = "hashicorp/local" + version = "~> 2.5" + } + } +} + +provider "opentelekomcloud" { + auth_url = "https://iam.eu-de.otc.t-systems.com/v3" + region = var.region + + access_key = var.access_key_id + secret_key = var.secret_access_key + + # Scoping + domain_name = var.domain_name + tenant_name = var.tenant_name + # tenant_id = var.tenant_id # prefer ID; or use tenant_name instead +} diff --git a/Terraform_Files/terraform.tfstate b/Terraform_Files/terraform.tfstate new file mode 100644 index 0000000..20d93d3 --- /dev/null +++ b/Terraform_Files/terraform.tfstate @@ -0,0 +1,3218 @@ +{ + "version": 4, + "terraform_version": "1.12.1", + "serial": 34, + "lineage": "fe9405c1-99aa-2a1f-f74c-28b5df742a8f", + "outputs": { + "inventory_yaml": { + "value": "\"ecs\":\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.large.2\"\n \"id\": \"8f0dbccb-d06f-49ef-9e88-f4d1af5c7342\"\n \"name\": \"peer-admin-loki-monitor\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:de:ad:42\"\n \"name\": \"\"\n \"port\": \"67d27c76-d02c-4d3a-882f-8076198fb308\"\n \"uuid\": \"536f3d94-35f2-4aca-9116-16a76d0b91c4\"\n \"secgroups\":\n - \"05eb0a9e-2d1f-4fc4-820c-fe13399a9d75\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s7n.small.1\"\n \"id\": \"d2f50d51-52e3-4163-b8bb-6edd0b569ad4\"\n \"name\": \"peer-admin-jumphost\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:de:ad:10\"\n \"name\": \"\"\n \"port\": \"b9b9ce27-1cc7-4c93-88bc-c995dbddd647\"\n \"uuid\": \"536f3d94-35f2-4aca-9116-16a76d0b91c4\"\n \"secgroups\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n - \"2bb26324-3989-4458-a614-8425cc6cd21a\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.2\"\n \"id\": \"bc66c2b9-b493-4a78-a4d6-8729ba0230c9\"\n \"name\": \"ecs-peer-monitor-test\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:10:00:14\"\n \"name\": \"\"\n \"port\": \"293f9e4e-dc97-4191-b36d-1eb0c7486035\"\n \"uuid\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n \"secgroups\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"27dd9e47-59d9-493c-a867-9291c4480b63\"\n \"name\": \"ecs-testing-websocket\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:10:0a:b8\"\n \"name\": \"\"\n \"port\": \"fe0f5779-8487-49c2-9492-8fd96aba1b60\"\n \"uuid\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"secgroups\":\n - \"4088c618-6940-422f-87a2-7be4c26f3910\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"4c9df61a-0306-4036-b3e2-68ceff0fd121\"\n \"name\": \"ecs-prod_web-frontend\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:b9:12:6f\"\n \"name\": \"\"\n \"port\": \"eb00aa68-66ed-47c5-afc7-fb3b65d5020c\"\n \"uuid\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"secgroups\":\n - \"0a6ffdf8-9b73-4078-bb7f-80d77d8366c4\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.large.2\"\n \"id\": \"29ef279d-55d6-403f-98ab-63859b09cbaf\"\n \"name\": \"ecs-prod-admin\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:b9:12:d2\"\n \"name\": \"\"\n \"port\": \"ec92dd6f-87c3-4d35-b79e-dc7be212657b\"\n \"uuid\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"secgroups\":\n - \"c3701b8f-079c-4864-83a6-600c7204a415\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.4xlarge.4\"\n \"id\": \"349d2490-cfd9-4e2c-b4f0-a2c18efb0382\"\n \"name\": \"ecs-prod-backend\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:b9:12:c8\"\n \"name\": \"\"\n \"port\": \"9df13dbb-7c34-45d1-9312-729e70492485\"\n \"uuid\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"secgroups\":\n - \"a04d74f1-879a-4c55-8d07-033c8db98065\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"a74ffa01-38c3-42dd-8b60-bf2ee6d662cc\"\n \"name\": \"ecs-prod-jump\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:b9:11:52\"\n \"name\": \"\"\n \"port\": \"83710b25-11aa-419c-bb65-4d9d031d734c\"\n \"uuid\": \"5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f\"\n \"secgroups\":\n - \"2b7ee980-efc2-4199-98ad-0a375c3ba291\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"87a5f22d-d596-4305-99d3-a5277aab207a\"\n \"name\": \"ecs-website\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:f4:f0:19\"\n \"name\": \"\"\n \"port\": \"2a6d86d4-eaf9-4a57-b18f-af36760c4eb4\"\n \"uuid\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"secgroups\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c\"\n \"name\": \"ecs-admin-testing\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:10:0a:f0\"\n \"name\": \"\"\n \"port\": \"58e7dce6-1241-46ad-b436-87577c1c3ee4\"\n \"uuid\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:10:0a:f1\"\n \"name\": \"\"\n \"port\": \"b461ed0c-0f73-4518-b3e7-098d27b0295c\"\n \"uuid\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"secgroups\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"daa26951-e6b7-4e0e-86e0-32f9e669e838\"\n \"name\": \"ecs-peer-web-testing\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:10:0a:c2\"\n \"name\": \"\"\n \"port\": \"caf7dc15-faf7-420e-af0e-0c692a216fb0\"\n \"uuid\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"secgroups\":\n - \"82960534-6f06-4995-8ca7-65b18fffa84b\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"fd525b9c-11dd-4e9d-abb7-6ce4b513d602\"\n \"name\": \"ecs-jump-testing\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:10:00:11\"\n \"name\": \"\"\n \"port\": \"6ab37853-36b3-43be-ba26-d1bf37c8e8fb\"\n \"uuid\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n \"secgroups\":\n - \"170caca7-fbb5-4ade-9a25-ce976d9ed82b\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"444a37fc-6f04-4fb8-b55c-c3fdc3dba642\"\n \"name\": \"ecs-frontend-web\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:f4:f0:85\"\n \"name\": \"\"\n \"port\": \"e2553fcb-1fcc-419a-bf20-fdf38910af54\"\n \"uuid\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"secgroups\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-02\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"658e9751-4923-465f-8091-2c6257645a5b\"\n \"name\": \"ecs-peer-admin\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:f4:f0:e3\"\n \"name\": \"\"\n \"port\": \"36625f7e-c4fc-405c-aeed-f2ac4655c778\"\n \"uuid\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"secgroups\":\n - \"4f14fba4-ea42-4ebd-9ff1-16611d07a8e4\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"940014fb-b09d-4c43-b3b9-db2820342ba9\"\n \"name\": \"ecs-peer-web\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:f4:f0:2b\"\n \"name\": \"\"\n \"port\": \"efbc7990-112f-4040-95bd-9ee8e8554398\"\n \"uuid\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"secgroups\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"055f937b-0bb5-4905-b1b5-b053c161480a\"\n \"name\": \"ecs-peer-jump\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:f4:ef:e0\"\n \"name\": \"\"\n \"port\": \"1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1\"\n \"uuid\": \"b3523510-8a93-4ad9-b5d7-2178464f1f65\"\n \"secgroups\":\n - \"abe07485-dd5e-4cb2-a88a-3b10c699a4ee\"\n \"status\": \"ACTIVE\"\n\"evs\":\n- \"attach\":\n - \"attached_at\": \"2025-07-22T07:48:19.474297\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vdb\"\n \"id\": \"04aa0538-6db2-417e-9dd3-cd44726f7878\"\n \"server_id\": \"8f0dbccb-d06f-49ef-9e88-f4d1af5c7342\"\n \"az\": \"eu-de-03\"\n \"id\": \"1ce30403-6ca2-4ddf-8517-52f2b9c2c11d\"\n \"name\": \"peer-admin-loki-monitor-volume-0001\"\n \"sizeGB\": 100\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2025-07-22T07:48:02.286840\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"e7ee7dd8-a310-4558-9ab3-9d2b1969faab\"\n \"server_id\": \"8f0dbccb-d06f-49ef-9e88-f4d1af5c7342\"\n \"az\": \"eu-de-03\"\n \"id\": \"b3d9bb8f-e0ad-4cba-b947-764ddee4575a\"\n \"name\": \"peer-admin-loki-monitor\"\n \"sizeGB\": 20\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2025-07-21T13:07:10.291433\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"357601f0-6bcc-4835-91fa-235d924f47da\"\n \"server_id\": \"d2f50d51-52e3-4163-b8bb-6edd0b569ad4\"\n \"az\": \"eu-de-03\"\n \"id\": \"ae7deb34-541e-447a-bbf3-8d6c02c9e3a1\"\n \"name\": \"peer-admin-jumphost\"\n \"sizeGB\": 10\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2025-06-24T07:58:25.155026\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"86f92e34-c4c7-4abc-b32c-31a69d5d888a\"\n \"server_id\": \"bc66c2b9-b493-4a78-a4d6-8729ba0230c9\"\n \"az\": \"eu-de-03\"\n \"id\": \"550ee657-e860-4c0a-a31e-88f00d4a55f8\"\n \"name\": \"ecs-peer-monitor-test\"\n \"sizeGB\": 20\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2025-04-09T13:26:34.307498\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"3fad6b88-14aa-4a95-a976-1d06ee7a0b82\"\n \"server_id\": \"27dd9e47-59d9-493c-a867-9291c4480b63\"\n \"az\": \"eu-de-03\"\n \"id\": \"d308d225-7d2f-4da5-a259-a2f53d483226\"\n \"name\": \"ecs-testing-websocket\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2025-03-20T14:20:22.560856\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"476c6f55-de29-4381-b51b-7a4db66548c8\"\n \"server_id\": \"4c9df61a-0306-4036-b3e2-68ceff0fd121\"\n \"az\": \"eu-de-03\"\n \"id\": \"91bf7962-5e90-4c33-976a-68e57267231b\"\n \"name\": \"ecs-prod_web-frontend\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2025-03-04T15:17:55.581129\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"4f76e198-f66e-4075-ad7f-9ba07a1a9683\"\n \"server_id\": \"29ef279d-55d6-403f-98ab-63859b09cbaf\"\n \"az\": \"eu-de-03\"\n \"id\": \"d01cdb06-e448-4941-a57f-b0616e331614\"\n \"name\": \"ecs-prod-admin\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2025-03-04T12:08:31.054566\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"70628160-633d-4ddd-8ace-23ec2c5185dd\"\n \"server_id\": \"349d2490-cfd9-4e2c-b4f0-a2c18efb0382\"\n \"az\": \"eu-de-03\"\n \"id\": \"531cfed3-b43e-4eed-b291-404533f7b163\"\n \"name\": \"ecs-prod-backend\"\n \"sizeGB\": 1000\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2025-03-04T10:55:53.225073\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"43269dca-4908-44ff-8b74-395334888ab9\"\n \"server_id\": \"a74ffa01-38c3-42dd-8b60-bf2ee6d662cc\"\n \"az\": \"eu-de-03\"\n \"id\": \"5ec8a593-8781-4fcc-bf31-b0ee31fec9b9\"\n \"name\": \"ecs-prod-jump\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2024-12-12T10:54:47.492562\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"19c072f0-bac8-4b5e-9d73-efa2e718b5ed\"\n \"server_id\": \"87a5f22d-d596-4305-99d3-a5277aab207a\"\n \"az\": \"eu-de-03\"\n \"id\": \"299d9f91-bc38-469e-b5a8-1bdc9b79e275\"\n \"name\": \"ecs-website\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2024-12-12T10:04:03.119669\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"4aa85647-95eb-48ad-a8f7-20410907fb1c\"\n \"server_id\": \"f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c\"\n \"az\": \"eu-de-03\"\n \"id\": \"c7b4fb41-3ea2-4fcb-81b7-e4711bae0718\"\n \"name\": \"ecs-admin-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2024-12-10T16:11:50.960380\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"36e68769-726b-4fbf-a9f3-a937006178ed\"\n \"server_id\": \"daa26951-e6b7-4e0e-86e0-32f9e669e838\"\n \"az\": \"eu-de-03\"\n \"id\": \"22436c21-f3ea-46a7-9421-2d5683bcb954\"\n \"name\": \"ecs-peer-web-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2024-12-10T15:14:18.640680\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"e74ae11e-174b-4345-b778-5753ddf02da4\"\n \"server_id\": \"fd525b9c-11dd-4e9d-abb7-6ce4b513d602\"\n \"az\": \"eu-de-03\"\n \"id\": \"d7457911-383b-4b04-a802-e5541a256cda\"\n \"name\": \"ecs-jump-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2024-10-17T13:33:03.320359\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"ee2a4cb2-b320-40a8-a8ab-68c5fe80ab0a\"\n \"server_id\": \"444a37fc-6f04-4fb8-b55c-c3fdc3dba642\"\n \"az\": \"eu-de-03\"\n \"id\": \"ea32af0a-3824-4d28-b449-7457d0c2a0f5\"\n \"name\": \"ecs-frontend-web\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2024-10-07T15:02:34.064678\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"8161ddd7-4c02-4abd-9976-b6861cf75660\"\n \"server_id\": \"658e9751-4923-465f-8091-2c6257645a5b\"\n \"az\": \"eu-de-02\"\n \"id\": \"53754122-00fe-4318-a7be-b803d679c261\"\n \"name\": \"ecs-peer-admin-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2024-10-04T15:19:12.660169\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"e9c20709-3601-4c81-9339-7695e92e0106\"\n \"server_id\": \"940014fb-b09d-4c43-b3b9-db2820342ba9\"\n \"az\": \"eu-de-03\"\n \"id\": \"02ebba9e-b9ac-4a4f-8d2c-5fc71773f81a\"\n \"name\": \"ecs-peer-web-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"ESSD\"\n- \"attach\":\n - \"attached_at\": \"2024-10-04T14:43:01.953531\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"bc5530d6-364e-4ae6-ba61-8fe231ead70a\"\n \"server_id\": \"055f937b-0bb5-4905-b1b5-b053c161480a\"\n \"az\": \"eu-de-03\"\n \"id\": \"b0f6fe3f-a6b4-4c5f-ac78-9485808082dc\"\n \"name\": \"ecs-peer-jump-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n\"generated_at\": \"2025-09-29T08:12:33Z\"\n\"ports\":\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"10.50.50.254\"\n \"id\": \"0790568d-b9e2-4a9a-9025-21ddf991cc48\"\n \"name\": \"\"\n \"network_id\": \"43768ec1-f43b-4c28-97b3-98cd1408ebcc\"\n \"sg_ids\": []\n- \"device_id\": \"8165c92f-f183-4e22-a1c2-9df880276a11\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"192.168.1.1\"\n \"id\": \"19a25d81-bab5-4241-91be-c2b92ce93b65\"\n \"name\": \"b42e2e98-45f2-4ec8-94bf-4dd2d7ecf574\"\n \"network_id\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"10f8c808-f6bf-47a8-b3c5-5910bc691900\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"172.16.0.1\"\n \"id\": \"1ca90188-3e4f-4eca-ae88-160aa5481068\"\n \"name\": \"da92bfcd-fbdb-40c4-976e-339446831330\"\n \"network_id\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"cb43c4e5-e25c-4727-b7ce-6b9995edffac\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"10.50.50.1\"\n \"id\": \"1fdd28c2-1f57-4f59-93a6-50752741c4ec\"\n \"name\": \"15df7a53-3edf-4316-a812-a47c7b0d63e7\"\n \"network_id\": \"43768ec1-f43b-4c28-97b3-98cd1408ebcc\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"055f937b-0bb5-4905-b1b5-b053c161480a\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"10.5.0.241\"\n \"id\": \"1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1\"\n \"name\": \"\"\n \"network_id\": \"b3523510-8a93-4ad9-b5d7-2178464f1f65\"\n \"sg_ids\":\n - \"abe07485-dd5e-4cb2-a88a-3b10c699a4ee\"\n- \"device_id\": \"bc66c2b9-b493-4a78-a4d6-8729ba0230c9\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"172.16.0.20\"\n \"id\": \"293f9e4e-dc97-4191-b36d-1eb0c7486035\"\n \"name\": \"\"\n \"network_id\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n- \"device_id\": \"87a5f22d-d596-4305-99d3-a5277aab207a\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"10.5.1.42\"\n \"id\": \"2a6d86d4-eaf9-4a57-b18f-af36760c4eb4\"\n \"name\": \"\"\n \"network_id\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n- \"device_id\": \"f310bbe4-fb86-42e3-acc5-7a8ad5a81fe7\"\n \"device_owner\": \"neutron:LOADBALANCERV2\"\n \"fixed_ips\":\n - \"172.16.10.91\"\n \"id\": \"2bf1cfbb-5e66-42c3-a49b-0b85353acddf\"\n \"name\": \"loadbalancer-f310bbe4-fb86-42e3-acc5-7a8ad5a81fe7\"\n \"network_id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"658e9751-4923-465f-8091-2c6257645a5b\"\n \"device_owner\": \"compute:eu-de-02\"\n \"fixed_ips\":\n - \"10.5.1.244\"\n \"id\": \"36625f7e-c4fc-405c-aeed-f2ac4655c778\"\n \"name\": \"\"\n \"network_id\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"sg_ids\":\n - \"4f14fba4-ea42-4ebd-9ff1-16611d07a8e4\"\n- \"device_id\": \"0e098681-9464-446a-b0d4-eada436ef036\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"172.16.20.156\"\n \"id\": \"395b146b-cf9a-4114-9a49-25a236064ae5\"\n \"name\": \"dbs_0e098681-9464-446a-b0d4-eada436ef036\"\n \"network_id\": \"4e1a7d6f-1c96-428e-bc8c-380024bd5f6a\"\n \"sg_ids\":\n - \"cc76cd06-5c73-4833-bb8b-5587f29abab0\"\n- \"device_id\": \"aff5f984-524b-4078-92bc-218d781dd70f\"\n \"device_owner\": \"compute:eu-de-02\"\n \"fixed_ips\":\n - \"10.5.2.71\"\n \"id\": \"437a47c2-bee0-4630-b355-f2d67f85097d\"\n \"name\": \"dbs_aff5f984-524b-4078-92bc-218d781dd70f\"\n \"network_id\": \"ae7211cf-a76b-45b9-a291-351768e4d954\"\n \"sg_ids\":\n - \"05879954-6c44-48eb-9497-c87512321460\"\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"192.168.1.254\"\n \"id\": \"43b6145f-1525-4746-980b-272c6a1bf7ea\"\n \"name\": \"\"\n \"network_id\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"sg_ids\": []\n- \"device_id\": \"8165c92f-f183-4e22-a1c2-9df880276a11\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"192.168.2.1\"\n \"id\": \"50ea4666-0764-44c3-b11a-ebedeadb205a\"\n \"name\": \"9f4d41cb-1a40-4520-9e89-a3ada8acffa1\"\n \"network_id\": \"d0c4899f-b567-4d33-bb17-4e28d926cbc5\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"172.16.10.240\"\n \"id\": \"58e7dce6-1241-46ad-b436-87577c1c3ee4\"\n \"name\": \"\"\n \"network_id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n- \"device_id\": \"575a658a-e02a-41cd-bf70-98c503d9785d\"\n \"device_owner\": \"neutron:LOADBALANCERV2\"\n \"fixed_ips\":\n - \"192.168.1.110\"\n \"id\": \"607ff469-0f95-4b13-a44e-d55ff078469f\"\n \"name\": \"loadbalancer-575a658a-e02a-41cd-bf70-98c503d9785d\"\n \"network_id\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"2f77e0de-bc99-421e-9e6b-ed7c07518ed2\"\n \"device_owner\": \"network:nat_gateway\"\n \"fixed_ips\":\n - \"192.168.0.109\"\n \"id\": \"609e00c1-f0be-468e-9af7-e851a4100442\"\n \"name\": \"NAT_GATEWAYTAGS\"\n \"network_id\": \"5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f\"\n \"sg_ids\": []\n- \"device_id\": \"8f0dbccb-d06f-49ef-9e88-f4d1af5c7342\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"10.50.1.150\"\n \"id\": \"67d27c76-d02c-4d3a-882f-8076198fb308\"\n \"name\": \"\"\n \"network_id\": \"536f3d94-35f2-4aca-9116-16a76d0b91c4\"\n \"sg_ids\":\n - \"05eb0a9e-2d1f-4fc4-820c-fe13399a9d75\"\n- \"device_id\": \"fd525b9c-11dd-4e9d-abb7-6ce4b513d602\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"172.16.0.17\"\n \"id\": \"6ab37853-36b3-43be-ba26-d1bf37c8e8fb\"\n \"name\": \"\"\n \"network_id\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n \"sg_ids\":\n - \"170caca7-fbb5-4ade-9a25-ce976d9ed82b\"\n- \"device_id\": \"10f8c808-f6bf-47a8-b3c5-5910bc691900\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"172.16.20.1\"\n \"id\": \"77fe3322-10ec-4881-8b60-8d4e6dfe15be\"\n \"name\": \"7d2dd8db-38e5-4526-ace9-d6bddd573e88\"\n \"network_id\": \"4e1a7d6f-1c96-428e-bc8c-380024bd5f6a\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"75eaedd4-3721-4001-9bbe-677050a4b70e\"\n \"device_owner\": \"compute:eu-de-01\"\n \"fixed_ips\":\n - \"172.16.20.48\"\n \"id\": \"806bdef6-7abc-4bc3-a0e4-85118ea5a56d\"\n \"name\": \"dbs_75eaedd4-3721-4001-9bbe-677050a4b70e\"\n \"network_id\": \"4e1a7d6f-1c96-428e-bc8c-380024bd5f6a\"\n \"sg_ids\":\n - \"cc76cd06-5c73-4833-bb8b-5587f29abab0\"\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"10.5.0.254\"\n \"id\": \"8147cb5a-21d4-4afd-a58d-0d5e08d9a210\"\n \"name\": \"\"\n \"network_id\": \"b3523510-8a93-4ad9-b5d7-2178464f1f65\"\n \"sg_ids\": []\n- \"device_id\": \"60139ab3-c529-4a32-b446-aaa12fa04d5a\"\n \"device_owner\": \"network:nat_gateway\"\n \"fixed_ips\":\n - \"172.16.0.203\"\n \"id\": \"8325dcec-210a-4fe2-979d-1caa0fcf666f\"\n \"name\": \"NAT_GATEWAYTAGS\"\n \"network_id\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n \"sg_ids\": []\n- \"device_id\": \"a74ffa01-38c3-42dd-8b60-bf2ee6d662cc\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"192.168.0.65\"\n \"id\": \"83710b25-11aa-419c-bb65-4d9d031d734c\"\n \"name\": \"\"\n \"network_id\": \"5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f\"\n \"sg_ids\":\n - \"2b7ee980-efc2-4199-98ad-0a375c3ba291\"\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"172.16.0.254\"\n \"id\": \"841601e4-e345-4279-abc4-aa0bbd59e5f8\"\n \"name\": \"\"\n \"network_id\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n \"sg_ids\": []\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"10.5.2.254\"\n \"id\": \"8f60b980-8cdd-449e-a155-90ec0905d291\"\n \"name\": \"\"\n \"network_id\": \"ae7211cf-a76b-45b9-a291-351768e4d954\"\n \"sg_ids\": []\n- \"device_id\": \"8165c92f-f183-4e22-a1c2-9df880276a11\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"192.168.0.1\"\n \"id\": \"9921d2dc-753b-43c9-a270-33cf2f964e4d\"\n \"name\": \"43681d41-0d60-48b9-9817-6a712612fe3f\"\n \"network_id\": \"5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"\"\n \"device_owner\": \"neutron:VIP_PORT\"\n \"fixed_ips\":\n - \"172.16.20.36\"\n \"id\": \"9dee05af-52d0-49d8-af88-d095da974103\"\n \"name\": \"\"\n \"network_id\": \"4e1a7d6f-1c96-428e-bc8c-380024bd5f6a\"\n \"sg_ids\":\n - \"cc76cd06-5c73-4833-bb8b-5587f29abab0\"\n- \"device_id\": \"349d2490-cfd9-4e2c-b4f0-a2c18efb0382\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"192.168.1.183\"\n \"id\": \"9df13dbb-7c34-45d1-9312-729e70492485\"\n \"name\": \"\"\n \"network_id\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"sg_ids\":\n - \"a04d74f1-879a-4c55-8d07-033c8db98065\"\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"10.50.1.254\"\n \"id\": \"a5d0eca7-82a8-4e00-a973-83093951c5df\"\n \"name\": \"\"\n \"network_id\": \"536f3d94-35f2-4aca-9116-16a76d0b91c4\"\n \"sg_ids\": []\n- \"device_id\": \"700af767-115d-43b8-8886-a6a4a63d59ef\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"10.5.1.1\"\n \"id\": \"a9fdaace-051c-4b20-9276-691ab9fc0397\"\n \"name\": \"81493971-bb32-4fa6-9e8a-dc50f7a63486\"\n \"network_id\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"981d3c45-29f8-4aab-a081-147f73890612\"\n \"device_owner\": \"compute:eu-de-01\"\n \"fixed_ips\":\n - \"192.168.2.164\"\n \"id\": \"ab2b26f5-55c9-4527-a42a-b515b2fcf3d2\"\n \"name\": \"dbs_981d3c45-29f8-4aab-a081-147f73890612\"\n \"network_id\": \"d0c4899f-b567-4d33-bb17-4e28d926cbc5\"\n \"sg_ids\":\n - \"87989c4f-e258-4a8c-a01e-ead42a4f6632\"\n- \"device_id\": \"700af767-115d-43b8-8886-a6a4a63d59ef\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"10.5.2.1\"\n \"id\": \"aef685c3-d684-4016-b603-bec6a877e665\"\n \"name\": \"9a1a7c23-c024-420d-bece-3ab50296b2ff\"\n \"network_id\": \"ae7211cf-a76b-45b9-a291-351768e4d954\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"fea334e5-551e-4e6f-873c-32016fb71755\"\n \"device_owner\": \"network:nat_gateway\"\n \"fixed_ips\":\n - \"10.5.0.128\"\n \"id\": \"b4263be0-37e1-4815-8326-3ab128364ce9\"\n \"name\": \"NAT_GATEWAYTAGS\"\n \"network_id\": \"b3523510-8a93-4ad9-b5d7-2178464f1f65\"\n \"sg_ids\": []\n- \"device_id\": \"f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"172.16.10.241\"\n \"id\": \"b461ed0c-0f73-4518-b3e7-098d27b0295c\"\n \"name\": \"\"\n \"network_id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n- \"device_id\": \"cb43c4e5-e25c-4727-b7ce-6b9995edffac\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"10.50.1.1\"\n \"id\": \"b7501686-e7c7-4561-bb4a-570f6f972731\"\n \"name\": \"9dc18541-7290-43e4-98d5-9c99519d10c9\"\n \"network_id\": \"536f3d94-35f2-4aca-9116-16a76d0b91c4\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"d2f50d51-52e3-4163-b8bb-6edd0b569ad4\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"10.50.1.100\"\n \"id\": \"b9b9ce27-1cc7-4c93-88bc-c995dbddd647\"\n \"name\": \"\"\n \"network_id\": \"536f3d94-35f2-4aca-9116-16a76d0b91c4\"\n \"sg_ids\":\n - \"2bb26324-3989-4458-a614-8425cc6cd21a\"\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"18444996-dd87-472a-abb2-61c23707c3a2\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"192.168.2.92\"\n \"id\": \"be379a1c-2f68-482e-81cd-04a004e55fe7\"\n \"name\": \"dbs_18444996-dd87-472a-abb2-61c23707c3a2\"\n \"network_id\": \"d0c4899f-b567-4d33-bb17-4e28d926cbc5\"\n \"sg_ids\":\n - \"87989c4f-e258-4a8c-a01e-ead42a4f6632\"\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"172.16.20.254\"\n \"id\": \"c0b01611-2371-4cdc-824a-85462695d864\"\n \"name\": \"\"\n \"network_id\": \"4e1a7d6f-1c96-428e-bc8c-380024bd5f6a\"\n \"sg_ids\": []\n- \"device_id\": \"daa26951-e6b7-4e0e-86e0-32f9e669e838\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"172.16.10.194\"\n \"id\": \"caf7dc15-faf7-420e-af0e-0c692a216fb0\"\n \"name\": \"\"\n \"network_id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"sg_ids\":\n - \"82960534-6f06-4995-8ca7-65b18fffa84b\"\n- \"device_id\": \"700af767-115d-43b8-8886-a6a4a63d59ef\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"10.5.0.1\"\n \"id\": \"cba4fcbd-8f68-4601-ae0a-785bc244994e\"\n \"name\": \"c5300a6a-417d-4833-9d43-08c134376b0d\"\n \"network_id\": \"b3523510-8a93-4ad9-b5d7-2178464f1f65\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"192.168.2.254\"\n \"id\": \"cf0bc239-9473-4f42-9c1a-1edc965b62bc\"\n \"name\": \"\"\n \"network_id\": \"d0c4899f-b567-4d33-bb17-4e28d926cbc5\"\n \"sg_ids\": []\n- \"device_id\": \"df1e56c5-e776-48ad-8c8b-50a8fe9255fa\"\n \"device_owner\": \"neutron:LOADBALANCERV2\"\n \"fixed_ips\":\n - \"10.5.1.28\"\n \"id\": \"d575a83c-0f38-41c1-8a1b-bcb2f2a30613\"\n \"name\": \"loadbalancer-df1e56c5-e776-48ad-8c8b-50a8fe9255fa\"\n \"network_id\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"\"\n \"device_owner\": \"neutron:VIP_PORT\"\n \"fixed_ips\":\n - \"10.5.2.186\"\n \"id\": \"d92bdd57-1e45-4b49-8458-9108fd0638c7\"\n \"name\": \"\"\n \"network_id\": \"ae7211cf-a76b-45b9-a291-351768e4d954\"\n \"sg_ids\":\n - \"05879954-6c44-48eb-9497-c87512321460\"\n- \"device_id\": \"35ba18a1-1209-4786-a2d7-b0233f13cd84\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"10.5.2.201\"\n \"id\": \"dab86af4-478e-48b7-a8c8-31d49c5e2961\"\n \"name\": \"dbs_35ba18a1-1209-4786-a2d7-b0233f13cd84\"\n \"network_id\": \"ae7211cf-a76b-45b9-a291-351768e4d954\"\n \"sg_ids\":\n - \"05879954-6c44-48eb-9497-c87512321460\"\n- \"device_id\": \"10f8c808-f6bf-47a8-b3c5-5910bc691900\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"172.16.10.1\"\n \"id\": \"dc630d3a-d638-4666-bf2e-8fbbc305d5f1\"\n \"name\": \"ff0ede7a-6dab-45b4-924d-5e855ab36ea6\"\n \"network_id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"10.5.1.254\"\n \"id\": \"dcb3cd66-864f-4d96-8621-74bef6044d03\"\n \"name\": \"\"\n \"network_id\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"sg_ids\": []\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"192.168.0.254\"\n \"id\": \"df7cd690-559b-4226-9c6b-0542fd98eee1\"\n \"name\": \"\"\n \"network_id\": \"5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f\"\n \"sg_ids\": []\n- \"device_id\": \"444a37fc-6f04-4fb8-b55c-c3fdc3dba642\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"10.5.1.150\"\n \"id\": \"e2553fcb-1fcc-419a-bf20-fdf38910af54\"\n \"name\": \"\"\n \"network_id\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"172.16.10.254\"\n \"id\": \"e7edb316-169b-4b51-ac6a-4c67f7bd4611\"\n \"name\": \"\"\n \"network_id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"sg_ids\": []\n- \"device_id\": \"4c9df61a-0306-4036-b3e2-68ceff0fd121\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"192.168.1.94\"\n \"id\": \"eb00aa68-66ed-47c5-afc7-fb3b65d5020c\"\n \"name\": \"\"\n \"network_id\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"sg_ids\":\n - \"0a6ffdf8-9b73-4078-bb7f-80d77d8366c4\"\n- \"device_id\": \"29ef279d-55d6-403f-98ab-63859b09cbaf\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"192.168.1.193\"\n \"id\": \"ec92dd6f-87c3-4d35-b79e-dc7be212657b\"\n \"name\": \"\"\n \"network_id\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"sg_ids\":\n - \"c3701b8f-079c-4864-83a6-600c7204a415\"\n- \"device_id\": \"940014fb-b09d-4c43-b3b9-db2820342ba9\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"10.5.1.60\"\n \"id\": \"efbc7990-112f-4040-95bd-9ee8e8554398\"\n \"name\": \"\"\n \"network_id\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n- \"device_id\": \"\"\n \"device_owner\": \"neutron:VIP_PORT\"\n \"fixed_ips\":\n - \"192.168.2.97\"\n \"id\": \"f336ff44-e02b-47bf-8aae-18434afe6071\"\n \"name\": \"\"\n \"network_id\": \"d0c4899f-b567-4d33-bb17-4e28d926cbc5\"\n \"sg_ids\":\n - \"87989c4f-e258-4a8c-a01e-ead42a4f6632\"\n- \"device_id\": \"27dd9e47-59d9-493c-a867-9291c4480b63\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"172.16.10.184\"\n \"id\": \"fe0f5779-8487-49c2-9492-8fd96aba1b60\"\n \"name\": \"\"\n \"network_id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"sg_ids\":\n - \"4088c618-6940-422f-87a2-7be4c26f3910\"\n\"region\": \"eu-de\"\n\"subnets\":\n- \"cidr\": \"192.168.0.0/24\"\n \"id\": \"5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f\"\n \"name\": \"subnet-prod-mgt\"\n \"vpc_id\": \"8165c92f-f183-4e22-a1c2-9df880276a11\"\n- \"cidr\": \"192.168.2.0/24\"\n \"id\": \"d0c4899f-b567-4d33-bb17-4e28d926cbc5\"\n \"name\": \"subnet-prod-data\"\n \"vpc_id\": \"8165c92f-f183-4e22-a1c2-9df880276a11\"\n- \"cidr\": \"192.168.1.0/24\"\n \"id\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"name\": \"subnet-prod-service\"\n \"vpc_id\": \"8165c92f-f183-4e22-a1c2-9df880276a11\"\n", + "type": "string" + }, + "peer_network_yaml_path": { + "value": "peer_network.yaml", + "type": "string" + } + }, + "resources": [ + { + "mode": "data", + "type": "opentelekomcloud_compute_instances_v2", + "name": "all", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "flavor_id": null, + "flavor_name": null, + "id": "4220938230", + "image_id": null, + "instance_id": null, + "instances": [ + { + "availability_zone": "eu-de-03", + "description": "This is the main log aggregator for peer. All Dev, and build logs. With health.", + "flavor_id": "s3.large.2", + "id": "8f0dbccb-d06f-49ef-9e88-f4d1af5c7342", + "image_id": "ca962bbf-de51-4462-a352-4fe5e26ec67c", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "peer-admin-key", + "name": "peer-admin-loki-monitor", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:de:ad:42", + "name": "", + "port": "67d27c76-d02c-4d3a-882f-8076198fb308", + "uuid": "536f3d94-35f2-4aca-9116-16a76d0b91c4" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "80.158.22.100", + "security_groups_ids": [ + "05eb0a9e-2d1f-4fc4-820c-fe13399a9d75" + ], + "status": "ACTIVE", + "system_disk_id": "b3d9bb8f-e0ad-4cba-b947-764ddee4575a", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "The jumphost for the admin VPC group", + "flavor_id": "s7n.small.1", + "id": "d2f50d51-52e3-4163-b8bb-6edd0b569ad4", + "image_id": "cf4ba719-0c8f-4808-b82a-ec71d4e9959c", + "image_name": "Standard_Ubuntu_24.04_amd64_bios_GitLab_3074", + "key_pair": "peer-admin-key", + "name": "peer-admin-jumphost", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:de:ad:10", + "name": "", + "port": "b9b9ce27-1cc7-4c93-88bc-c995dbddd647", + "uuid": "536f3d94-35f2-4aca-9116-16a76d0b91c4" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "80.158.41.189", + "security_groups_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099", + "2bb26324-3989-4458-a614-8425cc6cd21a" + ], + "status": "ACTIVE", + "system_disk_id": "ae7deb34-541e-447a-bbf3-8d6c02c9e3a1", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "This VM ECS servers if to test and monitor the testing einvironment", + "flavor_id": "s3.medium.2", + "id": "bc66c2b9-b493-4a78-a4d6-8729ba0230c9", + "image_id": "c0b68f22-adf5-4348-9cd6-5f27a9295f05", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "peer-email-key", + "name": "ecs-peer-monitor-test", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:10:00:14", + "name": "", + "port": "293f9e4e-dc97-4191-b36d-1eb0c7486035", + "uuid": "090def60-f4da-434f-a374-78dc9817fb6e" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "164.30.7.104", + "security_groups_ids": [ + "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + ], + "status": "ACTIVE", + "system_disk_id": "550ee657-e860-4c0a-a31e-88f00d4a55f8", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "the websocket for the solana and backend test connection", + "flavor_id": "s3.medium.1", + "id": "27dd9e47-59d9-493c-a867-9291c4480b63", + "image_id": "ffbd868d-0688-4d37-8154-525937f908f5", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "testing-websocket", + "name": "ecs-testing-websocket", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:10:0a:b8", + "name": "", + "port": "fe0f5779-8487-49c2-9492-8fd96aba1b60", + "uuid": "048d9e09-4c22-41a4-97f1-793efa67f865" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "80.158.109.151", + "security_groups_ids": [ + "4088c618-6940-422f-87a2-7be4c26f3910" + ], + "status": "ACTIVE", + "system_disk_id": "d308d225-7d2f-4da5-a259-a2f53d483226", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "this is the server for web frontend in prod", + "flavor_id": "s3.medium.1", + "id": "4c9df61a-0306-4036-b3e2-68ceff0fd121", + "image_id": "ffbd868d-0688-4d37-8154-525937f908f5", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "prod_web-frontend", + "name": "ecs-prod_web-frontend", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:b9:12:6f", + "name": "", + "port": "eb00aa68-66ed-47c5-afc7-fb3b65d5020c", + "uuid": "f347c51c-7f22-4a6c-800f-fd6d38686794" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "164.30.12.84", + "security_groups_ids": [ + "0a6ffdf8-9b73-4078-bb7f-80d77d8366c4" + ], + "status": "ACTIVE", + "system_disk_id": "91bf7962-5e90-4c33-976a-68e57267231b", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "Admin server for the postgresDB in production setup.", + "flavor_id": "s3.large.2", + "id": "29ef279d-55d6-403f-98ab-63859b09cbaf", + "image_id": "3903f737-1642-497a-84e7-0663fc1e9caa", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "prod-admin", + "name": "ecs-prod-admin", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:b9:12:d2", + "name": "", + "port": "ec92dd6f-87c3-4d35-b79e-dc7be212657b", + "uuid": "f347c51c-7f22-4a6c-800f-fd6d38686794" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "", + "security_groups_ids": [ + "c3701b8f-079c-4864-83a6-600c7204a415" + ], + "status": "ACTIVE", + "system_disk_id": "d01cdb06-e448-4941-a57f-b0616e331614", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "The backend server for the production setup.", + "flavor_id": "s3.4xlarge.4", + "id": "349d2490-cfd9-4e2c-b4f0-a2c18efb0382", + "image_id": "3903f737-1642-497a-84e7-0663fc1e9caa", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "prod-backend", + "name": "ecs-prod-backend", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:b9:12:c8", + "name": "", + "port": "9df13dbb-7c34-45d1-9312-729e70492485", + "uuid": "f347c51c-7f22-4a6c-800f-fd6d38686794" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "", + "security_groups_ids": [ + "a04d74f1-879a-4c55-8d07-033c8db98065" + ], + "status": "ACTIVE", + "system_disk_id": "531cfed3-b43e-4eed-b291-404533f7b163", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "Jump-Host for the production setup.", + "flavor_id": "s3.medium.1", + "id": "a74ffa01-38c3-42dd-8b60-bf2ee6d662cc", + "image_id": "3903f737-1642-497a-84e7-0663fc1e9caa", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "peer_beta-prod", + "name": "ecs-prod-jump", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:b9:11:52", + "name": "", + "port": "83710b25-11aa-419c-bb65-4d9d031d734c", + "uuid": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "80.158.7.156", + "security_groups_ids": [ + "2b7ee980-efc2-4199-98ad-0a375c3ba291" + ], + "status": "ACTIVE", + "system_disk_id": "5ec8a593-8781-4fcc-bf31-b0ee31fec9b9", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "small server chan for our website ", + "flavor_id": "s3.medium.1", + "id": "87a5f22d-d596-4305-99d3-a5277aab207a", + "image_id": "4ea5ade7-fcb4-4659-82e0-5305e3b5f3cd", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "olaf_work", + "name": "ecs-website", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:f4:f0:19", + "name": "", + "port": "2a6d86d4-eaf9-4a57-b18f-af36760c4eb4", + "uuid": "3089a379-4a7f-4147-aa5e-b2134d6327f7" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "164.30.6.79", + "security_groups_ids": [ + "1e98dd1b-d695-4239-917e-b3d59e47880d" + ], + "status": "ACTIVE", + "system_disk_id": "299d9f91-bc38-469e-b5a8-1bdc9b79e275", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "admin server for the postgres db in peer_beta-testing", + "flavor_id": "s3.medium.1", + "id": "f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c", + "image_id": "4ea5ade7-fcb4-4659-82e0-5305e3b5f3cd", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "beta_testing-key", + "name": "ecs-admin-testing", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:10:0a:f0", + "name": "", + "port": "58e7dce6-1241-46ad-b436-87577c1c3ee4", + "uuid": "048d9e09-4c22-41a4-97f1-793efa67f865" + }, + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:10:0a:f1", + "name": "", + "port": "b461ed0c-0f73-4518-b3e7-098d27b0295c", + "uuid": "048d9e09-4c22-41a4-97f1-793efa67f865" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "80.158.58.249", + "security_groups_ids": [ + "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + ], + "status": "ACTIVE", + "system_disk_id": "c7b4fb41-3ea2-4fcb-81b7-e4711bae0718", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "backend server in our testing environment", + "flavor_id": "s3.medium.1", + "id": "daa26951-e6b7-4e0e-86e0-32f9e669e838", + "image_id": "4ea5ade7-fcb4-4659-82e0-5305e3b5f3cd", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "beta_testing-key", + "name": "ecs-peer-web-testing", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:10:0a:c2", + "name": "", + "port": "caf7dc15-faf7-420e-af0e-0c692a216fb0", + "uuid": "048d9e09-4c22-41a4-97f1-793efa67f865" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "", + "security_groups_ids": [ + "82960534-6f06-4995-8ca7-65b18fffa84b" + ], + "status": "ACTIVE", + "system_disk_id": "22436c21-f3ea-46a7-9421-2d5683bcb954", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "Jump-Host for the testing setup", + "flavor_id": "s3.medium.1", + "id": "fd525b9c-11dd-4e9d-abb7-6ce4b513d602", + "image_id": "4ea5ade7-fcb4-4659-82e0-5305e3b5f3cd", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "beta_testing-key", + "name": "ecs-jump-testing", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:10:00:11", + "name": "", + "port": "6ab37853-36b3-43be-ba26-d1bf37c8e8fb", + "uuid": "090def60-f4da-434f-a374-78dc9817fb6e" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "164.30.10.149", + "security_groups_ids": [ + "170caca7-fbb5-4ade-9a25-ce976d9ed82b" + ], + "status": "ACTIVE", + "system_disk_id": "d7457911-383b-4b04-a802-e5541a256cda", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "Virtual machine for our webbrowser frontend", + "flavor_id": "s3.medium.1", + "id": "444a37fc-6f04-4fb8-b55c-c3fdc3dba642", + "image_id": "37c125a1-3a1d-41f2-8ea0-12895862bd2d", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "olaf_work", + "name": "ecs-frontend-web", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:f4:f0:85", + "name": "", + "port": "e2553fcb-1fcc-419a-bf20-fdf38910af54", + "uuid": "3089a379-4a7f-4147-aa5e-b2134d6327f7" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "80.158.108.20", + "security_groups_ids": [ + "1e98dd1b-d695-4239-917e-b3d59e47880d" + ], + "status": "ACTIVE", + "system_disk_id": "ea32af0a-3824-4d28-b449-7457d0c2a0f5", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-02", + "description": "peer_beta simple admin server", + "flavor_id": "s3.medium.1", + "id": "658e9751-4923-465f-8091-2c6257645a5b", + "image_id": "37c125a1-3a1d-41f2-8ea0-12895862bd2d", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "dev-key", + "name": "ecs-peer-admin", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:f4:f0:e3", + "name": "", + "port": "36625f7e-c4fc-405c-aeed-f2ac4655c778", + "uuid": "3089a379-4a7f-4147-aa5e-b2134d6327f7" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "80.158.60.175", + "security_groups_ids": [ + "4f14fba4-ea42-4ebd-9ff1-16611d07a8e4" + ], + "status": "ACTIVE", + "system_disk_id": "53754122-00fe-4318-a7be-b803d679c261", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "Web-Server for peer_beta", + "flavor_id": "s3.medium.1", + "id": "940014fb-b09d-4c43-b3b9-db2820342ba9", + "image_id": "37c125a1-3a1d-41f2-8ea0-12895862bd2d", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "dev-key", + "name": "ecs-peer-web", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:f4:f0:2b", + "name": "", + "port": "efbc7990-112f-4040-95bd-9ee8e8554398", + "uuid": "3089a379-4a7f-4147-aa5e-b2134d6327f7" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "", + "security_groups_ids": [ + "1e98dd1b-d695-4239-917e-b3d59e47880d" + ], + "status": "ACTIVE", + "system_disk_id": "02ebba9e-b9ac-4a4f-8d2c-5fc71773f81a", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "Jump-Host for peer beta project.", + "flavor_id": "s3.medium.1", + "id": "055f937b-0bb5-4905-b1b5-b053c161480a", + "image_id": "37c125a1-3a1d-41f2-8ea0-12895862bd2d", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "dev-key", + "name": "ecs-peer-jump", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:f4:ef:e0", + "name": "", + "port": "1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1", + "uuid": "b3523510-8a93-4ad9-b5d7-2178464f1f65" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "80.158.61.213", + "security_groups_ids": [ + "abe07485-dd5e-4cb2-a88a-3b10c699a4ee" + ], + "status": "ACTIVE", + "system_disk_id": "b0f6fe3f-a6b4-4c5f-ac78-9485808082dc", + "tags": {}, + "user_data": "" + } + ], + "key_pair": null, + "limit": 100, + "name": null, + "project_id": null, + "status": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_evs_volumes_v2", + "name": "all", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "id": "136788733", + "name": null, + "server_id": null, + "shareable": null, + "status": null, + "tags": null, + "volume_id": null, + "volume_type_id": null, + "volumes": [ + { + "attachments": [ + { + "attached_at": "2025-07-22T07:48:19.474297", + "attached_mode": "rw", + "device_name": "/dev/vdb", + "id": "04aa0538-6db2-417e-9dd3-cd44726f7878", + "server_id": "8f0dbccb-d06f-49ef-9e88-f4d1af5c7342" + } + ], + "availability_zone": "eu-de-03", + "bootable": false, + "create_at": "2025-07-22T07:48:09.989512", + "description": "", + "id": "1ce30403-6ca2-4ddf-8517-52f2b9c2c11d", + "name": "peer-admin-loki-monitor-volume-0001", + "service_type": "EVS", + "shareable": false, + "size": 100, + "status": "in-use", + "tags": {}, + "update_at": "2025-09-28T17:01:37.150122", + "volume_type": "GPSSD", + "wwn": "688860300000a0e9fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2025-07-22T07:48:02.286840", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "e7ee7dd8-a310-4558-9ab3-9d2b1969faab", + "server_id": "8f0dbccb-d06f-49ef-9e88-f4d1af5c7342" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2025-07-22T07:47:56.660245", + "description": "", + "id": "b3d9bb8f-e0ad-4cba-b947-764ddee4575a", + "name": "peer-admin-loki-monitor", + "service_type": "EVS", + "shareable": false, + "size": 20, + "status": "in-use", + "tags": {}, + "update_at": "2025-09-28T17:01:37.506277", + "volume_type": "GPSSD", + "wwn": "6888603000005fa1fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2025-07-21T13:07:10.291433", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "357601f0-6bcc-4835-91fa-235d924f47da", + "server_id": "d2f50d51-52e3-4163-b8bb-6edd0b569ad4" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2025-07-21T13:07:05.291147", + "description": "", + "id": "ae7deb34-541e-447a-bbf3-8d6c02c9e3a1", + "name": "peer-admin-jumphost", + "service_type": "EVS", + "shareable": false, + "size": 10, + "status": "in-use", + "tags": {}, + "update_at": "2025-09-28T17:01:34.286028", + "volume_type": "GPSSD", + "wwn": "68886030000027a4fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2025-06-24T07:58:25.155026", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "86f92e34-c4c7-4abc-b32c-31a69d5d888a", + "server_id": "bc66c2b9-b493-4a78-a4d6-8729ba0230c9" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2025-06-24T07:58:19.848925", + "description": "", + "id": "550ee657-e860-4c0a-a31e-88f00d4a55f8", + "name": "ecs-peer-monitor-test", + "service_type": "EVS", + "shareable": false, + "size": 20, + "status": "in-use", + "tags": {}, + "update_at": "2025-06-24T07:58:25.204214", + "volume_type": "GPSSD", + "wwn": "6888603000002b6ffa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2025-04-09T13:26:34.307498", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "3fad6b88-14aa-4a95-a976-1d06ee7a0b82", + "server_id": "27dd9e47-59d9-493c-a867-9291c4480b63" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2025-04-09T13:26:28.565351", + "description": "", + "id": "d308d225-7d2f-4da5-a259-a2f53d483226", + "name": "ecs-testing-websocket", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta-testing" + }, + "update_at": "2025-04-09T13:26:50.516169", + "volume_type": "GPSSD", + "wwn": "6888603000008519fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2025-03-20T14:20:22.560856", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "476c6f55-de29-4381-b51b-7a4db66548c8", + "server_id": "4c9df61a-0306-4036-b3e2-68ceff0fd121" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2025-03-20T14:20:16.804873", + "description": "", + "id": "91bf7962-5e90-4c33-976a-68e57267231b", + "name": "ecs-prod_web-frontend", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_prod" + }, + "update_at": "2025-09-29T02:02:30.954952", + "volume_type": "GPSSD", + "wwn": "68886030000033e1fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2025-03-04T15:17:55.581129", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "4f76e198-f66e-4075-ad7f-9ba07a1a9683", + "server_id": "29ef279d-55d6-403f-98ab-63859b09cbaf" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2025-03-04T15:17:49.734002", + "description": "", + "id": "d01cdb06-e448-4941-a57f-b0616e331614", + "name": "ecs-prod-admin", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_prod" + }, + "update_at": "2025-09-28T17:01:34.452893", + "volume_type": "GPSSD", + "wwn": "68886030000002ddfa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2025-03-04T12:08:31.054566", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "70628160-633d-4ddd-8ace-23ec2c5185dd", + "server_id": "349d2490-cfd9-4e2c-b4f0-a2c18efb0382" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2025-03-04T12:08:25.331596", + "description": "", + "id": "531cfed3-b43e-4eed-b291-404533f7b163", + "name": "ecs-prod-backend", + "service_type": "EVS", + "shareable": false, + "size": 1000, + "status": "in-use", + "tags": { + "project": "peer_prod" + }, + "update_at": "2025-09-28T17:01:34.479208", + "volume_type": "GPSSD", + "wwn": "6888603000003ec7fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2025-03-04T10:55:53.225073", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "43269dca-4908-44ff-8b74-395334888ab9", + "server_id": "a74ffa01-38c3-42dd-8b60-bf2ee6d662cc" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2025-03-04T10:55:47.349640", + "description": "", + "id": "5ec8a593-8781-4fcc-bf31-b0ee31fec9b9", + "name": "ecs-prod-jump", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_prod" + }, + "update_at": "2025-03-04T10:56:15.000251", + "volume_type": "GPSSD", + "wwn": "6888603000009266fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2024-12-12T10:54:47.492562", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "19c072f0-bac8-4b5e-9d73-efa2e718b5ed", + "server_id": "87a5f22d-d596-4305-99d3-a5277aab207a" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2024-12-12T10:54:42.077121", + "description": "", + "id": "299d9f91-bc38-469e-b5a8-1bdc9b79e275", + "name": "ecs-website", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta" + }, + "update_at": "2024-12-12T10:55:11.988957", + "volume_type": "GPSSD", + "wwn": "6888603000009b0cfa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2024-12-12T10:04:03.119669", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "4aa85647-95eb-48ad-a8f7-20410907fb1c", + "server_id": "f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2024-12-12T10:03:57.171779", + "description": "", + "id": "c7b4fb41-3ea2-4fcb-81b7-e4711bae0718", + "name": "ecs-admin-testing", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta-testing" + }, + "update_at": "2024-12-12T10:04:18.817516", + "volume_type": "GPSSD", + "wwn": "6888603000006329fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2024-12-10T16:11:50.960380", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "36e68769-726b-4fbf-a9f3-a937006178ed", + "server_id": "daa26951-e6b7-4e0e-86e0-32f9e669e838" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2024-12-10T16:11:45.736680", + "description": "", + "id": "22436c21-f3ea-46a7-9421-2d5683bcb954", + "name": "ecs-peer-web-testing", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta-testing" + }, + "update_at": "2024-12-10T16:12:07.181279", + "volume_type": "GPSSD", + "wwn": "6888603000007cc3fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2024-12-10T15:14:18.640680", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "e74ae11e-174b-4345-b778-5753ddf02da4", + "server_id": "fd525b9c-11dd-4e9d-abb7-6ce4b513d602" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2024-12-10T15:14:12.990401", + "description": "", + "id": "d7457911-383b-4b04-a802-e5541a256cda", + "name": "ecs-jump-testing", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta-testing" + }, + "update_at": "2024-12-10T15:14:42.790376", + "volume_type": "GPSSD", + "wwn": "6888603000002db3fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2024-10-17T13:33:03.320359", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "ee2a4cb2-b320-40a8-a8ab-68c5fe80ab0a", + "server_id": "444a37fc-6f04-4fb8-b55c-c3fdc3dba642" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2024-10-17T13:32:46.951046", + "description": "", + "id": "ea32af0a-3824-4d28-b449-7457d0c2a0f5", + "name": "ecs-frontend-web", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta" + }, + "update_at": "2024-10-17T13:33:25.079093", + "volume_type": "GPSSD", + "wwn": "68886030000088e7fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2024-10-07T15:02:34.064678", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "8161ddd7-4c02-4abd-9976-b6861cf75660", + "server_id": "658e9751-4923-465f-8091-2c6257645a5b" + } + ], + "availability_zone": "eu-de-02", + "bootable": true, + "create_at": "2024-10-07T15:01:59.215927", + "description": "", + "id": "53754122-00fe-4318-a7be-b803d679c261", + "name": "ecs-peer-admin-volume-0000", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta" + }, + "update_at": "2025-09-28T17:01:34.414073", + "volume_type": "GPSSD", + "wwn": "6888603000271328fa167fd087948003" + }, + { + "attachments": [ + { + "attached_at": "2024-10-04T15:19:12.660169", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "e9c20709-3601-4c81-9339-7695e92e0106", + "server_id": "940014fb-b09d-4c43-b3b9-db2820342ba9" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2024-10-04T15:18:42.116202", + "description": "", + "id": "02ebba9e-b9ac-4a4f-8d2c-5fc71773f81a", + "name": "ecs-peer-web-volume-0000", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta" + }, + "update_at": "2024-10-04T15:19:51.493158", + "volume_type": "ESSD", + "wwn": "6888603000000023fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2024-10-04T14:43:01.953531", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "bc5530d6-364e-4ae6-ba61-8fe231ead70a", + "server_id": "055f937b-0bb5-4905-b1b5-b053c161480a" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2024-10-04T14:42:26.409715", + "description": "", + "id": "b0f6fe3f-a6b4-4c5f-ac78-9485808082dc", + "name": "ecs-peer-jump-volume-0000", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta" + }, + "update_at": "2024-10-04T14:43:36.012937", + "volume_type": "GPSSD", + "wwn": "6888603000008a32fa16191d45031919" + } + ] + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_lb_loadbalancer_v3", + "name": "lb", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": "575a658a-e02a-41cd-bf70-98c503d9785d", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "availability_zones": [], + "created_at": "2025-03-04T14:29:32Z", + "deletion_protection": false, + "description": "Load Balancer for the production setup.\nCreate Dedicated load balancer when we are close to reaching 50.000 users.", + "id": "575a658a-e02a-41cd-bf70-98c503d9785d", + "ip_target_enable": false, + "l4_flavor": "", + "l7_flavor": "", + "name": "elb-beta_prod", + "network_ids": [], + "public_ip": [ + { + "address": "164.30.18.204", + "bandwidth_charge_mode": "traffic", + "bandwidth_name": "bandwidth-2c88", + "bandwidth_share_type": "PER", + "bandwidth_size": 1000, + "id": "c6078015-ceb0-4634-9281-de1570cc5f91", + "ip_type": "5_bgp" + } + ], + "router_id": "8165c92f-f183-4e22-a1c2-9df880276a11", + "subnet_id": "b42e2e98-45f2-4ec8-94bf-4dd2d7ecf574", + "tags": { + "project": "peer_prod" + }, + "updated_at": "2025-07-07T19:00:33Z", + "vip_address": "192.168.1.110", + "vip_port_id": "607ff469-0f95-4b13-a44e-d55ff078469f" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "df1e56c5-e776-48ad-8c8b-50a8fe9255fa", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "availability_zones": [], + "created_at": "2024-10-07T09:29:12Z", + "deletion_protection": false, + "description": "Load Balancer für die peer_beta", + "id": "df1e56c5-e776-48ad-8c8b-50a8fe9255fa", + "ip_target_enable": false, + "l4_flavor": "", + "l7_flavor": "", + "name": "elb-peer_beta", + "network_ids": [], + "public_ip": [ + { + "address": "164.30.12.76", + "bandwidth_charge_mode": "traffic", + "bandwidth_name": "bandwidth-843b", + "bandwidth_share_type": "PER", + "bandwidth_size": 300, + "id": "ae3f26bf-91bb-41b2-aa70-a0cd8cc59a2c", + "ip_type": "5_bgp" + } + ], + "router_id": "700af767-115d-43b8-8886-a6a4a63d59ef", + "subnet_id": "81493971-bb32-4fa6-9e8a-dc50f7a63486", + "tags": { + "project": "peer_beta" + }, + "updated_at": "2025-05-22T19:29:09Z", + "vip_address": "10.5.1.28", + "vip_port_id": "d575a83c-0f38-41c1-8a1b-bcb2f2a30613" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "f310bbe4-fb86-42e3-acc5-7a8ad5a81fe7", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "availability_zones": [], + "created_at": "2024-12-10T16:13:37Z", + "deletion_protection": false, + "description": "the load balancer for the testing environment", + "id": "f310bbe4-fb86-42e3-acc5-7a8ad5a81fe7", + "ip_target_enable": false, + "l4_flavor": "", + "l7_flavor": "", + "name": "elb-peer_beta-testing", + "network_ids": [], + "public_ip": [ + { + "address": "80.158.19.177", + "bandwidth_charge_mode": "traffic", + "bandwidth_name": "bandwidth-ddb2", + "bandwidth_share_type": "PER", + "bandwidth_size": 300, + "id": "6e2aef18-7fa0-489f-b1af-ff478041e216", + "ip_type": "5_bgp" + } + ], + "router_id": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "subnet_id": "ff0ede7a-6dab-45b4-924d-5e855ab36ea6", + "tags": { + "project": "peer_beta-testing" + }, + "updated_at": "2025-05-22T19:29:10Z", + "vip_address": "172.16.10.91", + "vip_port_id": "2bf1cfbb-5e66-42c3-a49b-0b85353acddf" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_nat_dnat_rules_v2", + "name": "dnat", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2", + "schema_version": 0, + "attributes": { + "description": null, + "external_service_port": null, + "floating_ip_address": null, + "floating_ip_id": null, + "gateway_id": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2", + "id": "9f14978d-c38e-59c9-ce8a-fe6cf602f234", + "internal_service_port": null, + "port_id": null, + "private_ip": null, + "protocol": null, + "region": "eu-de", + "rule_id": null, + "rules": [], + "status": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "60139ab3-c529-4a32-b446-aaa12fa04d5a", + "schema_version": 0, + "attributes": { + "description": null, + "external_service_port": null, + "floating_ip_address": null, + "floating_ip_id": null, + "gateway_id": "60139ab3-c529-4a32-b446-aaa12fa04d5a", + "id": "69aaa227-8e48-af70-b209-11ca6e9c62c3", + "internal_service_port": null, + "port_id": null, + "private_ip": null, + "protocol": null, + "region": "eu-de", + "rule_id": null, + "rules": [], + "status": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "fea334e5-551e-4e6f-873c-32016fb71755", + "schema_version": 0, + "attributes": { + "description": null, + "external_service_port": null, + "floating_ip_address": null, + "floating_ip_id": null, + "gateway_id": "fea334e5-551e-4e6f-873c-32016fb71755", + "id": "f457d095-11f9-7764-dc5d-655a9fb52a7b", + "internal_service_port": null, + "port_id": null, + "private_ip": null, + "protocol": null, + "region": "eu-de", + "rule_id": null, + "rules": [], + "status": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_nat_snat_rules_v2", + "name": "snat", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2", + "schema_version": 0, + "attributes": { + "cidr": null, + "description": null, + "floating_ip_address": null, + "floating_ip_id": null, + "gateway_id": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2", + "id": "4df8ab73-c311-57c0-6af1-5b6b23e08569", + "project_id": null, + "region": "eu-de", + "rule_id": null, + "rules": [ + { + "admin_state_up": true, + "cidr": "", + "created_at": "2025-03-04 10:19:01.600845", + "floating_ip_address": "164.30.10.134", + "floating_ip_id": "a71733dd-8500-488c-b5e2-7f9b4a75e53e", + "gateway_id": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2", + "id": "9132597a-1761-477c-83f1-89678ee97762", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "source_type": 0, + "status": "ACTIVE", + "subnet_id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f" + }, + { + "admin_state_up": true, + "cidr": "", + "created_at": "2025-03-04 10:19:55.572092", + "floating_ip_address": "164.30.10.134", + "floating_ip_id": "a71733dd-8500-488c-b5e2-7f9b4a75e53e", + "gateway_id": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2", + "id": "f4bbc723-f330-445c-b851-ccc88d1c8058", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "source_type": 0, + "status": "ACTIVE", + "subnet_id": "f347c51c-7f22-4a6c-800f-fd6d38686794" + } + ], + "source_type": null, + "status": null, + "subnet_id": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "60139ab3-c529-4a32-b446-aaa12fa04d5a", + "schema_version": 0, + "attributes": { + "cidr": null, + "description": null, + "floating_ip_address": null, + "floating_ip_id": null, + "gateway_id": "60139ab3-c529-4a32-b446-aaa12fa04d5a", + "id": "93f9a935-7152-bb94-f1ee-bf1f2ce8979a", + "project_id": null, + "region": "eu-de", + "rule_id": null, + "rules": [ + { + "admin_state_up": true, + "cidr": "", + "created_at": "2024-12-10 17:02:23.825522", + "floating_ip_address": "80.158.37.0", + "floating_ip_id": "8b4899b1-abe3-48f5-9c15-2e6ecc7f8b6f", + "gateway_id": "60139ab3-c529-4a32-b446-aaa12fa04d5a", + "id": "5a0dc961-0741-4a68-89ea-ec64453d6d08", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "source_type": 0, + "status": "ACTIVE", + "subnet_id": "048d9e09-4c22-41a4-97f1-793efa67f865" + }, + { + "admin_state_up": true, + "cidr": "", + "created_at": "2024-12-10 17:01:46.043060", + "floating_ip_address": "80.158.37.0", + "floating_ip_id": "8b4899b1-abe3-48f5-9c15-2e6ecc7f8b6f", + "gateway_id": "60139ab3-c529-4a32-b446-aaa12fa04d5a", + "id": "68d9d9fe-03b8-44f3-aa1f-d16f350c24eb", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "source_type": 0, + "status": "ACTIVE", + "subnet_id": "090def60-f4da-434f-a374-78dc9817fb6e" + } + ], + "source_type": null, + "status": null, + "subnet_id": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "fea334e5-551e-4e6f-873c-32016fb71755", + "schema_version": 0, + "attributes": { + "cidr": null, + "description": null, + "floating_ip_address": null, + "floating_ip_id": null, + "gateway_id": "fea334e5-551e-4e6f-873c-32016fb71755", + "id": "823d1272-9d9e-dae3-f8d1-1f41eb0ae300", + "project_id": null, + "region": "eu-de", + "rule_id": null, + "rules": [ + { + "admin_state_up": true, + "cidr": "", + "created_at": "2024-10-03 13:41:42.960206", + "floating_ip_address": "80.158.111.42", + "floating_ip_id": "48b84a18-a145-46bf-a2bd-4d415602e3ac", + "gateway_id": "fea334e5-551e-4e6f-873c-32016fb71755", + "id": "20ac783e-9263-4c93-a1eb-f785e4165a30", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "source_type": 0, + "status": "ACTIVE", + "subnet_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7" + }, + { + "admin_state_up": true, + "cidr": "", + "created_at": "2024-10-03 13:41:25.209570", + "floating_ip_address": "80.158.111.42", + "floating_ip_id": "48b84a18-a145-46bf-a2bd-4d415602e3ac", + "gateway_id": "fea334e5-551e-4e6f-873c-32016fb71755", + "id": "2ab92e52-6113-462b-8177-904d4c136874", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "source_type": 0, + "status": "ACTIVE", + "subnet_id": "b3523510-8a93-4ad9-b5d7-2178464f1f65" + } + ], + "source_type": null, + "status": null, + "subnet_id": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_networking_port_ids_v2", + "name": "all", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "device_id": null, + "device_owner": null, + "fixed_ip": null, + "id": "1928650870", + "ids": [ + "0790568d-b9e2-4a9a-9025-21ddf991cc48", + "19a25d81-bab5-4241-91be-c2b92ce93b65", + "1ca90188-3e4f-4eca-ae88-160aa5481068", + "1fdd28c2-1f57-4f59-93a6-50752741c4ec", + "1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1", + "293f9e4e-dc97-4191-b36d-1eb0c7486035", + "2a6d86d4-eaf9-4a57-b18f-af36760c4eb4", + "2bf1cfbb-5e66-42c3-a49b-0b85353acddf", + "36625f7e-c4fc-405c-aeed-f2ac4655c778", + "395b146b-cf9a-4114-9a49-25a236064ae5", + "437a47c2-bee0-4630-b355-f2d67f85097d", + "43b6145f-1525-4746-980b-272c6a1bf7ea", + "50ea4666-0764-44c3-b11a-ebedeadb205a", + "58e7dce6-1241-46ad-b436-87577c1c3ee4", + "607ff469-0f95-4b13-a44e-d55ff078469f", + "609e00c1-f0be-468e-9af7-e851a4100442", + "67d27c76-d02c-4d3a-882f-8076198fb308", + "6ab37853-36b3-43be-ba26-d1bf37c8e8fb", + "77fe3322-10ec-4881-8b60-8d4e6dfe15be", + "806bdef6-7abc-4bc3-a0e4-85118ea5a56d", + "8147cb5a-21d4-4afd-a58d-0d5e08d9a210", + "8325dcec-210a-4fe2-979d-1caa0fcf666f", + "83710b25-11aa-419c-bb65-4d9d031d734c", + "841601e4-e345-4279-abc4-aa0bbd59e5f8", + "8f60b980-8cdd-449e-a155-90ec0905d291", + "9921d2dc-753b-43c9-a270-33cf2f964e4d", + "9dee05af-52d0-49d8-af88-d095da974103", + "9df13dbb-7c34-45d1-9312-729e70492485", + "a5d0eca7-82a8-4e00-a973-83093951c5df", + "a9fdaace-051c-4b20-9276-691ab9fc0397", + "ab2b26f5-55c9-4527-a42a-b515b2fcf3d2", + "aef685c3-d684-4016-b603-bec6a877e665", + "b4263be0-37e1-4815-8326-3ab128364ce9", + "b461ed0c-0f73-4518-b3e7-098d27b0295c", + "b7501686-e7c7-4561-bb4a-570f6f972731", + "b9b9ce27-1cc7-4c93-88bc-c995dbddd647", + "be379a1c-2f68-482e-81cd-04a004e55fe7", + "c0b01611-2371-4cdc-824a-85462695d864", + "caf7dc15-faf7-420e-af0e-0c692a216fb0", + "cba4fcbd-8f68-4601-ae0a-785bc244994e", + "cf0bc239-9473-4f42-9c1a-1edc965b62bc", + "d575a83c-0f38-41c1-8a1b-bcb2f2a30613", + "d92bdd57-1e45-4b49-8458-9108fd0638c7", + "dab86af4-478e-48b7-a8c8-31d49c5e2961", + "dc630d3a-d638-4666-bf2e-8fbbc305d5f1", + "dcb3cd66-864f-4d96-8621-74bef6044d03", + "df7cd690-559b-4226-9c6b-0542fd98eee1", + "e2553fcb-1fcc-419a-bf20-fdf38910af54", + "e7edb316-169b-4b51-ac6a-4c67f7bd4611", + "eb00aa68-66ed-47c5-afc7-fb3b65d5020c", + "ec92dd6f-87c3-4d35-b79e-dc7be212657b", + "efbc7990-112f-4040-95bd-9ee8e8554398", + "f336ff44-e02b-47bf-8aae-18434afe6071", + "fe0f5779-8487-49c2-9492-8fd96aba1b60" + ], + "mac_address": null, + "name": null, + "network_id": null, + "project_id": null, + "region": "eu-de", + "security_group_ids": null, + "sort_direction": null, + "sort_key": null, + "status": null, + "tenant_id": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_networking_port_v2", + "name": "by_id", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": "0790568d-b9e2-4a9a-9025-21ddf991cc48", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.50.50.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "0790568d-b9e2-4a9a-9025-21ddf991cc48", + "mac_address": "fa:16:3e:cd:77:ee", + "name": "", + "network_id": "43768ec1-f43b-4c28-97b3-98cd1408ebcc", + "port_id": "0790568d-b9e2-4a9a-9025-21ddf991cc48", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "19a25d81-bab5-4241-91be-c2b92ce93b65", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.1.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "8165c92f-f183-4e22-a1c2-9df880276a11", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "19a25d81-bab5-4241-91be-c2b92ce93b65", + "mac_address": "fa:16:3e:79:76:0a", + "name": "b42e2e98-45f2-4ec8-94bf-4dd2d7ecf574", + "network_id": "f347c51c-7f22-4a6c-800f-fd6d38686794", + "port_id": "19a25d81-bab5-4241-91be-c2b92ce93b65", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "1ca90188-3e4f-4eca-ae88-160aa5481068", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.0.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "1ca90188-3e4f-4eca-ae88-160aa5481068", + "mac_address": "fa:16:3e:8a:d0:e7", + "name": "da92bfcd-fbdb-40c4-976e-339446831330", + "network_id": "090def60-f4da-434f-a374-78dc9817fb6e", + "port_id": "1ca90188-3e4f-4eca-ae88-160aa5481068", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "1fdd28c2-1f57-4f59-93a6-50752741c4ec", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.50.50.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "cb43c4e5-e25c-4727-b7ce-6b9995edffac", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "1fdd28c2-1f57-4f59-93a6-50752741c4ec", + "mac_address": "fa:16:3e:f4:43:ea", + "name": "15df7a53-3edf-4316-a812-a47c7b0d63e7", + "network_id": "43768ec1-f43b-4c28-97b3-98cd1408ebcc", + "port_id": "1fdd28c2-1f57-4f59-93a6-50752741c4ec", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.0.241" + ], + "all_security_group_ids": [ + "abe07485-dd5e-4cb2-a88a-3b10c699a4ee" + ], + "device_id": "055f937b-0bb5-4905-b1b5-b053c161480a", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1", + "mac_address": "fa:16:3e:f4:ef:e0", + "name": "", + "network_id": "b3523510-8a93-4ad9-b5d7-2178464f1f65", + "port_id": "1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "293f9e4e-dc97-4191-b36d-1eb0c7486035", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.0.20" + ], + "all_security_group_ids": [ + "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + ], + "device_id": "bc66c2b9-b493-4a78-a4d6-8729ba0230c9", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "293f9e4e-dc97-4191-b36d-1eb0c7486035", + "mac_address": "fa:16:3e:10:00:14", + "name": "", + "network_id": "090def60-f4da-434f-a374-78dc9817fb6e", + "port_id": "293f9e4e-dc97-4191-b36d-1eb0c7486035", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "2a6d86d4-eaf9-4a57-b18f-af36760c4eb4", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.1.42" + ], + "all_security_group_ids": [ + "1e98dd1b-d695-4239-917e-b3d59e47880d" + ], + "device_id": "87a5f22d-d596-4305-99d3-a5277aab207a", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "2a6d86d4-eaf9-4a57-b18f-af36760c4eb4", + "mac_address": "fa:16:3e:f4:f0:19", + "name": "", + "network_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7", + "port_id": "2a6d86d4-eaf9-4a57-b18f-af36760c4eb4", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "2bf1cfbb-5e66-42c3-a49b-0b85353acddf", + "schema_version": 0, + "attributes": { + "admin_state_up": false, + "all_fixed_ips": [ + "172.16.10.91" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "f310bbe4-fb86-42e3-acc5-7a8ad5a81fe7", + "device_owner": "neutron:LOADBALANCERV2", + "fixed_ip": null, + "id": "2bf1cfbb-5e66-42c3-a49b-0b85353acddf", + "mac_address": "fa:16:5f:f9:a0:00", + "name": "loadbalancer-f310bbe4-fb86-42e3-acc5-7a8ad5a81fe7", + "network_id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "port_id": "2bf1cfbb-5e66-42c3-a49b-0b85353acddf", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "36625f7e-c4fc-405c-aeed-f2ac4655c778", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.1.244" + ], + "all_security_group_ids": [ + "4f14fba4-ea42-4ebd-9ff1-16611d07a8e4" + ], + "device_id": "658e9751-4923-465f-8091-2c6257645a5b", + "device_owner": "compute:eu-de-02", + "fixed_ip": null, + "id": "36625f7e-c4fc-405c-aeed-f2ac4655c778", + "mac_address": "fa:16:3e:f4:f0:e3", + "name": "", + "network_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7", + "port_id": "36625f7e-c4fc-405c-aeed-f2ac4655c778", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "395b146b-cf9a-4114-9a49-25a236064ae5", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.20.156" + ], + "all_security_group_ids": [ + "cc76cd06-5c73-4833-bb8b-5587f29abab0" + ], + "device_id": "0e098681-9464-446a-b0d4-eada436ef036", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "395b146b-cf9a-4114-9a49-25a236064ae5", + "mac_address": "fa:16:3e:10:14:9c", + "name": "dbs_0e098681-9464-446a-b0d4-eada436ef036", + "network_id": "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a", + "port_id": "395b146b-cf9a-4114-9a49-25a236064ae5", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "437a47c2-bee0-4630-b355-f2d67f85097d", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.2.71" + ], + "all_security_group_ids": [ + "05879954-6c44-48eb-9497-c87512321460" + ], + "device_id": "aff5f984-524b-4078-92bc-218d781dd70f", + "device_owner": "compute:eu-de-02", + "fixed_ip": null, + "id": "437a47c2-bee0-4630-b355-f2d67f85097d", + "mac_address": "fa:16:3e:f4:f1:36", + "name": "dbs_aff5f984-524b-4078-92bc-218d781dd70f", + "network_id": "ae7211cf-a76b-45b9-a291-351768e4d954", + "port_id": "437a47c2-bee0-4630-b355-f2d67f85097d", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "43b6145f-1525-4746-980b-272c6a1bf7ea", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.1.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "43b6145f-1525-4746-980b-272c6a1bf7ea", + "mac_address": "fa:16:3e:4d:f8:31", + "name": "", + "network_id": "f347c51c-7f22-4a6c-800f-fd6d38686794", + "port_id": "43b6145f-1525-4746-980b-272c6a1bf7ea", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "50ea4666-0764-44c3-b11a-ebedeadb205a", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.2.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "8165c92f-f183-4e22-a1c2-9df880276a11", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "50ea4666-0764-44c3-b11a-ebedeadb205a", + "mac_address": "fa:16:3e:78:cf:e7", + "name": "9f4d41cb-1a40-4520-9e89-a3ada8acffa1", + "network_id": "d0c4899f-b567-4d33-bb17-4e28d926cbc5", + "port_id": "50ea4666-0764-44c3-b11a-ebedeadb205a", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "58e7dce6-1241-46ad-b436-87577c1c3ee4", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.10.240" + ], + "all_security_group_ids": [ + "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + ], + "device_id": "f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "58e7dce6-1241-46ad-b436-87577c1c3ee4", + "mac_address": "fa:16:3e:10:0a:f0", + "name": "", + "network_id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "port_id": "58e7dce6-1241-46ad-b436-87577c1c3ee4", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "607ff469-0f95-4b13-a44e-d55ff078469f", + "schema_version": 0, + "attributes": { + "admin_state_up": false, + "all_fixed_ips": [ + "192.168.1.110" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "575a658a-e02a-41cd-bf70-98c503d9785d", + "device_owner": "neutron:LOADBALANCERV2", + "fixed_ip": null, + "id": "607ff469-0f95-4b13-a44e-d55ff078469f", + "mac_address": "fa:16:5f:8c:0f:df", + "name": "loadbalancer-575a658a-e02a-41cd-bf70-98c503d9785d", + "network_id": "f347c51c-7f22-4a6c-800f-fd6d38686794", + "port_id": "607ff469-0f95-4b13-a44e-d55ff078469f", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "609e00c1-f0be-468e-9af7-e851a4100442", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.0.109" + ], + "all_security_group_ids": [], + "device_id": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2", + "device_owner": "network:nat_gateway", + "fixed_ip": null, + "id": "609e00c1-f0be-468e-9af7-e851a4100442", + "mac_address": "fa:16:3e:b9:11:7e", + "name": "NAT_GATEWAYTAGS", + "network_id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f", + "port_id": "609e00c1-f0be-468e-9af7-e851a4100442", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "67d27c76-d02c-4d3a-882f-8076198fb308", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.50.1.150" + ], + "all_security_group_ids": [ + "05eb0a9e-2d1f-4fc4-820c-fe13399a9d75" + ], + "device_id": "8f0dbccb-d06f-49ef-9e88-f4d1af5c7342", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "67d27c76-d02c-4d3a-882f-8076198fb308", + "mac_address": "fa:16:3e:de:ad:42", + "name": "", + "network_id": "536f3d94-35f2-4aca-9116-16a76d0b91c4", + "port_id": "67d27c76-d02c-4d3a-882f-8076198fb308", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "6ab37853-36b3-43be-ba26-d1bf37c8e8fb", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.0.17" + ], + "all_security_group_ids": [ + "170caca7-fbb5-4ade-9a25-ce976d9ed82b" + ], + "device_id": "fd525b9c-11dd-4e9d-abb7-6ce4b513d602", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "6ab37853-36b3-43be-ba26-d1bf37c8e8fb", + "mac_address": "fa:16:3e:10:00:11", + "name": "", + "network_id": "090def60-f4da-434f-a374-78dc9817fb6e", + "port_id": "6ab37853-36b3-43be-ba26-d1bf37c8e8fb", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "77fe3322-10ec-4881-8b60-8d4e6dfe15be", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.20.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "77fe3322-10ec-4881-8b60-8d4e6dfe15be", + "mac_address": "fa:16:3e:7a:93:a8", + "name": "7d2dd8db-38e5-4526-ace9-d6bddd573e88", + "network_id": "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a", + "port_id": "77fe3322-10ec-4881-8b60-8d4e6dfe15be", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "806bdef6-7abc-4bc3-a0e4-85118ea5a56d", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.20.48" + ], + "all_security_group_ids": [ + "cc76cd06-5c73-4833-bb8b-5587f29abab0" + ], + "device_id": "75eaedd4-3721-4001-9bbe-677050a4b70e", + "device_owner": "compute:eu-de-01", + "fixed_ip": null, + "id": "806bdef6-7abc-4bc3-a0e4-85118ea5a56d", + "mac_address": "fa:16:3e:10:14:30", + "name": "dbs_75eaedd4-3721-4001-9bbe-677050a4b70e", + "network_id": "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a", + "port_id": "806bdef6-7abc-4bc3-a0e4-85118ea5a56d", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "8147cb5a-21d4-4afd-a58d-0d5e08d9a210", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.0.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "8147cb5a-21d4-4afd-a58d-0d5e08d9a210", + "mac_address": "fa:16:3e:67:4a:8f", + "name": "", + "network_id": "b3523510-8a93-4ad9-b5d7-2178464f1f65", + "port_id": "8147cb5a-21d4-4afd-a58d-0d5e08d9a210", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "8325dcec-210a-4fe2-979d-1caa0fcf666f", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.0.203" + ], + "all_security_group_ids": [], + "device_id": "60139ab3-c529-4a32-b446-aaa12fa04d5a", + "device_owner": "network:nat_gateway", + "fixed_ip": null, + "id": "8325dcec-210a-4fe2-979d-1caa0fcf666f", + "mac_address": "fa:16:3e:10:00:cb", + "name": "NAT_GATEWAYTAGS", + "network_id": "090def60-f4da-434f-a374-78dc9817fb6e", + "port_id": "8325dcec-210a-4fe2-979d-1caa0fcf666f", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "83710b25-11aa-419c-bb65-4d9d031d734c", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.0.65" + ], + "all_security_group_ids": [ + "2b7ee980-efc2-4199-98ad-0a375c3ba291" + ], + "device_id": "a74ffa01-38c3-42dd-8b60-bf2ee6d662cc", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "83710b25-11aa-419c-bb65-4d9d031d734c", + "mac_address": "fa:16:3e:b9:11:52", + "name": "", + "network_id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f", + "port_id": "83710b25-11aa-419c-bb65-4d9d031d734c", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "841601e4-e345-4279-abc4-aa0bbd59e5f8", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.0.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "841601e4-e345-4279-abc4-aa0bbd59e5f8", + "mac_address": "fa:16:3e:2c:16:71", + "name": "", + "network_id": "090def60-f4da-434f-a374-78dc9817fb6e", + "port_id": "841601e4-e345-4279-abc4-aa0bbd59e5f8", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "8f60b980-8cdd-449e-a155-90ec0905d291", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.2.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "8f60b980-8cdd-449e-a155-90ec0905d291", + "mac_address": "fa:16:3e:6b:73:e7", + "name": "", + "network_id": "ae7211cf-a76b-45b9-a291-351768e4d954", + "port_id": "8f60b980-8cdd-449e-a155-90ec0905d291", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "9921d2dc-753b-43c9-a270-33cf2f964e4d", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.0.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "8165c92f-f183-4e22-a1c2-9df880276a11", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "9921d2dc-753b-43c9-a270-33cf2f964e4d", + "mac_address": "fa:16:3e:e7:0a:ec", + "name": "43681d41-0d60-48b9-9817-6a712612fe3f", + "network_id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f", + "port_id": "9921d2dc-753b-43c9-a270-33cf2f964e4d", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "9dee05af-52d0-49d8-af88-d095da974103", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.20.36" + ], + "all_security_group_ids": [ + "cc76cd06-5c73-4833-bb8b-5587f29abab0" + ], + "device_id": "", + "device_owner": "neutron:VIP_PORT", + "fixed_ip": null, + "id": "9dee05af-52d0-49d8-af88-d095da974103", + "mac_address": "fa:16:3e:10:14:24", + "name": "", + "network_id": "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a", + "port_id": "9dee05af-52d0-49d8-af88-d095da974103", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "9df13dbb-7c34-45d1-9312-729e70492485", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.1.183" + ], + "all_security_group_ids": [ + "a04d74f1-879a-4c55-8d07-033c8db98065" + ], + "device_id": "349d2490-cfd9-4e2c-b4f0-a2c18efb0382", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "9df13dbb-7c34-45d1-9312-729e70492485", + "mac_address": "fa:16:3e:b9:12:c8", + "name": "", + "network_id": "f347c51c-7f22-4a6c-800f-fd6d38686794", + "port_id": "9df13dbb-7c34-45d1-9312-729e70492485", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "a5d0eca7-82a8-4e00-a973-83093951c5df", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.50.1.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "a5d0eca7-82a8-4e00-a973-83093951c5df", + "mac_address": "fa:16:3e:dc:45:b1", + "name": "", + "network_id": "536f3d94-35f2-4aca-9116-16a76d0b91c4", + "port_id": "a5d0eca7-82a8-4e00-a973-83093951c5df", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "a9fdaace-051c-4b20-9276-691ab9fc0397", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.1.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "700af767-115d-43b8-8886-a6a4a63d59ef", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "a9fdaace-051c-4b20-9276-691ab9fc0397", + "mac_address": "fa:16:3e:04:9a:bf", + "name": "81493971-bb32-4fa6-9e8a-dc50f7a63486", + "network_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7", + "port_id": "a9fdaace-051c-4b20-9276-691ab9fc0397", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "ab2b26f5-55c9-4527-a42a-b515b2fcf3d2", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.2.164" + ], + "all_security_group_ids": [ + "87989c4f-e258-4a8c-a01e-ead42a4f6632" + ], + "device_id": "981d3c45-29f8-4aab-a081-147f73890612", + "device_owner": "compute:eu-de-01", + "fixed_ip": null, + "id": "ab2b26f5-55c9-4527-a42a-b515b2fcf3d2", + "mac_address": "fa:16:3e:b9:13:b5", + "name": "dbs_981d3c45-29f8-4aab-a081-147f73890612", + "network_id": "d0c4899f-b567-4d33-bb17-4e28d926cbc5", + "port_id": "ab2b26f5-55c9-4527-a42a-b515b2fcf3d2", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "aef685c3-d684-4016-b603-bec6a877e665", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.2.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "700af767-115d-43b8-8886-a6a4a63d59ef", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "aef685c3-d684-4016-b603-bec6a877e665", + "mac_address": "fa:16:3e:24:c0:ea", + "name": "9a1a7c23-c024-420d-bece-3ab50296b2ff", + "network_id": "ae7211cf-a76b-45b9-a291-351768e4d954", + "port_id": "aef685c3-d684-4016-b603-bec6a877e665", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "b4263be0-37e1-4815-8326-3ab128364ce9", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.0.128" + ], + "all_security_group_ids": [], + "device_id": "fea334e5-551e-4e6f-873c-32016fb71755", + "device_owner": "network:nat_gateway", + "fixed_ip": null, + "id": "b4263be0-37e1-4815-8326-3ab128364ce9", + "mac_address": "fa:16:3e:f4:ef:6f", + "name": "NAT_GATEWAYTAGS", + "network_id": "b3523510-8a93-4ad9-b5d7-2178464f1f65", + "port_id": "b4263be0-37e1-4815-8326-3ab128364ce9", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "b461ed0c-0f73-4518-b3e7-098d27b0295c", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.10.241" + ], + "all_security_group_ids": [ + "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + ], + "device_id": "f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "b461ed0c-0f73-4518-b3e7-098d27b0295c", + "mac_address": "fa:16:3e:10:0a:f1", + "name": "", + "network_id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "port_id": "b461ed0c-0f73-4518-b3e7-098d27b0295c", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "b7501686-e7c7-4561-bb4a-570f6f972731", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.50.1.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "cb43c4e5-e25c-4727-b7ce-6b9995edffac", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "b7501686-e7c7-4561-bb4a-570f6f972731", + "mac_address": "fa:16:3e:f7:26:83", + "name": "9dc18541-7290-43e4-98d5-9c99519d10c9", + "network_id": "536f3d94-35f2-4aca-9116-16a76d0b91c4", + "port_id": "b7501686-e7c7-4561-bb4a-570f6f972731", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "b9b9ce27-1cc7-4c93-88bc-c995dbddd647", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.50.1.100" + ], + "all_security_group_ids": [ + "2bb26324-3989-4458-a614-8425cc6cd21a", + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "d2f50d51-52e3-4163-b8bb-6edd0b569ad4", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "b9b9ce27-1cc7-4c93-88bc-c995dbddd647", + "mac_address": "fa:16:3e:de:ad:10", + "name": "", + "network_id": "536f3d94-35f2-4aca-9116-16a76d0b91c4", + "port_id": "b9b9ce27-1cc7-4c93-88bc-c995dbddd647", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "be379a1c-2f68-482e-81cd-04a004e55fe7", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.2.92" + ], + "all_security_group_ids": [ + "87989c4f-e258-4a8c-a01e-ead42a4f6632" + ], + "device_id": "18444996-dd87-472a-abb2-61c23707c3a2", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "be379a1c-2f68-482e-81cd-04a004e55fe7", + "mac_address": "fa:16:3e:b9:13:6d", + "name": "dbs_18444996-dd87-472a-abb2-61c23707c3a2", + "network_id": "d0c4899f-b567-4d33-bb17-4e28d926cbc5", + "port_id": "be379a1c-2f68-482e-81cd-04a004e55fe7", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "c0b01611-2371-4cdc-824a-85462695d864", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.20.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "c0b01611-2371-4cdc-824a-85462695d864", + "mac_address": "fa:16:3e:03:73:13", + "name": "", + "network_id": "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a", + "port_id": "c0b01611-2371-4cdc-824a-85462695d864", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "caf7dc15-faf7-420e-af0e-0c692a216fb0", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.10.194" + ], + "all_security_group_ids": [ + "82960534-6f06-4995-8ca7-65b18fffa84b" + ], + "device_id": "daa26951-e6b7-4e0e-86e0-32f9e669e838", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "caf7dc15-faf7-420e-af0e-0c692a216fb0", + "mac_address": "fa:16:3e:10:0a:c2", + "name": "", + "network_id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "port_id": "caf7dc15-faf7-420e-af0e-0c692a216fb0", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "cba4fcbd-8f68-4601-ae0a-785bc244994e", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.0.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "700af767-115d-43b8-8886-a6a4a63d59ef", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "cba4fcbd-8f68-4601-ae0a-785bc244994e", + "mac_address": "fa:16:3e:07:95:2c", + "name": "c5300a6a-417d-4833-9d43-08c134376b0d", + "network_id": "b3523510-8a93-4ad9-b5d7-2178464f1f65", + "port_id": "cba4fcbd-8f68-4601-ae0a-785bc244994e", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "cf0bc239-9473-4f42-9c1a-1edc965b62bc", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.2.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "cf0bc239-9473-4f42-9c1a-1edc965b62bc", + "mac_address": "fa:16:3e:fd:b9:6c", + "name": "", + "network_id": "d0c4899f-b567-4d33-bb17-4e28d926cbc5", + "port_id": "cf0bc239-9473-4f42-9c1a-1edc965b62bc", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "d575a83c-0f38-41c1-8a1b-bcb2f2a30613", + "schema_version": 0, + "attributes": { + "admin_state_up": false, + "all_fixed_ips": [ + "10.5.1.28" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "df1e56c5-e776-48ad-8c8b-50a8fe9255fa", + "device_owner": "neutron:LOADBALANCERV2", + "fixed_ip": null, + "id": "d575a83c-0f38-41c1-8a1b-bcb2f2a30613", + "mac_address": "fa:16:5f:22:05:6a", + "name": "loadbalancer-df1e56c5-e776-48ad-8c8b-50a8fe9255fa", + "network_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7", + "port_id": "d575a83c-0f38-41c1-8a1b-bcb2f2a30613", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "d92bdd57-1e45-4b49-8458-9108fd0638c7", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.2.186" + ], + "all_security_group_ids": [ + "05879954-6c44-48eb-9497-c87512321460" + ], + "device_id": "", + "device_owner": "neutron:VIP_PORT", + "fixed_ip": null, + "id": "d92bdd57-1e45-4b49-8458-9108fd0638c7", + "mac_address": "fa:16:3e:f4:f1:a9", + "name": "", + "network_id": "ae7211cf-a76b-45b9-a291-351768e4d954", + "port_id": "d92bdd57-1e45-4b49-8458-9108fd0638c7", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "dab86af4-478e-48b7-a8c8-31d49c5e2961", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.2.201" + ], + "all_security_group_ids": [ + "05879954-6c44-48eb-9497-c87512321460" + ], + "device_id": "35ba18a1-1209-4786-a2d7-b0233f13cd84", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "dab86af4-478e-48b7-a8c8-31d49c5e2961", + "mac_address": "fa:16:3e:f4:f1:b8", + "name": "dbs_35ba18a1-1209-4786-a2d7-b0233f13cd84", + "network_id": "ae7211cf-a76b-45b9-a291-351768e4d954", + "port_id": "dab86af4-478e-48b7-a8c8-31d49c5e2961", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "dc630d3a-d638-4666-bf2e-8fbbc305d5f1", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.10.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "dc630d3a-d638-4666-bf2e-8fbbc305d5f1", + "mac_address": "fa:16:3e:af:36:88", + "name": "ff0ede7a-6dab-45b4-924d-5e855ab36ea6", + "network_id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "port_id": "dc630d3a-d638-4666-bf2e-8fbbc305d5f1", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "dcb3cd66-864f-4d96-8621-74bef6044d03", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.1.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "dcb3cd66-864f-4d96-8621-74bef6044d03", + "mac_address": "fa:16:3e:95:11:31", + "name": "", + "network_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7", + "port_id": "dcb3cd66-864f-4d96-8621-74bef6044d03", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "df7cd690-559b-4226-9c6b-0542fd98eee1", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.0.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "df7cd690-559b-4226-9c6b-0542fd98eee1", + "mac_address": "fa:16:3e:ac:58:b3", + "name": "", + "network_id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f", + "port_id": "df7cd690-559b-4226-9c6b-0542fd98eee1", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "e2553fcb-1fcc-419a-bf20-fdf38910af54", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.1.150" + ], + "all_security_group_ids": [ + "1e98dd1b-d695-4239-917e-b3d59e47880d" + ], + "device_id": "444a37fc-6f04-4fb8-b55c-c3fdc3dba642", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "e2553fcb-1fcc-419a-bf20-fdf38910af54", + "mac_address": "fa:16:3e:f4:f0:85", + "name": "", + "network_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7", + "port_id": "e2553fcb-1fcc-419a-bf20-fdf38910af54", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "e7edb316-169b-4b51-ac6a-4c67f7bd4611", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.10.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "e7edb316-169b-4b51-ac6a-4c67f7bd4611", + "mac_address": "fa:16:3e:68:e3:7e", + "name": "", + "network_id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "port_id": "e7edb316-169b-4b51-ac6a-4c67f7bd4611", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "eb00aa68-66ed-47c5-afc7-fb3b65d5020c", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.1.94" + ], + "all_security_group_ids": [ + "0a6ffdf8-9b73-4078-bb7f-80d77d8366c4" + ], + "device_id": "4c9df61a-0306-4036-b3e2-68ceff0fd121", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "eb00aa68-66ed-47c5-afc7-fb3b65d5020c", + "mac_address": "fa:16:3e:b9:12:6f", + "name": "", + "network_id": "f347c51c-7f22-4a6c-800f-fd6d38686794", + "port_id": "eb00aa68-66ed-47c5-afc7-fb3b65d5020c", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "ec92dd6f-87c3-4d35-b79e-dc7be212657b", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.1.193" + ], + "all_security_group_ids": [ + "c3701b8f-079c-4864-83a6-600c7204a415" + ], + "device_id": "29ef279d-55d6-403f-98ab-63859b09cbaf", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "ec92dd6f-87c3-4d35-b79e-dc7be212657b", + "mac_address": "fa:16:3e:b9:12:d2", + "name": "", + "network_id": "f347c51c-7f22-4a6c-800f-fd6d38686794", + "port_id": "ec92dd6f-87c3-4d35-b79e-dc7be212657b", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "efbc7990-112f-4040-95bd-9ee8e8554398", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.1.60" + ], + "all_security_group_ids": [ + "1e98dd1b-d695-4239-917e-b3d59e47880d" + ], + "device_id": "940014fb-b09d-4c43-b3b9-db2820342ba9", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "efbc7990-112f-4040-95bd-9ee8e8554398", + "mac_address": "fa:16:3e:f4:f0:2b", + "name": "", + "network_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7", + "port_id": "efbc7990-112f-4040-95bd-9ee8e8554398", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "f336ff44-e02b-47bf-8aae-18434afe6071", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.2.97" + ], + "all_security_group_ids": [ + "87989c4f-e258-4a8c-a01e-ead42a4f6632" + ], + "device_id": "", + "device_owner": "neutron:VIP_PORT", + "fixed_ip": null, + "id": "f336ff44-e02b-47bf-8aae-18434afe6071", + "mac_address": "fa:16:3e:b9:13:72", + "name": "", + "network_id": "d0c4899f-b567-4d33-bb17-4e28d926cbc5", + "port_id": "f336ff44-e02b-47bf-8aae-18434afe6071", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "fe0f5779-8487-49c2-9492-8fd96aba1b60", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.10.184" + ], + "all_security_group_ids": [ + "4088c618-6940-422f-87a2-7be4c26f3910" + ], + "device_id": "27dd9e47-59d9-493c-a867-9291c4480b63", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "fe0f5779-8487-49c2-9492-8fd96aba1b60", + "mac_address": "fa:16:3e:10:0a:b8", + "name": "", + "network_id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "port_id": "fe0f5779-8487-49c2-9492-8fd96aba1b60", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_rms_advanced_query_v1", + "name": "elbs", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 0, + "attributes": { + "expression": "SELECT id, name\nFROM resources\nWHERE provider='elb' AND type='loadbalancers'\n", + "id": "53add6ee-0581-d4b6-7ebd-a7bbc158daac", + "query_info": [ + { + "select_fields": [ + "id", + "name" + ] + } + ], + "results": [ + { + "id": "575a658a-e02a-41cd-bf70-98c503d9785d", + "name": "elb-beta_prod" + }, + { + "id": "f310bbe4-fb86-42e3-acc5-7a8ad5a81fe7", + "name": "elb-peer_beta-testing" + }, + { + "id": "df1e56c5-e776-48ad-8c8b-50a8fe9255fa", + "name": "elb-peer_beta" + } + ] + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_rms_advanced_query_v1", + "name": "nats", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 0, + "attributes": { + "expression": "SELECT id, name\nFROM resources\nWHERE provider='nat' AND type='natGateways'\n", + "id": "2f487bbf-4740-c3d9-5502-bb77dd07086d", + "query_info": [ + { + "select_fields": [ + "id", + "name" + ] + } + ], + "results": [ + { + "id": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2", + "name": "nat-prod-peer_beta" + }, + { + "id": "60139ab3-c529-4a32-b446-aaa12fa04d5a", + "name": "nat-peer_beta-testing" + }, + { + "id": "fea334e5-551e-4e6f-873c-32016fb71755", + "name": "nat-peer_beta" + } + ] + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_rms_advanced_query_v1", + "name": "vpcs", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 0, + "attributes": { + "expression": "SELECT id, name\nFROM resources\nWHERE provider='vpc' AND type='vpcs'\n", + "id": "c95a55a9-abb1-aae7-c330-fe355fd5594f", + "query_info": [ + { + "select_fields": [ + "id", + "name" + ] + } + ], + "results": [ + { + "id": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "name": "vpc-peer-beta-testing" + }, + { + "id": "700af767-115d-43b8-8886-a6a4a63d59ef", + "name": "vpc-peer_beta" + }, + { + "id": "8165c92f-f183-4e22-a1c2-9df880276a11", + "name": "vpc-beta-prod" + }, + { + "id": "cb43c4e5-e25c-4727-b7ce-6b9995edffac", + "name": "vpc-peer-admin" + } + ] + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_vpc_subnet_ids_v1", + "name": "by_vpc", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": "8165c92f-f183-4e22-a1c2-9df880276a11", + "schema_version": 0, + "attributes": { + "id": "8165c92f-f183-4e22-a1c2-9df880276a11", + "ids": [ + "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f", + "d0c4899f-b567-4d33-bb17-4e28d926cbc5", + "f347c51c-7f22-4a6c-800f-fd6d38686794" + ], + "region": "eu-de", + "vpc_id": "8165c92f-f183-4e22-a1c2-9df880276a11" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_vpc_subnet_v1", + "name": "subnet", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f", + "schema_version": 0, + "attributes": { + "availability_zone": "", + "cidr": "192.168.0.0/24", + "cidr_ipv6": "", + "dhcp_enable": true, + "dns_list": [ + "100.125.129.199", + "100.125.4.25" + ], + "gateway_ip": "192.168.0.1", + "gateway_ipv6": "", + "id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f", + "ipv6_enable": false, + "name": "subnet-prod-mgt", + "network_id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f", + "primary_dns": "100.125.4.25", + "region": "eu-de", + "secondary_dns": "100.125.129.199", + "status": "ACTIVE", + "subnet_id": "43681d41-0d60-48b9-9817-6a712612fe3f", + "vpc_id": "8165c92f-f183-4e22-a1c2-9df880276a11" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "d0c4899f-b567-4d33-bb17-4e28d926cbc5", + "schema_version": 0, + "attributes": { + "availability_zone": "", + "cidr": "192.168.2.0/24", + "cidr_ipv6": "", + "dhcp_enable": true, + "dns_list": [ + "100.125.129.199", + "100.125.4.25" + ], + "gateway_ip": "192.168.2.1", + "gateway_ipv6": "", + "id": "d0c4899f-b567-4d33-bb17-4e28d926cbc5", + "ipv6_enable": false, + "name": "subnet-prod-data", + "network_id": "d0c4899f-b567-4d33-bb17-4e28d926cbc5", + "primary_dns": "100.125.4.25", + "region": "eu-de", + "secondary_dns": "100.125.129.199", + "status": "ACTIVE", + "subnet_id": "9f4d41cb-1a40-4520-9e89-a3ada8acffa1", + "vpc_id": "8165c92f-f183-4e22-a1c2-9df880276a11" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "f347c51c-7f22-4a6c-800f-fd6d38686794", + "schema_version": 0, + "attributes": { + "availability_zone": "", + "cidr": "192.168.1.0/24", + "cidr_ipv6": "", + "dhcp_enable": true, + "dns_list": [ + "100.125.129.199", + "100.125.4.25" + ], + "gateway_ip": "192.168.1.1", + "gateway_ipv6": "", + "id": "f347c51c-7f22-4a6c-800f-fd6d38686794", + "ipv6_enable": false, + "name": "subnet-prod-service", + "network_id": "f347c51c-7f22-4a6c-800f-fd6d38686794", + "primary_dns": "100.125.4.25", + "region": "eu-de", + "secondary_dns": "100.125.129.199", + "status": "ACTIVE", + "subnet_id": "b42e2e98-45f2-4ec8-94bf-4dd2d7ecf574", + "vpc_id": "8165c92f-f183-4e22-a1c2-9df880276a11" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "managed", + "type": "local_sensitive_file", + "name": "peer_network", + "provider": "provider[\"registry.terraform.io/hashicorp/local\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "content": "\"Peer_Network\":\n \"backups\": {}\n \"load_balancers\":\n - \"azs\": []\n \"id\": \"575a658a-e02a-41cd-bf70-98c503d9785d\"\n \"name\": null\n \"network_ids\": []\n \"router_id\": \"8165c92f-f183-4e22-a1c2-9df880276a11\"\n \"vip_address\": \"192.168.1.110\"\n - \"azs\": []\n \"id\": \"df1e56c5-e776-48ad-8c8b-50a8fe9255fa\"\n \"name\": null\n \"network_ids\": []\n \"router_id\": \"700af767-115d-43b8-8886-a6a4a63d59ef\"\n \"vip_address\": \"10.5.1.28\"\n - \"azs\": []\n \"id\": \"f310bbe4-fb86-42e3-acc5-7a8ad5a81fe7\"\n \"name\": null\n \"network_ids\": []\n \"router_id\": \"10f8c808-f6bf-47a8-b3c5-5910bc691900\"\n \"vip_address\": \"172.16.10.91\"\n \"nats\":\n - \"dnat\": []\n \"id\": \"2f77e0de-bc99-421e-9e6b-ed7c07518ed2\"\n \"name\": \"nat-prod-peer_beta\"\n \"snat\":\n - \"admin_state_up\": true\n \"cidr\": \"\"\n \"created_at\": \"2025-03-04 10:19:01.600845\"\n \"floating_ip_address\": \"164.30.10.134\"\n \"floating_ip_id\": \"a71733dd-8500-488c-b5e2-7f9b4a75e53e\"\n \"gateway_id\": \"2f77e0de-bc99-421e-9e6b-ed7c07518ed2\"\n \"id\": \"9132597a-1761-477c-83f1-89678ee97762\"\n \"project_id\": \"f9d69b5c90384a13a760b41c61a50dce\"\n \"source_type\": 0\n \"status\": \"ACTIVE\"\n \"subnet_id\": \"5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f\"\n - \"admin_state_up\": true\n \"cidr\": \"\"\n \"created_at\": \"2025-03-04 10:19:55.572092\"\n \"floating_ip_address\": \"164.30.10.134\"\n \"floating_ip_id\": \"a71733dd-8500-488c-b5e2-7f9b4a75e53e\"\n \"gateway_id\": \"2f77e0de-bc99-421e-9e6b-ed7c07518ed2\"\n \"id\": \"f4bbc723-f330-445c-b851-ccc88d1c8058\"\n \"project_id\": \"f9d69b5c90384a13a760b41c61a50dce\"\n \"source_type\": 0\n \"status\": \"ACTIVE\"\n \"subnet_id\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n - \"dnat\": []\n \"id\": \"60139ab3-c529-4a32-b446-aaa12fa04d5a\"\n \"name\": \"nat-peer_beta-testing\"\n \"snat\":\n - \"admin_state_up\": true\n \"cidr\": \"\"\n \"created_at\": \"2024-12-10 17:02:23.825522\"\n \"floating_ip_address\": \"80.158.37.0\"\n \"floating_ip_id\": \"8b4899b1-abe3-48f5-9c15-2e6ecc7f8b6f\"\n \"gateway_id\": \"60139ab3-c529-4a32-b446-aaa12fa04d5a\"\n \"id\": \"5a0dc961-0741-4a68-89ea-ec64453d6d08\"\n \"project_id\": \"f9d69b5c90384a13a760b41c61a50dce\"\n \"source_type\": 0\n \"status\": \"ACTIVE\"\n \"subnet_id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n - \"admin_state_up\": true\n \"cidr\": \"\"\n \"created_at\": \"2024-12-10 17:01:46.043060\"\n \"floating_ip_address\": \"80.158.37.0\"\n \"floating_ip_id\": \"8b4899b1-abe3-48f5-9c15-2e6ecc7f8b6f\"\n \"gateway_id\": \"60139ab3-c529-4a32-b446-aaa12fa04d5a\"\n \"id\": \"68d9d9fe-03b8-44f3-aa1f-d16f350c24eb\"\n \"project_id\": \"f9d69b5c90384a13a760b41c61a50dce\"\n \"source_type\": 0\n \"status\": \"ACTIVE\"\n \"subnet_id\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n - \"dnat\": []\n \"id\": \"fea334e5-551e-4e6f-873c-32016fb71755\"\n \"name\": \"nat-peer_beta\"\n \"snat\":\n - \"admin_state_up\": true\n \"cidr\": \"\"\n \"created_at\": \"2024-10-03 13:41:42.960206\"\n \"floating_ip_address\": \"80.158.111.42\"\n \"floating_ip_id\": \"48b84a18-a145-46bf-a2bd-4d415602e3ac\"\n \"gateway_id\": \"fea334e5-551e-4e6f-873c-32016fb71755\"\n \"id\": \"20ac783e-9263-4c93-a1eb-f785e4165a30\"\n \"project_id\": \"f9d69b5c90384a13a760b41c61a50dce\"\n \"source_type\": 0\n \"status\": \"ACTIVE\"\n \"subnet_id\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n - \"admin_state_up\": true\n \"cidr\": \"\"\n \"created_at\": \"2024-10-03 13:41:25.209570\"\n \"floating_ip_address\": \"80.158.111.42\"\n \"floating_ip_id\": \"48b84a18-a145-46bf-a2bd-4d415602e3ac\"\n \"gateway_id\": \"fea334e5-551e-4e6f-873c-32016fb71755\"\n \"id\": \"2ab92e52-6113-462b-8177-904d4c136874\"\n \"project_id\": \"f9d69b5c90384a13a760b41c61a50dce\"\n \"source_type\": 0\n \"status\": \"ACTIVE\"\n \"subnet_id\": \"b3523510-8a93-4ad9-b5d7-2178464f1f65\"\n \"vpcs\":\n - \"id\": \"10f8c808-f6bf-47a8-b3c5-5910bc691900\"\n \"label\": \"vpc-peer-beta-testing\"\n \"subnets\": []\n - \"id\": \"700af767-115d-43b8-8886-a6a4a63d59ef\"\n \"label\": \"vpc-peer_beta\"\n \"subnets\": []\n - \"id\": \"8165c92f-f183-4e22-a1c2-9df880276a11\"\n \"label\": \"vpc-beta-prod\"\n \"subnets\":\n - \"cidr\": \"192.168.0.0/24\"\n \"containers\": []\n \"id\": \"5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f\"\n \"label\": \"subnet-prod-mgt\"\n \"vms\":\n - \"az\": \"eu-de-03\"\n \"id\": \"055f937b-0bb5-4905-b1b5-b053c161480a\"\n \"name\": \"ecs-peer-jump\"\n \"nics\":\n - \"ips\":\n - \"10.5.0.241\"\n \"port_id\": \"1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1\"\n \"sg_ids\":\n - \"abe07485-dd5e-4cb2-a88a-3b10c699a4ee\"\n \"sgs\":\n - \"abe07485-dd5e-4cb2-a88a-3b10c699a4ee\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"b0f6fe3f-a6b4-4c5f-ac78-9485808082dc\"\n \"name\": \"ecs-peer-jump-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"27dd9e47-59d9-493c-a867-9291c4480b63\"\n \"name\": \"ecs-testing-websocket\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.184\"\n \"port_id\": \"fe0f5779-8487-49c2-9492-8fd96aba1b60\"\n \"sg_ids\":\n - \"4088c618-6940-422f-87a2-7be4c26f3910\"\n \"sgs\":\n - \"4088c618-6940-422f-87a2-7be4c26f3910\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d308d225-7d2f-4da5-a259-a2f53d483226\"\n \"name\": \"ecs-testing-websocket\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"29ef279d-55d6-403f-98ab-63859b09cbaf\"\n \"name\": \"ecs-prod-admin\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.193\"\n \"port_id\": \"ec92dd6f-87c3-4d35-b79e-dc7be212657b\"\n \"sg_ids\":\n - \"c3701b8f-079c-4864-83a6-600c7204a415\"\n \"sgs\":\n - \"c3701b8f-079c-4864-83a6-600c7204a415\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d01cdb06-e448-4941-a57f-b0616e331614\"\n \"name\": \"ecs-prod-admin\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"349d2490-cfd9-4e2c-b4f0-a2c18efb0382\"\n \"name\": \"ecs-prod-backend\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.183\"\n \"port_id\": \"9df13dbb-7c34-45d1-9312-729e70492485\"\n \"sg_ids\":\n - \"a04d74f1-879a-4c55-8d07-033c8db98065\"\n \"sgs\":\n - \"a04d74f1-879a-4c55-8d07-033c8db98065\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"531cfed3-b43e-4eed-b291-404533f7b163\"\n \"name\": \"ecs-prod-backend\"\n \"sizeGB\": 1000\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"444a37fc-6f04-4fb8-b55c-c3fdc3dba642\"\n \"name\": \"ecs-frontend-web\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.150\"\n \"port_id\": \"e2553fcb-1fcc-419a-bf20-fdf38910af54\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"ea32af0a-3824-4d28-b449-7457d0c2a0f5\"\n \"name\": \"ecs-frontend-web\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"4c9df61a-0306-4036-b3e2-68ceff0fd121\"\n \"name\": \"ecs-prod_web-frontend\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.94\"\n \"port_id\": \"eb00aa68-66ed-47c5-afc7-fb3b65d5020c\"\n \"sg_ids\":\n - \"0a6ffdf8-9b73-4078-bb7f-80d77d8366c4\"\n \"sgs\":\n - \"0a6ffdf8-9b73-4078-bb7f-80d77d8366c4\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"91bf7962-5e90-4c33-976a-68e57267231b\"\n \"name\": \"ecs-prod_web-frontend\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-02\"\n \"id\": \"658e9751-4923-465f-8091-2c6257645a5b\"\n \"name\": \"ecs-peer-admin\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.244\"\n \"port_id\": \"36625f7e-c4fc-405c-aeed-f2ac4655c778\"\n \"sg_ids\":\n - \"4f14fba4-ea42-4ebd-9ff1-16611d07a8e4\"\n \"sgs\":\n - \"4f14fba4-ea42-4ebd-9ff1-16611d07a8e4\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"53754122-00fe-4318-a7be-b803d679c261\"\n \"name\": \"ecs-peer-admin-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"87a5f22d-d596-4305-99d3-a5277aab207a\"\n \"name\": \"ecs-website\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.42\"\n \"port_id\": \"2a6d86d4-eaf9-4a57-b18f-af36760c4eb4\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"299d9f91-bc38-469e-b5a8-1bdc9b79e275\"\n \"name\": \"ecs-website\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"8f0dbccb-d06f-49ef-9e88-f4d1af5c7342\"\n \"name\": \"peer-admin-loki-monitor\"\n \"nics\":\n - \"ips\":\n - \"10.50.1.150\"\n \"port_id\": \"67d27c76-d02c-4d3a-882f-8076198fb308\"\n \"sg_ids\":\n - \"05eb0a9e-2d1f-4fc4-820c-fe13399a9d75\"\n \"sgs\":\n - \"05eb0a9e-2d1f-4fc4-820c-fe13399a9d75\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"1ce30403-6ca2-4ddf-8517-52f2b9c2c11d\"\n \"name\": \"peer-admin-loki-monitor-volume-0001\"\n \"sizeGB\": 100\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"id\": \"b3d9bb8f-e0ad-4cba-b947-764ddee4575a\"\n \"name\": \"peer-admin-loki-monitor\"\n \"sizeGB\": 20\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"940014fb-b09d-4c43-b3b9-db2820342ba9\"\n \"name\": \"ecs-peer-web\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.60\"\n \"port_id\": \"efbc7990-112f-4040-95bd-9ee8e8554398\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"02ebba9e-b9ac-4a4f-8d2c-5fc71773f81a\"\n \"name\": \"ecs-peer-web-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"ESSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"a74ffa01-38c3-42dd-8b60-bf2ee6d662cc\"\n \"name\": \"ecs-prod-jump\"\n \"nics\":\n - \"ips\":\n - \"192.168.0.65\"\n \"port_id\": \"83710b25-11aa-419c-bb65-4d9d031d734c\"\n \"sg_ids\":\n - \"2b7ee980-efc2-4199-98ad-0a375c3ba291\"\n \"sgs\":\n - \"2b7ee980-efc2-4199-98ad-0a375c3ba291\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"5ec8a593-8781-4fcc-bf31-b0ee31fec9b9\"\n \"name\": \"ecs-prod-jump\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"bc66c2b9-b493-4a78-a4d6-8729ba0230c9\"\n \"name\": \"ecs-peer-monitor-test\"\n \"nics\":\n - \"ips\":\n - \"172.16.0.20\"\n \"port_id\": \"293f9e4e-dc97-4191-b36d-1eb0c7486035\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"sgs\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"550ee657-e860-4c0a-a31e-88f00d4a55f8\"\n \"name\": \"ecs-peer-monitor-test\"\n \"sizeGB\": 20\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"d2f50d51-52e3-4163-b8bb-6edd0b569ad4\"\n \"name\": \"peer-admin-jumphost\"\n \"nics\":\n - \"ips\":\n - \"10.50.1.100\"\n \"port_id\": \"b9b9ce27-1cc7-4c93-88bc-c995dbddd647\"\n \"sg_ids\":\n - \"2bb26324-3989-4458-a614-8425cc6cd21a\"\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n \"sgs\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n - \"2bb26324-3989-4458-a614-8425cc6cd21a\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"ae7deb34-541e-447a-bbf3-8d6c02c9e3a1\"\n \"name\": \"peer-admin-jumphost\"\n \"sizeGB\": 10\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"daa26951-e6b7-4e0e-86e0-32f9e669e838\"\n \"name\": \"ecs-peer-web-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.194\"\n \"port_id\": \"caf7dc15-faf7-420e-af0e-0c692a216fb0\"\n \"sg_ids\":\n - \"82960534-6f06-4995-8ca7-65b18fffa84b\"\n \"sgs\":\n - \"82960534-6f06-4995-8ca7-65b18fffa84b\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"22436c21-f3ea-46a7-9421-2d5683bcb954\"\n \"name\": \"ecs-peer-web-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c\"\n \"name\": \"ecs-admin-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.240\"\n \"port_id\": \"58e7dce6-1241-46ad-b436-87577c1c3ee4\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n - \"ips\":\n - \"172.16.10.241\"\n \"port_id\": \"b461ed0c-0f73-4518-b3e7-098d27b0295c\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"sgs\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"c7b4fb41-3ea2-4fcb-81b7-e4711bae0718\"\n \"name\": \"ecs-admin-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"fd525b9c-11dd-4e9d-abb7-6ce4b513d602\"\n \"name\": \"ecs-jump-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.0.17\"\n \"port_id\": \"6ab37853-36b3-43be-ba26-d1bf37c8e8fb\"\n \"sg_ids\":\n - \"170caca7-fbb5-4ade-9a25-ce976d9ed82b\"\n \"sgs\":\n - \"170caca7-fbb5-4ade-9a25-ce976d9ed82b\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d7457911-383b-4b04-a802-e5541a256cda\"\n \"name\": \"ecs-jump-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"cidr\": \"192.168.2.0/24\"\n \"containers\": []\n \"id\": \"d0c4899f-b567-4d33-bb17-4e28d926cbc5\"\n \"label\": \"subnet-prod-data\"\n \"vms\":\n - \"az\": \"eu-de-03\"\n \"id\": \"055f937b-0bb5-4905-b1b5-b053c161480a\"\n \"name\": \"ecs-peer-jump\"\n \"nics\":\n - \"ips\":\n - \"10.5.0.241\"\n \"port_id\": \"1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1\"\n \"sg_ids\":\n - \"abe07485-dd5e-4cb2-a88a-3b10c699a4ee\"\n \"sgs\":\n - \"abe07485-dd5e-4cb2-a88a-3b10c699a4ee\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"b0f6fe3f-a6b4-4c5f-ac78-9485808082dc\"\n \"name\": \"ecs-peer-jump-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"27dd9e47-59d9-493c-a867-9291c4480b63\"\n \"name\": \"ecs-testing-websocket\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.184\"\n \"port_id\": \"fe0f5779-8487-49c2-9492-8fd96aba1b60\"\n \"sg_ids\":\n - \"4088c618-6940-422f-87a2-7be4c26f3910\"\n \"sgs\":\n - \"4088c618-6940-422f-87a2-7be4c26f3910\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d308d225-7d2f-4da5-a259-a2f53d483226\"\n \"name\": \"ecs-testing-websocket\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"29ef279d-55d6-403f-98ab-63859b09cbaf\"\n \"name\": \"ecs-prod-admin\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.193\"\n \"port_id\": \"ec92dd6f-87c3-4d35-b79e-dc7be212657b\"\n \"sg_ids\":\n - \"c3701b8f-079c-4864-83a6-600c7204a415\"\n \"sgs\":\n - \"c3701b8f-079c-4864-83a6-600c7204a415\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d01cdb06-e448-4941-a57f-b0616e331614\"\n \"name\": \"ecs-prod-admin\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"349d2490-cfd9-4e2c-b4f0-a2c18efb0382\"\n \"name\": \"ecs-prod-backend\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.183\"\n \"port_id\": \"9df13dbb-7c34-45d1-9312-729e70492485\"\n \"sg_ids\":\n - \"a04d74f1-879a-4c55-8d07-033c8db98065\"\n \"sgs\":\n - \"a04d74f1-879a-4c55-8d07-033c8db98065\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"531cfed3-b43e-4eed-b291-404533f7b163\"\n \"name\": \"ecs-prod-backend\"\n \"sizeGB\": 1000\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"444a37fc-6f04-4fb8-b55c-c3fdc3dba642\"\n \"name\": \"ecs-frontend-web\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.150\"\n \"port_id\": \"e2553fcb-1fcc-419a-bf20-fdf38910af54\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"ea32af0a-3824-4d28-b449-7457d0c2a0f5\"\n \"name\": \"ecs-frontend-web\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"4c9df61a-0306-4036-b3e2-68ceff0fd121\"\n \"name\": \"ecs-prod_web-frontend\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.94\"\n \"port_id\": \"eb00aa68-66ed-47c5-afc7-fb3b65d5020c\"\n \"sg_ids\":\n - \"0a6ffdf8-9b73-4078-bb7f-80d77d8366c4\"\n \"sgs\":\n - \"0a6ffdf8-9b73-4078-bb7f-80d77d8366c4\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"91bf7962-5e90-4c33-976a-68e57267231b\"\n \"name\": \"ecs-prod_web-frontend\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-02\"\n \"id\": \"658e9751-4923-465f-8091-2c6257645a5b\"\n \"name\": \"ecs-peer-admin\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.244\"\n \"port_id\": \"36625f7e-c4fc-405c-aeed-f2ac4655c778\"\n \"sg_ids\":\n - \"4f14fba4-ea42-4ebd-9ff1-16611d07a8e4\"\n \"sgs\":\n - \"4f14fba4-ea42-4ebd-9ff1-16611d07a8e4\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"53754122-00fe-4318-a7be-b803d679c261\"\n \"name\": \"ecs-peer-admin-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"87a5f22d-d596-4305-99d3-a5277aab207a\"\n \"name\": \"ecs-website\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.42\"\n \"port_id\": \"2a6d86d4-eaf9-4a57-b18f-af36760c4eb4\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"299d9f91-bc38-469e-b5a8-1bdc9b79e275\"\n \"name\": \"ecs-website\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"8f0dbccb-d06f-49ef-9e88-f4d1af5c7342\"\n \"name\": \"peer-admin-loki-monitor\"\n \"nics\":\n - \"ips\":\n - \"10.50.1.150\"\n \"port_id\": \"67d27c76-d02c-4d3a-882f-8076198fb308\"\n \"sg_ids\":\n - \"05eb0a9e-2d1f-4fc4-820c-fe13399a9d75\"\n \"sgs\":\n - \"05eb0a9e-2d1f-4fc4-820c-fe13399a9d75\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"1ce30403-6ca2-4ddf-8517-52f2b9c2c11d\"\n \"name\": \"peer-admin-loki-monitor-volume-0001\"\n \"sizeGB\": 100\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"id\": \"b3d9bb8f-e0ad-4cba-b947-764ddee4575a\"\n \"name\": \"peer-admin-loki-monitor\"\n \"sizeGB\": 20\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"940014fb-b09d-4c43-b3b9-db2820342ba9\"\n \"name\": \"ecs-peer-web\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.60\"\n \"port_id\": \"efbc7990-112f-4040-95bd-9ee8e8554398\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"02ebba9e-b9ac-4a4f-8d2c-5fc71773f81a\"\n \"name\": \"ecs-peer-web-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"ESSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"a74ffa01-38c3-42dd-8b60-bf2ee6d662cc\"\n \"name\": \"ecs-prod-jump\"\n \"nics\":\n - \"ips\":\n - \"192.168.0.65\"\n \"port_id\": \"83710b25-11aa-419c-bb65-4d9d031d734c\"\n \"sg_ids\":\n - \"2b7ee980-efc2-4199-98ad-0a375c3ba291\"\n \"sgs\":\n - \"2b7ee980-efc2-4199-98ad-0a375c3ba291\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"5ec8a593-8781-4fcc-bf31-b0ee31fec9b9\"\n \"name\": \"ecs-prod-jump\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"bc66c2b9-b493-4a78-a4d6-8729ba0230c9\"\n \"name\": \"ecs-peer-monitor-test\"\n \"nics\":\n - \"ips\":\n - \"172.16.0.20\"\n \"port_id\": \"293f9e4e-dc97-4191-b36d-1eb0c7486035\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"sgs\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"550ee657-e860-4c0a-a31e-88f00d4a55f8\"\n \"name\": \"ecs-peer-monitor-test\"\n \"sizeGB\": 20\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"d2f50d51-52e3-4163-b8bb-6edd0b569ad4\"\n \"name\": \"peer-admin-jumphost\"\n \"nics\":\n - \"ips\":\n - \"10.50.1.100\"\n \"port_id\": \"b9b9ce27-1cc7-4c93-88bc-c995dbddd647\"\n \"sg_ids\":\n - \"2bb26324-3989-4458-a614-8425cc6cd21a\"\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n \"sgs\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n - \"2bb26324-3989-4458-a614-8425cc6cd21a\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"ae7deb34-541e-447a-bbf3-8d6c02c9e3a1\"\n \"name\": \"peer-admin-jumphost\"\n \"sizeGB\": 10\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"daa26951-e6b7-4e0e-86e0-32f9e669e838\"\n \"name\": \"ecs-peer-web-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.194\"\n \"port_id\": \"caf7dc15-faf7-420e-af0e-0c692a216fb0\"\n \"sg_ids\":\n - \"82960534-6f06-4995-8ca7-65b18fffa84b\"\n \"sgs\":\n - \"82960534-6f06-4995-8ca7-65b18fffa84b\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"22436c21-f3ea-46a7-9421-2d5683bcb954\"\n \"name\": \"ecs-peer-web-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c\"\n \"name\": \"ecs-admin-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.240\"\n \"port_id\": \"58e7dce6-1241-46ad-b436-87577c1c3ee4\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n - \"ips\":\n - \"172.16.10.241\"\n \"port_id\": \"b461ed0c-0f73-4518-b3e7-098d27b0295c\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"sgs\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"c7b4fb41-3ea2-4fcb-81b7-e4711bae0718\"\n \"name\": \"ecs-admin-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"fd525b9c-11dd-4e9d-abb7-6ce4b513d602\"\n \"name\": \"ecs-jump-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.0.17\"\n \"port_id\": \"6ab37853-36b3-43be-ba26-d1bf37c8e8fb\"\n \"sg_ids\":\n - \"170caca7-fbb5-4ade-9a25-ce976d9ed82b\"\n \"sgs\":\n - \"170caca7-fbb5-4ade-9a25-ce976d9ed82b\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d7457911-383b-4b04-a802-e5541a256cda\"\n \"name\": \"ecs-jump-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"cidr\": \"192.168.1.0/24\"\n \"containers\": []\n \"id\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"label\": \"subnet-prod-service\"\n \"vms\":\n - \"az\": \"eu-de-03\"\n \"id\": \"055f937b-0bb5-4905-b1b5-b053c161480a\"\n \"name\": \"ecs-peer-jump\"\n \"nics\":\n - \"ips\":\n - \"10.5.0.241\"\n \"port_id\": \"1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1\"\n \"sg_ids\":\n - \"abe07485-dd5e-4cb2-a88a-3b10c699a4ee\"\n \"sgs\":\n - \"abe07485-dd5e-4cb2-a88a-3b10c699a4ee\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"b0f6fe3f-a6b4-4c5f-ac78-9485808082dc\"\n \"name\": \"ecs-peer-jump-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"27dd9e47-59d9-493c-a867-9291c4480b63\"\n \"name\": \"ecs-testing-websocket\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.184\"\n \"port_id\": \"fe0f5779-8487-49c2-9492-8fd96aba1b60\"\n \"sg_ids\":\n - \"4088c618-6940-422f-87a2-7be4c26f3910\"\n \"sgs\":\n - \"4088c618-6940-422f-87a2-7be4c26f3910\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d308d225-7d2f-4da5-a259-a2f53d483226\"\n \"name\": \"ecs-testing-websocket\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"29ef279d-55d6-403f-98ab-63859b09cbaf\"\n \"name\": \"ecs-prod-admin\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.193\"\n \"port_id\": \"ec92dd6f-87c3-4d35-b79e-dc7be212657b\"\n \"sg_ids\":\n - \"c3701b8f-079c-4864-83a6-600c7204a415\"\n \"sgs\":\n - \"c3701b8f-079c-4864-83a6-600c7204a415\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d01cdb06-e448-4941-a57f-b0616e331614\"\n \"name\": \"ecs-prod-admin\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"349d2490-cfd9-4e2c-b4f0-a2c18efb0382\"\n \"name\": \"ecs-prod-backend\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.183\"\n \"port_id\": \"9df13dbb-7c34-45d1-9312-729e70492485\"\n \"sg_ids\":\n - \"a04d74f1-879a-4c55-8d07-033c8db98065\"\n \"sgs\":\n - \"a04d74f1-879a-4c55-8d07-033c8db98065\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"531cfed3-b43e-4eed-b291-404533f7b163\"\n \"name\": \"ecs-prod-backend\"\n \"sizeGB\": 1000\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"444a37fc-6f04-4fb8-b55c-c3fdc3dba642\"\n \"name\": \"ecs-frontend-web\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.150\"\n \"port_id\": \"e2553fcb-1fcc-419a-bf20-fdf38910af54\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"ea32af0a-3824-4d28-b449-7457d0c2a0f5\"\n \"name\": \"ecs-frontend-web\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"4c9df61a-0306-4036-b3e2-68ceff0fd121\"\n \"name\": \"ecs-prod_web-frontend\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.94\"\n \"port_id\": \"eb00aa68-66ed-47c5-afc7-fb3b65d5020c\"\n \"sg_ids\":\n - \"0a6ffdf8-9b73-4078-bb7f-80d77d8366c4\"\n \"sgs\":\n - \"0a6ffdf8-9b73-4078-bb7f-80d77d8366c4\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"91bf7962-5e90-4c33-976a-68e57267231b\"\n \"name\": \"ecs-prod_web-frontend\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-02\"\n \"id\": \"658e9751-4923-465f-8091-2c6257645a5b\"\n \"name\": \"ecs-peer-admin\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.244\"\n \"port_id\": \"36625f7e-c4fc-405c-aeed-f2ac4655c778\"\n \"sg_ids\":\n - \"4f14fba4-ea42-4ebd-9ff1-16611d07a8e4\"\n \"sgs\":\n - \"4f14fba4-ea42-4ebd-9ff1-16611d07a8e4\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"53754122-00fe-4318-a7be-b803d679c261\"\n \"name\": \"ecs-peer-admin-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"87a5f22d-d596-4305-99d3-a5277aab207a\"\n \"name\": \"ecs-website\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.42\"\n \"port_id\": \"2a6d86d4-eaf9-4a57-b18f-af36760c4eb4\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"299d9f91-bc38-469e-b5a8-1bdc9b79e275\"\n \"name\": \"ecs-website\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"8f0dbccb-d06f-49ef-9e88-f4d1af5c7342\"\n \"name\": \"peer-admin-loki-monitor\"\n \"nics\":\n - \"ips\":\n - \"10.50.1.150\"\n \"port_id\": \"67d27c76-d02c-4d3a-882f-8076198fb308\"\n \"sg_ids\":\n - \"05eb0a9e-2d1f-4fc4-820c-fe13399a9d75\"\n \"sgs\":\n - \"05eb0a9e-2d1f-4fc4-820c-fe13399a9d75\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"1ce30403-6ca2-4ddf-8517-52f2b9c2c11d\"\n \"name\": \"peer-admin-loki-monitor-volume-0001\"\n \"sizeGB\": 100\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"id\": \"b3d9bb8f-e0ad-4cba-b947-764ddee4575a\"\n \"name\": \"peer-admin-loki-monitor\"\n \"sizeGB\": 20\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"940014fb-b09d-4c43-b3b9-db2820342ba9\"\n \"name\": \"ecs-peer-web\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.60\"\n \"port_id\": \"efbc7990-112f-4040-95bd-9ee8e8554398\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"02ebba9e-b9ac-4a4f-8d2c-5fc71773f81a\"\n \"name\": \"ecs-peer-web-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"ESSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"a74ffa01-38c3-42dd-8b60-bf2ee6d662cc\"\n \"name\": \"ecs-prod-jump\"\n \"nics\":\n - \"ips\":\n - \"192.168.0.65\"\n \"port_id\": \"83710b25-11aa-419c-bb65-4d9d031d734c\"\n \"sg_ids\":\n - \"2b7ee980-efc2-4199-98ad-0a375c3ba291\"\n \"sgs\":\n - \"2b7ee980-efc2-4199-98ad-0a375c3ba291\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"5ec8a593-8781-4fcc-bf31-b0ee31fec9b9\"\n \"name\": \"ecs-prod-jump\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"bc66c2b9-b493-4a78-a4d6-8729ba0230c9\"\n \"name\": \"ecs-peer-monitor-test\"\n \"nics\":\n - \"ips\":\n - \"172.16.0.20\"\n \"port_id\": \"293f9e4e-dc97-4191-b36d-1eb0c7486035\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"sgs\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"550ee657-e860-4c0a-a31e-88f00d4a55f8\"\n \"name\": \"ecs-peer-monitor-test\"\n \"sizeGB\": 20\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"d2f50d51-52e3-4163-b8bb-6edd0b569ad4\"\n \"name\": \"peer-admin-jumphost\"\n \"nics\":\n - \"ips\":\n - \"10.50.1.100\"\n \"port_id\": \"b9b9ce27-1cc7-4c93-88bc-c995dbddd647\"\n \"sg_ids\":\n - \"2bb26324-3989-4458-a614-8425cc6cd21a\"\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n \"sgs\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n - \"2bb26324-3989-4458-a614-8425cc6cd21a\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"ae7deb34-541e-447a-bbf3-8d6c02c9e3a1\"\n \"name\": \"peer-admin-jumphost\"\n \"sizeGB\": 10\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"daa26951-e6b7-4e0e-86e0-32f9e669e838\"\n \"name\": \"ecs-peer-web-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.194\"\n \"port_id\": \"caf7dc15-faf7-420e-af0e-0c692a216fb0\"\n \"sg_ids\":\n - \"82960534-6f06-4995-8ca7-65b18fffa84b\"\n \"sgs\":\n - \"82960534-6f06-4995-8ca7-65b18fffa84b\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"22436c21-f3ea-46a7-9421-2d5683bcb954\"\n \"name\": \"ecs-peer-web-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c\"\n \"name\": \"ecs-admin-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.240\"\n \"port_id\": \"58e7dce6-1241-46ad-b436-87577c1c3ee4\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n - \"ips\":\n - \"172.16.10.241\"\n \"port_id\": \"b461ed0c-0f73-4518-b3e7-098d27b0295c\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"sgs\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"c7b4fb41-3ea2-4fcb-81b7-e4711bae0718\"\n \"name\": \"ecs-admin-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"fd525b9c-11dd-4e9d-abb7-6ce4b513d602\"\n \"name\": \"ecs-jump-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.0.17\"\n \"port_id\": \"6ab37853-36b3-43be-ba26-d1bf37c8e8fb\"\n \"sg_ids\":\n - \"170caca7-fbb5-4ade-9a25-ce976d9ed82b\"\n \"sgs\":\n - \"170caca7-fbb5-4ade-9a25-ce976d9ed82b\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d7457911-383b-4b04-a802-e5541a256cda\"\n \"name\": \"ecs-jump-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"id\": \"cb43c4e5-e25c-4727-b7ce-6b9995edffac\"\n \"label\": \"vpc-peer-admin\"\n \"subnets\": []\n", + "content_base64": null, + "content_base64sha256": "9BMBE6mX+M2l+zvMWPuHBrwCw7+6fBx1wgM50GsoxBQ=", + "content_base64sha512": "1MH2EbhkwYnSAd41S05Yfc2Xz8uA7nYRn2khYlgzay8dmz2DzlcRRkx586na2ZQHmG0C2OpHmzGteoGL6RVE0A==", + "content_md5": "3bee5f5155374e4aa509f484ff13e33b", + "content_sha1": "ecec42958d7bce8ce982c0f0a6578a0949d73475", + "content_sha256": "f4130113a997f8cda5fb3bcc58fb8706bc02c3bfba7c1c75c20339d06b28c414", + "content_sha512": "d4c1f611b864c189d201de354b4e587dcd97cfcb80ee76119f69216258336b2f1d9b3d83ce5711464c79f3a9dad99407986d02d8ea479b31ad7a818be91544d0", + "directory_permission": "0700", + "file_permission": "0640", + "filename": "peer_network.yaml", + "id": "ecec42958d7bce8ce982c0f0a6578a0949d73475", + "source": null + }, + "sensitive_attributes": [ + [ + { + "type": "get_attr", + "value": "content" + } + ], + [ + { + "type": "get_attr", + "value": "content_base64" + } + ] + ], + "identity_schema_version": 0, + "dependencies": [ + "data.opentelekomcloud_compute_instances_v2.all", + "data.opentelekomcloud_evs_volumes_v2.all", + "data.opentelekomcloud_lb_loadbalancer_v3.lb", + "data.opentelekomcloud_nat_dnat_rules_v2.dnat", + "data.opentelekomcloud_nat_snat_rules_v2.snat", + "data.opentelekomcloud_networking_port_ids_v2.all", + "data.opentelekomcloud_networking_port_v2.by_id", + "data.opentelekomcloud_rms_advanced_query_v1.elbs", + "data.opentelekomcloud_rms_advanced_query_v1.nats", + "data.opentelekomcloud_rms_advanced_query_v1.vpcs", + "data.opentelekomcloud_vpc_subnet_ids_v1.by_vpc", + "data.opentelekomcloud_vpc_subnet_v1.subnet" + ] + } + ] + } + ], + "check_results": null +} diff --git a/Terraform_Files/terraform.tfstate.backup b/Terraform_Files/terraform.tfstate.backup new file mode 100644 index 0000000..16243c4 --- /dev/null +++ b/Terraform_Files/terraform.tfstate.backup @@ -0,0 +1,3218 @@ +{ + "version": 4, + "terraform_version": "1.12.1", + "serial": 31, + "lineage": "fe9405c1-99aa-2a1f-f74c-28b5df742a8f", + "outputs": { + "inventory_yaml": { + "value": "\"ecs\":\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.large.2\"\n \"id\": \"8f0dbccb-d06f-49ef-9e88-f4d1af5c7342\"\n \"name\": \"peer-admin-loki-monitor\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:de:ad:42\"\n \"name\": \"\"\n \"port\": \"67d27c76-d02c-4d3a-882f-8076198fb308\"\n \"uuid\": \"536f3d94-35f2-4aca-9116-16a76d0b91c4\"\n \"secgroups\":\n - \"05eb0a9e-2d1f-4fc4-820c-fe13399a9d75\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s7n.small.1\"\n \"id\": \"d2f50d51-52e3-4163-b8bb-6edd0b569ad4\"\n \"name\": \"peer-admin-jumphost\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:de:ad:10\"\n \"name\": \"\"\n \"port\": \"b9b9ce27-1cc7-4c93-88bc-c995dbddd647\"\n \"uuid\": \"536f3d94-35f2-4aca-9116-16a76d0b91c4\"\n \"secgroups\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n - \"2bb26324-3989-4458-a614-8425cc6cd21a\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.2\"\n \"id\": \"bc66c2b9-b493-4a78-a4d6-8729ba0230c9\"\n \"name\": \"ecs-peer-monitor-test\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:10:00:14\"\n \"name\": \"\"\n \"port\": \"293f9e4e-dc97-4191-b36d-1eb0c7486035\"\n \"uuid\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n \"secgroups\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"27dd9e47-59d9-493c-a867-9291c4480b63\"\n \"name\": \"ecs-testing-websocket\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:10:0a:b8\"\n \"name\": \"\"\n \"port\": \"fe0f5779-8487-49c2-9492-8fd96aba1b60\"\n \"uuid\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"secgroups\":\n - \"4088c618-6940-422f-87a2-7be4c26f3910\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"4c9df61a-0306-4036-b3e2-68ceff0fd121\"\n \"name\": \"ecs-prod_web-frontend\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:b9:12:6f\"\n \"name\": \"\"\n \"port\": \"eb00aa68-66ed-47c5-afc7-fb3b65d5020c\"\n \"uuid\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"secgroups\":\n - \"0a6ffdf8-9b73-4078-bb7f-80d77d8366c4\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.large.2\"\n \"id\": \"29ef279d-55d6-403f-98ab-63859b09cbaf\"\n \"name\": \"ecs-prod-admin\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:b9:12:d2\"\n \"name\": \"\"\n \"port\": \"ec92dd6f-87c3-4d35-b79e-dc7be212657b\"\n \"uuid\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"secgroups\":\n - \"c3701b8f-079c-4864-83a6-600c7204a415\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.4xlarge.4\"\n \"id\": \"349d2490-cfd9-4e2c-b4f0-a2c18efb0382\"\n \"name\": \"ecs-prod-backend\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:b9:12:c8\"\n \"name\": \"\"\n \"port\": \"9df13dbb-7c34-45d1-9312-729e70492485\"\n \"uuid\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"secgroups\":\n - \"a04d74f1-879a-4c55-8d07-033c8db98065\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"a74ffa01-38c3-42dd-8b60-bf2ee6d662cc\"\n \"name\": \"ecs-prod-jump\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:b9:11:52\"\n \"name\": \"\"\n \"port\": \"83710b25-11aa-419c-bb65-4d9d031d734c\"\n \"uuid\": \"5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f\"\n \"secgroups\":\n - \"2b7ee980-efc2-4199-98ad-0a375c3ba291\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"87a5f22d-d596-4305-99d3-a5277aab207a\"\n \"name\": \"ecs-website\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:f4:f0:19\"\n \"name\": \"\"\n \"port\": \"2a6d86d4-eaf9-4a57-b18f-af36760c4eb4\"\n \"uuid\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"secgroups\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c\"\n \"name\": \"ecs-admin-testing\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:10:0a:f0\"\n \"name\": \"\"\n \"port\": \"58e7dce6-1241-46ad-b436-87577c1c3ee4\"\n \"uuid\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:10:0a:f1\"\n \"name\": \"\"\n \"port\": \"b461ed0c-0f73-4518-b3e7-098d27b0295c\"\n \"uuid\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"secgroups\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"daa26951-e6b7-4e0e-86e0-32f9e669e838\"\n \"name\": \"ecs-peer-web-testing\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:10:0a:c2\"\n \"name\": \"\"\n \"port\": \"caf7dc15-faf7-420e-af0e-0c692a216fb0\"\n \"uuid\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"secgroups\":\n - \"82960534-6f06-4995-8ca7-65b18fffa84b\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"fd525b9c-11dd-4e9d-abb7-6ce4b513d602\"\n \"name\": \"ecs-jump-testing\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:10:00:11\"\n \"name\": \"\"\n \"port\": \"6ab37853-36b3-43be-ba26-d1bf37c8e8fb\"\n \"uuid\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n \"secgroups\":\n - \"170caca7-fbb5-4ade-9a25-ce976d9ed82b\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"444a37fc-6f04-4fb8-b55c-c3fdc3dba642\"\n \"name\": \"ecs-frontend-web\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:f4:f0:85\"\n \"name\": \"\"\n \"port\": \"e2553fcb-1fcc-419a-bf20-fdf38910af54\"\n \"uuid\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"secgroups\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-02\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"658e9751-4923-465f-8091-2c6257645a5b\"\n \"name\": \"ecs-peer-admin\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:f4:f0:e3\"\n \"name\": \"\"\n \"port\": \"36625f7e-c4fc-405c-aeed-f2ac4655c778\"\n \"uuid\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"secgroups\":\n - \"4f14fba4-ea42-4ebd-9ff1-16611d07a8e4\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"940014fb-b09d-4c43-b3b9-db2820342ba9\"\n \"name\": \"ecs-peer-web\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:f4:f0:2b\"\n \"name\": \"\"\n \"port\": \"efbc7990-112f-4040-95bd-9ee8e8554398\"\n \"uuid\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"secgroups\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n- \"az\": \"eu-de-03\"\n \"flavor_id\": \"s3.medium.1\"\n \"id\": \"055f937b-0bb5-4905-b1b5-b053c161480a\"\n \"name\": \"ecs-peer-jump\"\n \"networks\":\n - \"fixed_ip_v4\": \"\"\n \"fixed_ip_v6\": \"\"\n \"mac\": \"fa:16:3e:f4:ef:e0\"\n \"name\": \"\"\n \"port\": \"1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1\"\n \"uuid\": \"b3523510-8a93-4ad9-b5d7-2178464f1f65\"\n \"secgroups\":\n - \"abe07485-dd5e-4cb2-a88a-3b10c699a4ee\"\n \"status\": \"ACTIVE\"\n\"evs\":\n- \"attach\":\n - \"attached_at\": \"2025-07-22T07:48:19.474297\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vdb\"\n \"id\": \"04aa0538-6db2-417e-9dd3-cd44726f7878\"\n \"server_id\": \"8f0dbccb-d06f-49ef-9e88-f4d1af5c7342\"\n \"az\": \"eu-de-03\"\n \"id\": \"1ce30403-6ca2-4ddf-8517-52f2b9c2c11d\"\n \"name\": \"peer-admin-loki-monitor-volume-0001\"\n \"sizeGB\": 100\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2025-07-22T07:48:02.286840\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"e7ee7dd8-a310-4558-9ab3-9d2b1969faab\"\n \"server_id\": \"8f0dbccb-d06f-49ef-9e88-f4d1af5c7342\"\n \"az\": \"eu-de-03\"\n \"id\": \"b3d9bb8f-e0ad-4cba-b947-764ddee4575a\"\n \"name\": \"peer-admin-loki-monitor\"\n \"sizeGB\": 20\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2025-07-21T13:07:10.291433\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"357601f0-6bcc-4835-91fa-235d924f47da\"\n \"server_id\": \"d2f50d51-52e3-4163-b8bb-6edd0b569ad4\"\n \"az\": \"eu-de-03\"\n \"id\": \"ae7deb34-541e-447a-bbf3-8d6c02c9e3a1\"\n \"name\": \"peer-admin-jumphost\"\n \"sizeGB\": 10\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2025-06-24T07:58:25.155026\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"86f92e34-c4c7-4abc-b32c-31a69d5d888a\"\n \"server_id\": \"bc66c2b9-b493-4a78-a4d6-8729ba0230c9\"\n \"az\": \"eu-de-03\"\n \"id\": \"550ee657-e860-4c0a-a31e-88f00d4a55f8\"\n \"name\": \"ecs-peer-monitor-test\"\n \"sizeGB\": 20\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2025-04-09T13:26:34.307498\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"3fad6b88-14aa-4a95-a976-1d06ee7a0b82\"\n \"server_id\": \"27dd9e47-59d9-493c-a867-9291c4480b63\"\n \"az\": \"eu-de-03\"\n \"id\": \"d308d225-7d2f-4da5-a259-a2f53d483226\"\n \"name\": \"ecs-testing-websocket\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2025-03-20T14:20:22.560856\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"476c6f55-de29-4381-b51b-7a4db66548c8\"\n \"server_id\": \"4c9df61a-0306-4036-b3e2-68ceff0fd121\"\n \"az\": \"eu-de-03\"\n \"id\": \"91bf7962-5e90-4c33-976a-68e57267231b\"\n \"name\": \"ecs-prod_web-frontend\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2025-03-04T15:17:55.581129\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"4f76e198-f66e-4075-ad7f-9ba07a1a9683\"\n \"server_id\": \"29ef279d-55d6-403f-98ab-63859b09cbaf\"\n \"az\": \"eu-de-03\"\n \"id\": \"d01cdb06-e448-4941-a57f-b0616e331614\"\n \"name\": \"ecs-prod-admin\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2025-03-04T12:08:31.054566\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"70628160-633d-4ddd-8ace-23ec2c5185dd\"\n \"server_id\": \"349d2490-cfd9-4e2c-b4f0-a2c18efb0382\"\n \"az\": \"eu-de-03\"\n \"id\": \"531cfed3-b43e-4eed-b291-404533f7b163\"\n \"name\": \"ecs-prod-backend\"\n \"sizeGB\": 1000\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2025-03-04T10:55:53.225073\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"43269dca-4908-44ff-8b74-395334888ab9\"\n \"server_id\": \"a74ffa01-38c3-42dd-8b60-bf2ee6d662cc\"\n \"az\": \"eu-de-03\"\n \"id\": \"5ec8a593-8781-4fcc-bf31-b0ee31fec9b9\"\n \"name\": \"ecs-prod-jump\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2024-12-12T10:54:47.492562\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"19c072f0-bac8-4b5e-9d73-efa2e718b5ed\"\n \"server_id\": \"87a5f22d-d596-4305-99d3-a5277aab207a\"\n \"az\": \"eu-de-03\"\n \"id\": \"299d9f91-bc38-469e-b5a8-1bdc9b79e275\"\n \"name\": \"ecs-website\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2024-12-12T10:04:03.119669\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"4aa85647-95eb-48ad-a8f7-20410907fb1c\"\n \"server_id\": \"f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c\"\n \"az\": \"eu-de-03\"\n \"id\": \"c7b4fb41-3ea2-4fcb-81b7-e4711bae0718\"\n \"name\": \"ecs-admin-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2024-12-10T16:11:50.960380\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"36e68769-726b-4fbf-a9f3-a937006178ed\"\n \"server_id\": \"daa26951-e6b7-4e0e-86e0-32f9e669e838\"\n \"az\": \"eu-de-03\"\n \"id\": \"22436c21-f3ea-46a7-9421-2d5683bcb954\"\n \"name\": \"ecs-peer-web-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2024-12-10T15:14:18.640680\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"e74ae11e-174b-4345-b778-5753ddf02da4\"\n \"server_id\": \"fd525b9c-11dd-4e9d-abb7-6ce4b513d602\"\n \"az\": \"eu-de-03\"\n \"id\": \"d7457911-383b-4b04-a802-e5541a256cda\"\n \"name\": \"ecs-jump-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2024-10-17T13:33:03.320359\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"ee2a4cb2-b320-40a8-a8ab-68c5fe80ab0a\"\n \"server_id\": \"444a37fc-6f04-4fb8-b55c-c3fdc3dba642\"\n \"az\": \"eu-de-03\"\n \"id\": \"ea32af0a-3824-4d28-b449-7457d0c2a0f5\"\n \"name\": \"ecs-frontend-web\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2024-10-07T15:02:34.064678\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"8161ddd7-4c02-4abd-9976-b6861cf75660\"\n \"server_id\": \"658e9751-4923-465f-8091-2c6257645a5b\"\n \"az\": \"eu-de-02\"\n \"id\": \"53754122-00fe-4318-a7be-b803d679c261\"\n \"name\": \"ecs-peer-admin-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n- \"attach\":\n - \"attached_at\": \"2024-10-04T15:19:12.660169\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"e9c20709-3601-4c81-9339-7695e92e0106\"\n \"server_id\": \"940014fb-b09d-4c43-b3b9-db2820342ba9\"\n \"az\": \"eu-de-03\"\n \"id\": \"02ebba9e-b9ac-4a4f-8d2c-5fc71773f81a\"\n \"name\": \"ecs-peer-web-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"ESSD\"\n- \"attach\":\n - \"attached_at\": \"2024-10-04T14:43:01.953531\"\n \"attached_mode\": \"rw\"\n \"device_name\": \"/dev/vda\"\n \"id\": \"bc5530d6-364e-4ae6-ba61-8fe231ead70a\"\n \"server_id\": \"055f937b-0bb5-4905-b1b5-b053c161480a\"\n \"az\": \"eu-de-03\"\n \"id\": \"b0f6fe3f-a6b4-4c5f-ac78-9485808082dc\"\n \"name\": \"ecs-peer-jump-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n\"generated_at\": \"2025-09-29T08:10:01Z\"\n\"ports\":\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"10.50.50.254\"\n \"id\": \"0790568d-b9e2-4a9a-9025-21ddf991cc48\"\n \"name\": \"\"\n \"network_id\": \"43768ec1-f43b-4c28-97b3-98cd1408ebcc\"\n \"sg_ids\": []\n- \"device_id\": \"8165c92f-f183-4e22-a1c2-9df880276a11\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"192.168.1.1\"\n \"id\": \"19a25d81-bab5-4241-91be-c2b92ce93b65\"\n \"name\": \"b42e2e98-45f2-4ec8-94bf-4dd2d7ecf574\"\n \"network_id\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"10f8c808-f6bf-47a8-b3c5-5910bc691900\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"172.16.0.1\"\n \"id\": \"1ca90188-3e4f-4eca-ae88-160aa5481068\"\n \"name\": \"da92bfcd-fbdb-40c4-976e-339446831330\"\n \"network_id\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"cb43c4e5-e25c-4727-b7ce-6b9995edffac\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"10.50.50.1\"\n \"id\": \"1fdd28c2-1f57-4f59-93a6-50752741c4ec\"\n \"name\": \"15df7a53-3edf-4316-a812-a47c7b0d63e7\"\n \"network_id\": \"43768ec1-f43b-4c28-97b3-98cd1408ebcc\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"055f937b-0bb5-4905-b1b5-b053c161480a\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"10.5.0.241\"\n \"id\": \"1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1\"\n \"name\": \"\"\n \"network_id\": \"b3523510-8a93-4ad9-b5d7-2178464f1f65\"\n \"sg_ids\":\n - \"abe07485-dd5e-4cb2-a88a-3b10c699a4ee\"\n- \"device_id\": \"bc66c2b9-b493-4a78-a4d6-8729ba0230c9\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"172.16.0.20\"\n \"id\": \"293f9e4e-dc97-4191-b36d-1eb0c7486035\"\n \"name\": \"\"\n \"network_id\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n- \"device_id\": \"87a5f22d-d596-4305-99d3-a5277aab207a\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"10.5.1.42\"\n \"id\": \"2a6d86d4-eaf9-4a57-b18f-af36760c4eb4\"\n \"name\": \"\"\n \"network_id\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n- \"device_id\": \"f310bbe4-fb86-42e3-acc5-7a8ad5a81fe7\"\n \"device_owner\": \"neutron:LOADBALANCERV2\"\n \"fixed_ips\":\n - \"172.16.10.91\"\n \"id\": \"2bf1cfbb-5e66-42c3-a49b-0b85353acddf\"\n \"name\": \"loadbalancer-f310bbe4-fb86-42e3-acc5-7a8ad5a81fe7\"\n \"network_id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"658e9751-4923-465f-8091-2c6257645a5b\"\n \"device_owner\": \"compute:eu-de-02\"\n \"fixed_ips\":\n - \"10.5.1.244\"\n \"id\": \"36625f7e-c4fc-405c-aeed-f2ac4655c778\"\n \"name\": \"\"\n \"network_id\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"sg_ids\":\n - \"4f14fba4-ea42-4ebd-9ff1-16611d07a8e4\"\n- \"device_id\": \"0e098681-9464-446a-b0d4-eada436ef036\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"172.16.20.156\"\n \"id\": \"395b146b-cf9a-4114-9a49-25a236064ae5\"\n \"name\": \"dbs_0e098681-9464-446a-b0d4-eada436ef036\"\n \"network_id\": \"4e1a7d6f-1c96-428e-bc8c-380024bd5f6a\"\n \"sg_ids\":\n - \"cc76cd06-5c73-4833-bb8b-5587f29abab0\"\n- \"device_id\": \"aff5f984-524b-4078-92bc-218d781dd70f\"\n \"device_owner\": \"compute:eu-de-02\"\n \"fixed_ips\":\n - \"10.5.2.71\"\n \"id\": \"437a47c2-bee0-4630-b355-f2d67f85097d\"\n \"name\": \"dbs_aff5f984-524b-4078-92bc-218d781dd70f\"\n \"network_id\": \"ae7211cf-a76b-45b9-a291-351768e4d954\"\n \"sg_ids\":\n - \"05879954-6c44-48eb-9497-c87512321460\"\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"192.168.1.254\"\n \"id\": \"43b6145f-1525-4746-980b-272c6a1bf7ea\"\n \"name\": \"\"\n \"network_id\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"sg_ids\": []\n- \"device_id\": \"8165c92f-f183-4e22-a1c2-9df880276a11\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"192.168.2.1\"\n \"id\": \"50ea4666-0764-44c3-b11a-ebedeadb205a\"\n \"name\": \"9f4d41cb-1a40-4520-9e89-a3ada8acffa1\"\n \"network_id\": \"d0c4899f-b567-4d33-bb17-4e28d926cbc5\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"172.16.10.240\"\n \"id\": \"58e7dce6-1241-46ad-b436-87577c1c3ee4\"\n \"name\": \"\"\n \"network_id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n- \"device_id\": \"575a658a-e02a-41cd-bf70-98c503d9785d\"\n \"device_owner\": \"neutron:LOADBALANCERV2\"\n \"fixed_ips\":\n - \"192.168.1.110\"\n \"id\": \"607ff469-0f95-4b13-a44e-d55ff078469f\"\n \"name\": \"loadbalancer-575a658a-e02a-41cd-bf70-98c503d9785d\"\n \"network_id\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"2f77e0de-bc99-421e-9e6b-ed7c07518ed2\"\n \"device_owner\": \"network:nat_gateway\"\n \"fixed_ips\":\n - \"192.168.0.109\"\n \"id\": \"609e00c1-f0be-468e-9af7-e851a4100442\"\n \"name\": \"NAT_GATEWAYTAGS\"\n \"network_id\": \"5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f\"\n \"sg_ids\": []\n- \"device_id\": \"8f0dbccb-d06f-49ef-9e88-f4d1af5c7342\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"10.50.1.150\"\n \"id\": \"67d27c76-d02c-4d3a-882f-8076198fb308\"\n \"name\": \"\"\n \"network_id\": \"536f3d94-35f2-4aca-9116-16a76d0b91c4\"\n \"sg_ids\":\n - \"05eb0a9e-2d1f-4fc4-820c-fe13399a9d75\"\n- \"device_id\": \"fd525b9c-11dd-4e9d-abb7-6ce4b513d602\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"172.16.0.17\"\n \"id\": \"6ab37853-36b3-43be-ba26-d1bf37c8e8fb\"\n \"name\": \"\"\n \"network_id\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n \"sg_ids\":\n - \"170caca7-fbb5-4ade-9a25-ce976d9ed82b\"\n- \"device_id\": \"10f8c808-f6bf-47a8-b3c5-5910bc691900\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"172.16.20.1\"\n \"id\": \"77fe3322-10ec-4881-8b60-8d4e6dfe15be\"\n \"name\": \"7d2dd8db-38e5-4526-ace9-d6bddd573e88\"\n \"network_id\": \"4e1a7d6f-1c96-428e-bc8c-380024bd5f6a\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"75eaedd4-3721-4001-9bbe-677050a4b70e\"\n \"device_owner\": \"compute:eu-de-01\"\n \"fixed_ips\":\n - \"172.16.20.48\"\n \"id\": \"806bdef6-7abc-4bc3-a0e4-85118ea5a56d\"\n \"name\": \"dbs_75eaedd4-3721-4001-9bbe-677050a4b70e\"\n \"network_id\": \"4e1a7d6f-1c96-428e-bc8c-380024bd5f6a\"\n \"sg_ids\":\n - \"cc76cd06-5c73-4833-bb8b-5587f29abab0\"\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"10.5.0.254\"\n \"id\": \"8147cb5a-21d4-4afd-a58d-0d5e08d9a210\"\n \"name\": \"\"\n \"network_id\": \"b3523510-8a93-4ad9-b5d7-2178464f1f65\"\n \"sg_ids\": []\n- \"device_id\": \"60139ab3-c529-4a32-b446-aaa12fa04d5a\"\n \"device_owner\": \"network:nat_gateway\"\n \"fixed_ips\":\n - \"172.16.0.203\"\n \"id\": \"8325dcec-210a-4fe2-979d-1caa0fcf666f\"\n \"name\": \"NAT_GATEWAYTAGS\"\n \"network_id\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n \"sg_ids\": []\n- \"device_id\": \"a74ffa01-38c3-42dd-8b60-bf2ee6d662cc\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"192.168.0.65\"\n \"id\": \"83710b25-11aa-419c-bb65-4d9d031d734c\"\n \"name\": \"\"\n \"network_id\": \"5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f\"\n \"sg_ids\":\n - \"2b7ee980-efc2-4199-98ad-0a375c3ba291\"\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"172.16.0.254\"\n \"id\": \"841601e4-e345-4279-abc4-aa0bbd59e5f8\"\n \"name\": \"\"\n \"network_id\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n \"sg_ids\": []\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"10.5.2.254\"\n \"id\": \"8f60b980-8cdd-449e-a155-90ec0905d291\"\n \"name\": \"\"\n \"network_id\": \"ae7211cf-a76b-45b9-a291-351768e4d954\"\n \"sg_ids\": []\n- \"device_id\": \"8165c92f-f183-4e22-a1c2-9df880276a11\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"192.168.0.1\"\n \"id\": \"9921d2dc-753b-43c9-a270-33cf2f964e4d\"\n \"name\": \"43681d41-0d60-48b9-9817-6a712612fe3f\"\n \"network_id\": \"5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"\"\n \"device_owner\": \"neutron:VIP_PORT\"\n \"fixed_ips\":\n - \"172.16.20.36\"\n \"id\": \"9dee05af-52d0-49d8-af88-d095da974103\"\n \"name\": \"\"\n \"network_id\": \"4e1a7d6f-1c96-428e-bc8c-380024bd5f6a\"\n \"sg_ids\":\n - \"cc76cd06-5c73-4833-bb8b-5587f29abab0\"\n- \"device_id\": \"349d2490-cfd9-4e2c-b4f0-a2c18efb0382\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"192.168.1.183\"\n \"id\": \"9df13dbb-7c34-45d1-9312-729e70492485\"\n \"name\": \"\"\n \"network_id\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"sg_ids\":\n - \"a04d74f1-879a-4c55-8d07-033c8db98065\"\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"10.50.1.254\"\n \"id\": \"a5d0eca7-82a8-4e00-a973-83093951c5df\"\n \"name\": \"\"\n \"network_id\": \"536f3d94-35f2-4aca-9116-16a76d0b91c4\"\n \"sg_ids\": []\n- \"device_id\": \"700af767-115d-43b8-8886-a6a4a63d59ef\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"10.5.1.1\"\n \"id\": \"a9fdaace-051c-4b20-9276-691ab9fc0397\"\n \"name\": \"81493971-bb32-4fa6-9e8a-dc50f7a63486\"\n \"network_id\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"981d3c45-29f8-4aab-a081-147f73890612\"\n \"device_owner\": \"compute:eu-de-01\"\n \"fixed_ips\":\n - \"192.168.2.164\"\n \"id\": \"ab2b26f5-55c9-4527-a42a-b515b2fcf3d2\"\n \"name\": \"dbs_981d3c45-29f8-4aab-a081-147f73890612\"\n \"network_id\": \"d0c4899f-b567-4d33-bb17-4e28d926cbc5\"\n \"sg_ids\":\n - \"87989c4f-e258-4a8c-a01e-ead42a4f6632\"\n- \"device_id\": \"700af767-115d-43b8-8886-a6a4a63d59ef\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"10.5.2.1\"\n \"id\": \"aef685c3-d684-4016-b603-bec6a877e665\"\n \"name\": \"9a1a7c23-c024-420d-bece-3ab50296b2ff\"\n \"network_id\": \"ae7211cf-a76b-45b9-a291-351768e4d954\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"fea334e5-551e-4e6f-873c-32016fb71755\"\n \"device_owner\": \"network:nat_gateway\"\n \"fixed_ips\":\n - \"10.5.0.128\"\n \"id\": \"b4263be0-37e1-4815-8326-3ab128364ce9\"\n \"name\": \"NAT_GATEWAYTAGS\"\n \"network_id\": \"b3523510-8a93-4ad9-b5d7-2178464f1f65\"\n \"sg_ids\": []\n- \"device_id\": \"f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"172.16.10.241\"\n \"id\": \"b461ed0c-0f73-4518-b3e7-098d27b0295c\"\n \"name\": \"\"\n \"network_id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n- \"device_id\": \"cb43c4e5-e25c-4727-b7ce-6b9995edffac\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"10.50.1.1\"\n \"id\": \"b7501686-e7c7-4561-bb4a-570f6f972731\"\n \"name\": \"9dc18541-7290-43e4-98d5-9c99519d10c9\"\n \"network_id\": \"536f3d94-35f2-4aca-9116-16a76d0b91c4\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"d2f50d51-52e3-4163-b8bb-6edd0b569ad4\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"10.50.1.100\"\n \"id\": \"b9b9ce27-1cc7-4c93-88bc-c995dbddd647\"\n \"name\": \"\"\n \"network_id\": \"536f3d94-35f2-4aca-9116-16a76d0b91c4\"\n \"sg_ids\":\n - \"2bb26324-3989-4458-a614-8425cc6cd21a\"\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"18444996-dd87-472a-abb2-61c23707c3a2\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"192.168.2.92\"\n \"id\": \"be379a1c-2f68-482e-81cd-04a004e55fe7\"\n \"name\": \"dbs_18444996-dd87-472a-abb2-61c23707c3a2\"\n \"network_id\": \"d0c4899f-b567-4d33-bb17-4e28d926cbc5\"\n \"sg_ids\":\n - \"87989c4f-e258-4a8c-a01e-ead42a4f6632\"\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"172.16.20.254\"\n \"id\": \"c0b01611-2371-4cdc-824a-85462695d864\"\n \"name\": \"\"\n \"network_id\": \"4e1a7d6f-1c96-428e-bc8c-380024bd5f6a\"\n \"sg_ids\": []\n- \"device_id\": \"daa26951-e6b7-4e0e-86e0-32f9e669e838\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"172.16.10.194\"\n \"id\": \"caf7dc15-faf7-420e-af0e-0c692a216fb0\"\n \"name\": \"\"\n \"network_id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"sg_ids\":\n - \"82960534-6f06-4995-8ca7-65b18fffa84b\"\n- \"device_id\": \"700af767-115d-43b8-8886-a6a4a63d59ef\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"10.5.0.1\"\n \"id\": \"cba4fcbd-8f68-4601-ae0a-785bc244994e\"\n \"name\": \"c5300a6a-417d-4833-9d43-08c134376b0d\"\n \"network_id\": \"b3523510-8a93-4ad9-b5d7-2178464f1f65\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"192.168.2.254\"\n \"id\": \"cf0bc239-9473-4f42-9c1a-1edc965b62bc\"\n \"name\": \"\"\n \"network_id\": \"d0c4899f-b567-4d33-bb17-4e28d926cbc5\"\n \"sg_ids\": []\n- \"device_id\": \"df1e56c5-e776-48ad-8c8b-50a8fe9255fa\"\n \"device_owner\": \"neutron:LOADBALANCERV2\"\n \"fixed_ips\":\n - \"10.5.1.28\"\n \"id\": \"d575a83c-0f38-41c1-8a1b-bcb2f2a30613\"\n \"name\": \"loadbalancer-df1e56c5-e776-48ad-8c8b-50a8fe9255fa\"\n \"network_id\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"\"\n \"device_owner\": \"neutron:VIP_PORT\"\n \"fixed_ips\":\n - \"10.5.2.186\"\n \"id\": \"d92bdd57-1e45-4b49-8458-9108fd0638c7\"\n \"name\": \"\"\n \"network_id\": \"ae7211cf-a76b-45b9-a291-351768e4d954\"\n \"sg_ids\":\n - \"05879954-6c44-48eb-9497-c87512321460\"\n- \"device_id\": \"35ba18a1-1209-4786-a2d7-b0233f13cd84\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"10.5.2.201\"\n \"id\": \"dab86af4-478e-48b7-a8c8-31d49c5e2961\"\n \"name\": \"dbs_35ba18a1-1209-4786-a2d7-b0233f13cd84\"\n \"network_id\": \"ae7211cf-a76b-45b9-a291-351768e4d954\"\n \"sg_ids\":\n - \"05879954-6c44-48eb-9497-c87512321460\"\n- \"device_id\": \"10f8c808-f6bf-47a8-b3c5-5910bc691900\"\n \"device_owner\": \"network:router_interface_distributed\"\n \"fixed_ips\":\n - \"172.16.10.1\"\n \"id\": \"dc630d3a-d638-4666-bf2e-8fbbc305d5f1\"\n \"name\": \"ff0ede7a-6dab-45b4-924d-5e855ab36ea6\"\n \"network_id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"sg_ids\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"10.5.1.254\"\n \"id\": \"dcb3cd66-864f-4d96-8621-74bef6044d03\"\n \"name\": \"\"\n \"network_id\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"sg_ids\": []\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"192.168.0.254\"\n \"id\": \"df7cd690-559b-4226-9c6b-0542fd98eee1\"\n \"name\": \"\"\n \"network_id\": \"5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f\"\n \"sg_ids\": []\n- \"device_id\": \"444a37fc-6f04-4fb8-b55c-c3fdc3dba642\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"10.5.1.150\"\n \"id\": \"e2553fcb-1fcc-419a-bf20-fdf38910af54\"\n \"name\": \"\"\n \"network_id\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n- \"device_id\": \"\"\n \"device_owner\": \"network:dhcp\"\n \"fixed_ips\":\n - \"172.16.10.254\"\n \"id\": \"e7edb316-169b-4b51-ac6a-4c67f7bd4611\"\n \"name\": \"\"\n \"network_id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"sg_ids\": []\n- \"device_id\": \"4c9df61a-0306-4036-b3e2-68ceff0fd121\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"192.168.1.94\"\n \"id\": \"eb00aa68-66ed-47c5-afc7-fb3b65d5020c\"\n \"name\": \"\"\n \"network_id\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"sg_ids\":\n - \"0a6ffdf8-9b73-4078-bb7f-80d77d8366c4\"\n- \"device_id\": \"29ef279d-55d6-403f-98ab-63859b09cbaf\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"192.168.1.193\"\n \"id\": \"ec92dd6f-87c3-4d35-b79e-dc7be212657b\"\n \"name\": \"\"\n \"network_id\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n \"sg_ids\":\n - \"c3701b8f-079c-4864-83a6-600c7204a415\"\n- \"device_id\": \"940014fb-b09d-4c43-b3b9-db2820342ba9\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"10.5.1.60\"\n \"id\": \"efbc7990-112f-4040-95bd-9ee8e8554398\"\n \"name\": \"\"\n \"network_id\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n- \"device_id\": \"\"\n \"device_owner\": \"neutron:VIP_PORT\"\n \"fixed_ips\":\n - \"192.168.2.97\"\n \"id\": \"f336ff44-e02b-47bf-8aae-18434afe6071\"\n \"name\": \"\"\n \"network_id\": \"d0c4899f-b567-4d33-bb17-4e28d926cbc5\"\n \"sg_ids\":\n - \"87989c4f-e258-4a8c-a01e-ead42a4f6632\"\n- \"device_id\": \"27dd9e47-59d9-493c-a867-9291c4480b63\"\n \"device_owner\": \"compute:eu-de-03\"\n \"fixed_ips\":\n - \"172.16.10.184\"\n \"id\": \"fe0f5779-8487-49c2-9492-8fd96aba1b60\"\n \"name\": \"\"\n \"network_id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"sg_ids\":\n - \"4088c618-6940-422f-87a2-7be4c26f3910\"\n\"region\": \"eu-de\"\n\"subnets\":\n- \"cidr\": \"172.16.10.0/24\"\n \"id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"name\": \"subnet-service-testing\"\n \"vpc_id\": \"10f8c808-f6bf-47a8-b3c5-5910bc691900\"\n- \"cidr\": \"172.16.0.0/24\"\n \"id\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n \"name\": \"subnet-mgt-testing\"\n \"vpc_id\": \"10f8c808-f6bf-47a8-b3c5-5910bc691900\"\n- \"cidr\": \"172.16.20.0/24\"\n \"id\": \"4e1a7d6f-1c96-428e-bc8c-380024bd5f6a\"\n \"name\": \"subnet-data-testing\"\n \"vpc_id\": \"10f8c808-f6bf-47a8-b3c5-5910bc691900\"\n", + "type": "string" + }, + "peer_network_yaml_path": { + "value": "peer_network.yaml", + "type": "string" + } + }, + "resources": [ + { + "mode": "data", + "type": "opentelekomcloud_compute_instances_v2", + "name": "all", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "flavor_id": null, + "flavor_name": null, + "id": "4220938230", + "image_id": null, + "instance_id": null, + "instances": [ + { + "availability_zone": "eu-de-03", + "description": "This is the main log aggregator for peer. All Dev, and build logs. With health.", + "flavor_id": "s3.large.2", + "id": "8f0dbccb-d06f-49ef-9e88-f4d1af5c7342", + "image_id": "ca962bbf-de51-4462-a352-4fe5e26ec67c", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "peer-admin-key", + "name": "peer-admin-loki-monitor", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:de:ad:42", + "name": "", + "port": "67d27c76-d02c-4d3a-882f-8076198fb308", + "uuid": "536f3d94-35f2-4aca-9116-16a76d0b91c4" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "80.158.22.100", + "security_groups_ids": [ + "05eb0a9e-2d1f-4fc4-820c-fe13399a9d75" + ], + "status": "ACTIVE", + "system_disk_id": "b3d9bb8f-e0ad-4cba-b947-764ddee4575a", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "The jumphost for the admin VPC group", + "flavor_id": "s7n.small.1", + "id": "d2f50d51-52e3-4163-b8bb-6edd0b569ad4", + "image_id": "cf4ba719-0c8f-4808-b82a-ec71d4e9959c", + "image_name": "Standard_Ubuntu_24.04_amd64_bios_GitLab_3074", + "key_pair": "peer-admin-key", + "name": "peer-admin-jumphost", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:de:ad:10", + "name": "", + "port": "b9b9ce27-1cc7-4c93-88bc-c995dbddd647", + "uuid": "536f3d94-35f2-4aca-9116-16a76d0b91c4" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "80.158.41.189", + "security_groups_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099", + "2bb26324-3989-4458-a614-8425cc6cd21a" + ], + "status": "ACTIVE", + "system_disk_id": "ae7deb34-541e-447a-bbf3-8d6c02c9e3a1", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "This VM ECS servers if to test and monitor the testing einvironment", + "flavor_id": "s3.medium.2", + "id": "bc66c2b9-b493-4a78-a4d6-8729ba0230c9", + "image_id": "c0b68f22-adf5-4348-9cd6-5f27a9295f05", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "peer-email-key", + "name": "ecs-peer-monitor-test", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:10:00:14", + "name": "", + "port": "293f9e4e-dc97-4191-b36d-1eb0c7486035", + "uuid": "090def60-f4da-434f-a374-78dc9817fb6e" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "164.30.7.104", + "security_groups_ids": [ + "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + ], + "status": "ACTIVE", + "system_disk_id": "550ee657-e860-4c0a-a31e-88f00d4a55f8", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "the websocket for the solana and backend test connection", + "flavor_id": "s3.medium.1", + "id": "27dd9e47-59d9-493c-a867-9291c4480b63", + "image_id": "ffbd868d-0688-4d37-8154-525937f908f5", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "testing-websocket", + "name": "ecs-testing-websocket", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:10:0a:b8", + "name": "", + "port": "fe0f5779-8487-49c2-9492-8fd96aba1b60", + "uuid": "048d9e09-4c22-41a4-97f1-793efa67f865" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "80.158.109.151", + "security_groups_ids": [ + "4088c618-6940-422f-87a2-7be4c26f3910" + ], + "status": "ACTIVE", + "system_disk_id": "d308d225-7d2f-4da5-a259-a2f53d483226", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "this is the server for web frontend in prod", + "flavor_id": "s3.medium.1", + "id": "4c9df61a-0306-4036-b3e2-68ceff0fd121", + "image_id": "ffbd868d-0688-4d37-8154-525937f908f5", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "prod_web-frontend", + "name": "ecs-prod_web-frontend", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:b9:12:6f", + "name": "", + "port": "eb00aa68-66ed-47c5-afc7-fb3b65d5020c", + "uuid": "f347c51c-7f22-4a6c-800f-fd6d38686794" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "164.30.12.84", + "security_groups_ids": [ + "0a6ffdf8-9b73-4078-bb7f-80d77d8366c4" + ], + "status": "ACTIVE", + "system_disk_id": "91bf7962-5e90-4c33-976a-68e57267231b", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "Admin server for the postgresDB in production setup.", + "flavor_id": "s3.large.2", + "id": "29ef279d-55d6-403f-98ab-63859b09cbaf", + "image_id": "3903f737-1642-497a-84e7-0663fc1e9caa", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "prod-admin", + "name": "ecs-prod-admin", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:b9:12:d2", + "name": "", + "port": "ec92dd6f-87c3-4d35-b79e-dc7be212657b", + "uuid": "f347c51c-7f22-4a6c-800f-fd6d38686794" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "", + "security_groups_ids": [ + "c3701b8f-079c-4864-83a6-600c7204a415" + ], + "status": "ACTIVE", + "system_disk_id": "d01cdb06-e448-4941-a57f-b0616e331614", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "The backend server for the production setup.", + "flavor_id": "s3.4xlarge.4", + "id": "349d2490-cfd9-4e2c-b4f0-a2c18efb0382", + "image_id": "3903f737-1642-497a-84e7-0663fc1e9caa", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "prod-backend", + "name": "ecs-prod-backend", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:b9:12:c8", + "name": "", + "port": "9df13dbb-7c34-45d1-9312-729e70492485", + "uuid": "f347c51c-7f22-4a6c-800f-fd6d38686794" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "", + "security_groups_ids": [ + "a04d74f1-879a-4c55-8d07-033c8db98065" + ], + "status": "ACTIVE", + "system_disk_id": "531cfed3-b43e-4eed-b291-404533f7b163", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "Jump-Host for the production setup.", + "flavor_id": "s3.medium.1", + "id": "a74ffa01-38c3-42dd-8b60-bf2ee6d662cc", + "image_id": "3903f737-1642-497a-84e7-0663fc1e9caa", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "peer_beta-prod", + "name": "ecs-prod-jump", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:b9:11:52", + "name": "", + "port": "83710b25-11aa-419c-bb65-4d9d031d734c", + "uuid": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "80.158.7.156", + "security_groups_ids": [ + "2b7ee980-efc2-4199-98ad-0a375c3ba291" + ], + "status": "ACTIVE", + "system_disk_id": "5ec8a593-8781-4fcc-bf31-b0ee31fec9b9", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "small server chan for our website ", + "flavor_id": "s3.medium.1", + "id": "87a5f22d-d596-4305-99d3-a5277aab207a", + "image_id": "4ea5ade7-fcb4-4659-82e0-5305e3b5f3cd", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "olaf_work", + "name": "ecs-website", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:f4:f0:19", + "name": "", + "port": "2a6d86d4-eaf9-4a57-b18f-af36760c4eb4", + "uuid": "3089a379-4a7f-4147-aa5e-b2134d6327f7" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "164.30.6.79", + "security_groups_ids": [ + "1e98dd1b-d695-4239-917e-b3d59e47880d" + ], + "status": "ACTIVE", + "system_disk_id": "299d9f91-bc38-469e-b5a8-1bdc9b79e275", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "admin server for the postgres db in peer_beta-testing", + "flavor_id": "s3.medium.1", + "id": "f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c", + "image_id": "4ea5ade7-fcb4-4659-82e0-5305e3b5f3cd", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "beta_testing-key", + "name": "ecs-admin-testing", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:10:0a:f0", + "name": "", + "port": "58e7dce6-1241-46ad-b436-87577c1c3ee4", + "uuid": "048d9e09-4c22-41a4-97f1-793efa67f865" + }, + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:10:0a:f1", + "name": "", + "port": "b461ed0c-0f73-4518-b3e7-098d27b0295c", + "uuid": "048d9e09-4c22-41a4-97f1-793efa67f865" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "80.158.58.249", + "security_groups_ids": [ + "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + ], + "status": "ACTIVE", + "system_disk_id": "c7b4fb41-3ea2-4fcb-81b7-e4711bae0718", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "backend server in our testing environment", + "flavor_id": "s3.medium.1", + "id": "daa26951-e6b7-4e0e-86e0-32f9e669e838", + "image_id": "4ea5ade7-fcb4-4659-82e0-5305e3b5f3cd", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "beta_testing-key", + "name": "ecs-peer-web-testing", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:10:0a:c2", + "name": "", + "port": "caf7dc15-faf7-420e-af0e-0c692a216fb0", + "uuid": "048d9e09-4c22-41a4-97f1-793efa67f865" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "", + "security_groups_ids": [ + "82960534-6f06-4995-8ca7-65b18fffa84b" + ], + "status": "ACTIVE", + "system_disk_id": "22436c21-f3ea-46a7-9421-2d5683bcb954", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "Jump-Host for the testing setup", + "flavor_id": "s3.medium.1", + "id": "fd525b9c-11dd-4e9d-abb7-6ce4b513d602", + "image_id": "4ea5ade7-fcb4-4659-82e0-5305e3b5f3cd", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "beta_testing-key", + "name": "ecs-jump-testing", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:10:00:11", + "name": "", + "port": "6ab37853-36b3-43be-ba26-d1bf37c8e8fb", + "uuid": "090def60-f4da-434f-a374-78dc9817fb6e" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "164.30.10.149", + "security_groups_ids": [ + "170caca7-fbb5-4ade-9a25-ce976d9ed82b" + ], + "status": "ACTIVE", + "system_disk_id": "d7457911-383b-4b04-a802-e5541a256cda", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "Virtual machine for our webbrowser frontend", + "flavor_id": "s3.medium.1", + "id": "444a37fc-6f04-4fb8-b55c-c3fdc3dba642", + "image_id": "37c125a1-3a1d-41f2-8ea0-12895862bd2d", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "olaf_work", + "name": "ecs-frontend-web", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:f4:f0:85", + "name": "", + "port": "e2553fcb-1fcc-419a-bf20-fdf38910af54", + "uuid": "3089a379-4a7f-4147-aa5e-b2134d6327f7" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "80.158.108.20", + "security_groups_ids": [ + "1e98dd1b-d695-4239-917e-b3d59e47880d" + ], + "status": "ACTIVE", + "system_disk_id": "ea32af0a-3824-4d28-b449-7457d0c2a0f5", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-02", + "description": "peer_beta simple admin server", + "flavor_id": "s3.medium.1", + "id": "658e9751-4923-465f-8091-2c6257645a5b", + "image_id": "37c125a1-3a1d-41f2-8ea0-12895862bd2d", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "dev-key", + "name": "ecs-peer-admin", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:f4:f0:e3", + "name": "", + "port": "36625f7e-c4fc-405c-aeed-f2ac4655c778", + "uuid": "3089a379-4a7f-4147-aa5e-b2134d6327f7" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "80.158.60.175", + "security_groups_ids": [ + "4f14fba4-ea42-4ebd-9ff1-16611d07a8e4" + ], + "status": "ACTIVE", + "system_disk_id": "53754122-00fe-4318-a7be-b803d679c261", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "Web-Server for peer_beta", + "flavor_id": "s3.medium.1", + "id": "940014fb-b09d-4c43-b3b9-db2820342ba9", + "image_id": "37c125a1-3a1d-41f2-8ea0-12895862bd2d", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "dev-key", + "name": "ecs-peer-web", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:f4:f0:2b", + "name": "", + "port": "efbc7990-112f-4040-95bd-9ee8e8554398", + "uuid": "3089a379-4a7f-4147-aa5e-b2134d6327f7" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "", + "security_groups_ids": [ + "1e98dd1b-d695-4239-917e-b3d59e47880d" + ], + "status": "ACTIVE", + "system_disk_id": "02ebba9e-b9ac-4a4f-8d2c-5fc71773f81a", + "tags": {}, + "user_data": "" + }, + { + "availability_zone": "eu-de-03", + "description": "Jump-Host for peer beta project.", + "flavor_id": "s3.medium.1", + "id": "055f937b-0bb5-4905-b1b5-b053c161480a", + "image_id": "37c125a1-3a1d-41f2-8ea0-12895862bd2d", + "image_name": "Standard_Ubuntu_24.04_amd64_uefi_GitLab_3074", + "key_pair": "dev-key", + "name": "ecs-peer-jump", + "network": [ + { + "fixed_ip_v4": "", + "fixed_ip_v6": "", + "mac": "fa:16:3e:f4:ef:e0", + "name": "", + "port": "1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1", + "uuid": "b3523510-8a93-4ad9-b5d7-2178464f1f65" + } + ], + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "public_ip": "80.158.61.213", + "security_groups_ids": [ + "abe07485-dd5e-4cb2-a88a-3b10c699a4ee" + ], + "status": "ACTIVE", + "system_disk_id": "b0f6fe3f-a6b4-4c5f-ac78-9485808082dc", + "tags": {}, + "user_data": "" + } + ], + "key_pair": null, + "limit": 100, + "name": null, + "project_id": null, + "status": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_evs_volumes_v2", + "name": "all", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "id": "136788733", + "name": null, + "server_id": null, + "shareable": null, + "status": null, + "tags": null, + "volume_id": null, + "volume_type_id": null, + "volumes": [ + { + "attachments": [ + { + "attached_at": "2025-07-22T07:48:19.474297", + "attached_mode": "rw", + "device_name": "/dev/vdb", + "id": "04aa0538-6db2-417e-9dd3-cd44726f7878", + "server_id": "8f0dbccb-d06f-49ef-9e88-f4d1af5c7342" + } + ], + "availability_zone": "eu-de-03", + "bootable": false, + "create_at": "2025-07-22T07:48:09.989512", + "description": "", + "id": "1ce30403-6ca2-4ddf-8517-52f2b9c2c11d", + "name": "peer-admin-loki-monitor-volume-0001", + "service_type": "EVS", + "shareable": false, + "size": 100, + "status": "in-use", + "tags": {}, + "update_at": "2025-09-28T17:01:37.150122", + "volume_type": "GPSSD", + "wwn": "688860300000a0e9fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2025-07-22T07:48:02.286840", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "e7ee7dd8-a310-4558-9ab3-9d2b1969faab", + "server_id": "8f0dbccb-d06f-49ef-9e88-f4d1af5c7342" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2025-07-22T07:47:56.660245", + "description": "", + "id": "b3d9bb8f-e0ad-4cba-b947-764ddee4575a", + "name": "peer-admin-loki-monitor", + "service_type": "EVS", + "shareable": false, + "size": 20, + "status": "in-use", + "tags": {}, + "update_at": "2025-09-28T17:01:37.506277", + "volume_type": "GPSSD", + "wwn": "6888603000005fa1fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2025-07-21T13:07:10.291433", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "357601f0-6bcc-4835-91fa-235d924f47da", + "server_id": "d2f50d51-52e3-4163-b8bb-6edd0b569ad4" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2025-07-21T13:07:05.291147", + "description": "", + "id": "ae7deb34-541e-447a-bbf3-8d6c02c9e3a1", + "name": "peer-admin-jumphost", + "service_type": "EVS", + "shareable": false, + "size": 10, + "status": "in-use", + "tags": {}, + "update_at": "2025-09-28T17:01:34.286028", + "volume_type": "GPSSD", + "wwn": "68886030000027a4fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2025-06-24T07:58:25.155026", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "86f92e34-c4c7-4abc-b32c-31a69d5d888a", + "server_id": "bc66c2b9-b493-4a78-a4d6-8729ba0230c9" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2025-06-24T07:58:19.848925", + "description": "", + "id": "550ee657-e860-4c0a-a31e-88f00d4a55f8", + "name": "ecs-peer-monitor-test", + "service_type": "EVS", + "shareable": false, + "size": 20, + "status": "in-use", + "tags": {}, + "update_at": "2025-06-24T07:58:25.204214", + "volume_type": "GPSSD", + "wwn": "6888603000002b6ffa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2025-04-09T13:26:34.307498", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "3fad6b88-14aa-4a95-a976-1d06ee7a0b82", + "server_id": "27dd9e47-59d9-493c-a867-9291c4480b63" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2025-04-09T13:26:28.565351", + "description": "", + "id": "d308d225-7d2f-4da5-a259-a2f53d483226", + "name": "ecs-testing-websocket", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta-testing" + }, + "update_at": "2025-04-09T13:26:50.516169", + "volume_type": "GPSSD", + "wwn": "6888603000008519fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2025-03-20T14:20:22.560856", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "476c6f55-de29-4381-b51b-7a4db66548c8", + "server_id": "4c9df61a-0306-4036-b3e2-68ceff0fd121" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2025-03-20T14:20:16.804873", + "description": "", + "id": "91bf7962-5e90-4c33-976a-68e57267231b", + "name": "ecs-prod_web-frontend", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_prod" + }, + "update_at": "2025-09-29T02:02:30.954952", + "volume_type": "GPSSD", + "wwn": "68886030000033e1fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2025-03-04T15:17:55.581129", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "4f76e198-f66e-4075-ad7f-9ba07a1a9683", + "server_id": "29ef279d-55d6-403f-98ab-63859b09cbaf" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2025-03-04T15:17:49.734002", + "description": "", + "id": "d01cdb06-e448-4941-a57f-b0616e331614", + "name": "ecs-prod-admin", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_prod" + }, + "update_at": "2025-09-28T17:01:34.452893", + "volume_type": "GPSSD", + "wwn": "68886030000002ddfa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2025-03-04T12:08:31.054566", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "70628160-633d-4ddd-8ace-23ec2c5185dd", + "server_id": "349d2490-cfd9-4e2c-b4f0-a2c18efb0382" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2025-03-04T12:08:25.331596", + "description": "", + "id": "531cfed3-b43e-4eed-b291-404533f7b163", + "name": "ecs-prod-backend", + "service_type": "EVS", + "shareable": false, + "size": 1000, + "status": "in-use", + "tags": { + "project": "peer_prod" + }, + "update_at": "2025-09-28T17:01:34.479208", + "volume_type": "GPSSD", + "wwn": "6888603000003ec7fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2025-03-04T10:55:53.225073", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "43269dca-4908-44ff-8b74-395334888ab9", + "server_id": "a74ffa01-38c3-42dd-8b60-bf2ee6d662cc" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2025-03-04T10:55:47.349640", + "description": "", + "id": "5ec8a593-8781-4fcc-bf31-b0ee31fec9b9", + "name": "ecs-prod-jump", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_prod" + }, + "update_at": "2025-03-04T10:56:15.000251", + "volume_type": "GPSSD", + "wwn": "6888603000009266fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2024-12-12T10:54:47.492562", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "19c072f0-bac8-4b5e-9d73-efa2e718b5ed", + "server_id": "87a5f22d-d596-4305-99d3-a5277aab207a" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2024-12-12T10:54:42.077121", + "description": "", + "id": "299d9f91-bc38-469e-b5a8-1bdc9b79e275", + "name": "ecs-website", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta" + }, + "update_at": "2024-12-12T10:55:11.988957", + "volume_type": "GPSSD", + "wwn": "6888603000009b0cfa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2024-12-12T10:04:03.119669", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "4aa85647-95eb-48ad-a8f7-20410907fb1c", + "server_id": "f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2024-12-12T10:03:57.171779", + "description": "", + "id": "c7b4fb41-3ea2-4fcb-81b7-e4711bae0718", + "name": "ecs-admin-testing", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta-testing" + }, + "update_at": "2024-12-12T10:04:18.817516", + "volume_type": "GPSSD", + "wwn": "6888603000006329fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2024-12-10T16:11:50.960380", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "36e68769-726b-4fbf-a9f3-a937006178ed", + "server_id": "daa26951-e6b7-4e0e-86e0-32f9e669e838" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2024-12-10T16:11:45.736680", + "description": "", + "id": "22436c21-f3ea-46a7-9421-2d5683bcb954", + "name": "ecs-peer-web-testing", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta-testing" + }, + "update_at": "2024-12-10T16:12:07.181279", + "volume_type": "GPSSD", + "wwn": "6888603000007cc3fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2024-12-10T15:14:18.640680", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "e74ae11e-174b-4345-b778-5753ddf02da4", + "server_id": "fd525b9c-11dd-4e9d-abb7-6ce4b513d602" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2024-12-10T15:14:12.990401", + "description": "", + "id": "d7457911-383b-4b04-a802-e5541a256cda", + "name": "ecs-jump-testing", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta-testing" + }, + "update_at": "2024-12-10T15:14:42.790376", + "volume_type": "GPSSD", + "wwn": "6888603000002db3fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2024-10-17T13:33:03.320359", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "ee2a4cb2-b320-40a8-a8ab-68c5fe80ab0a", + "server_id": "444a37fc-6f04-4fb8-b55c-c3fdc3dba642" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2024-10-17T13:32:46.951046", + "description": "", + "id": "ea32af0a-3824-4d28-b449-7457d0c2a0f5", + "name": "ecs-frontend-web", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta" + }, + "update_at": "2024-10-17T13:33:25.079093", + "volume_type": "GPSSD", + "wwn": "68886030000088e7fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2024-10-07T15:02:34.064678", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "8161ddd7-4c02-4abd-9976-b6861cf75660", + "server_id": "658e9751-4923-465f-8091-2c6257645a5b" + } + ], + "availability_zone": "eu-de-02", + "bootable": true, + "create_at": "2024-10-07T15:01:59.215927", + "description": "", + "id": "53754122-00fe-4318-a7be-b803d679c261", + "name": "ecs-peer-admin-volume-0000", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta" + }, + "update_at": "2025-09-28T17:01:34.414073", + "volume_type": "GPSSD", + "wwn": "6888603000271328fa167fd087948003" + }, + { + "attachments": [ + { + "attached_at": "2024-10-04T15:19:12.660169", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "e9c20709-3601-4c81-9339-7695e92e0106", + "server_id": "940014fb-b09d-4c43-b3b9-db2820342ba9" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2024-10-04T15:18:42.116202", + "description": "", + "id": "02ebba9e-b9ac-4a4f-8d2c-5fc71773f81a", + "name": "ecs-peer-web-volume-0000", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta" + }, + "update_at": "2024-10-04T15:19:51.493158", + "volume_type": "ESSD", + "wwn": "6888603000000023fa16191d45031919" + }, + { + "attachments": [ + { + "attached_at": "2024-10-04T14:43:01.953531", + "attached_mode": "rw", + "device_name": "/dev/vda", + "id": "bc5530d6-364e-4ae6-ba61-8fe231ead70a", + "server_id": "055f937b-0bb5-4905-b1b5-b053c161480a" + } + ], + "availability_zone": "eu-de-03", + "bootable": true, + "create_at": "2024-10-04T14:42:26.409715", + "description": "", + "id": "b0f6fe3f-a6b4-4c5f-ac78-9485808082dc", + "name": "ecs-peer-jump-volume-0000", + "service_type": "EVS", + "shareable": false, + "size": 50, + "status": "in-use", + "tags": { + "project": "peer_beta" + }, + "update_at": "2024-10-04T14:43:36.012937", + "volume_type": "GPSSD", + "wwn": "6888603000008a32fa16191d45031919" + } + ] + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_lb_loadbalancer_v3", + "name": "lb", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": "575a658a-e02a-41cd-bf70-98c503d9785d", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "availability_zones": [], + "created_at": "2025-03-04T14:29:32Z", + "deletion_protection": false, + "description": "Load Balancer for the production setup.\nCreate Dedicated load balancer when we are close to reaching 50.000 users.", + "id": "575a658a-e02a-41cd-bf70-98c503d9785d", + "ip_target_enable": false, + "l4_flavor": "", + "l7_flavor": "", + "name": "elb-beta_prod", + "network_ids": [], + "public_ip": [ + { + "address": "164.30.18.204", + "bandwidth_charge_mode": "traffic", + "bandwidth_name": "bandwidth-2c88", + "bandwidth_share_type": "PER", + "bandwidth_size": 1000, + "id": "c6078015-ceb0-4634-9281-de1570cc5f91", + "ip_type": "5_bgp" + } + ], + "router_id": "8165c92f-f183-4e22-a1c2-9df880276a11", + "subnet_id": "b42e2e98-45f2-4ec8-94bf-4dd2d7ecf574", + "tags": { + "project": "peer_prod" + }, + "updated_at": "2025-07-07T19:00:33Z", + "vip_address": "192.168.1.110", + "vip_port_id": "607ff469-0f95-4b13-a44e-d55ff078469f" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "df1e56c5-e776-48ad-8c8b-50a8fe9255fa", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "availability_zones": [], + "created_at": "2024-10-07T09:29:12Z", + "deletion_protection": false, + "description": "Load Balancer für die peer_beta", + "id": "df1e56c5-e776-48ad-8c8b-50a8fe9255fa", + "ip_target_enable": false, + "l4_flavor": "", + "l7_flavor": "", + "name": "elb-peer_beta", + "network_ids": [], + "public_ip": [ + { + "address": "164.30.12.76", + "bandwidth_charge_mode": "traffic", + "bandwidth_name": "bandwidth-843b", + "bandwidth_share_type": "PER", + "bandwidth_size": 300, + "id": "ae3f26bf-91bb-41b2-aa70-a0cd8cc59a2c", + "ip_type": "5_bgp" + } + ], + "router_id": "700af767-115d-43b8-8886-a6a4a63d59ef", + "subnet_id": "81493971-bb32-4fa6-9e8a-dc50f7a63486", + "tags": { + "project": "peer_beta" + }, + "updated_at": "2025-05-22T19:29:09Z", + "vip_address": "10.5.1.28", + "vip_port_id": "d575a83c-0f38-41c1-8a1b-bcb2f2a30613" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "f310bbe4-fb86-42e3-acc5-7a8ad5a81fe7", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "availability_zones": [], + "created_at": "2024-12-10T16:13:37Z", + "deletion_protection": false, + "description": "the load balancer for the testing environment", + "id": "f310bbe4-fb86-42e3-acc5-7a8ad5a81fe7", + "ip_target_enable": false, + "l4_flavor": "", + "l7_flavor": "", + "name": "elb-peer_beta-testing", + "network_ids": [], + "public_ip": [ + { + "address": "80.158.19.177", + "bandwidth_charge_mode": "traffic", + "bandwidth_name": "bandwidth-ddb2", + "bandwidth_share_type": "PER", + "bandwidth_size": 300, + "id": "6e2aef18-7fa0-489f-b1af-ff478041e216", + "ip_type": "5_bgp" + } + ], + "router_id": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "subnet_id": "ff0ede7a-6dab-45b4-924d-5e855ab36ea6", + "tags": { + "project": "peer_beta-testing" + }, + "updated_at": "2025-05-22T19:29:10Z", + "vip_address": "172.16.10.91", + "vip_port_id": "2bf1cfbb-5e66-42c3-a49b-0b85353acddf" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_nat_dnat_rules_v2", + "name": "dnat", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2", + "schema_version": 0, + "attributes": { + "description": null, + "external_service_port": null, + "floating_ip_address": null, + "floating_ip_id": null, + "gateway_id": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2", + "id": "d9c30c6f-24cb-4340-0e75-c14fa5fee9f6", + "internal_service_port": null, + "port_id": null, + "private_ip": null, + "protocol": null, + "region": "eu-de", + "rule_id": null, + "rules": [], + "status": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "60139ab3-c529-4a32-b446-aaa12fa04d5a", + "schema_version": 0, + "attributes": { + "description": null, + "external_service_port": null, + "floating_ip_address": null, + "floating_ip_id": null, + "gateway_id": "60139ab3-c529-4a32-b446-aaa12fa04d5a", + "id": "7e337ec8-d4a7-f571-bc0e-67d5d7c5f076", + "internal_service_port": null, + "port_id": null, + "private_ip": null, + "protocol": null, + "region": "eu-de", + "rule_id": null, + "rules": [], + "status": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "fea334e5-551e-4e6f-873c-32016fb71755", + "schema_version": 0, + "attributes": { + "description": null, + "external_service_port": null, + "floating_ip_address": null, + "floating_ip_id": null, + "gateway_id": "fea334e5-551e-4e6f-873c-32016fb71755", + "id": "934acca4-f932-7b50-1d2f-d37133e75169", + "internal_service_port": null, + "port_id": null, + "private_ip": null, + "protocol": null, + "region": "eu-de", + "rule_id": null, + "rules": [], + "status": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_nat_snat_rules_v2", + "name": "snat", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2", + "schema_version": 0, + "attributes": { + "cidr": null, + "description": null, + "floating_ip_address": null, + "floating_ip_id": null, + "gateway_id": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2", + "id": "c313b168-3305-2f7d-51ce-857ced5f2ade", + "project_id": null, + "region": "eu-de", + "rule_id": null, + "rules": [ + { + "admin_state_up": true, + "cidr": "", + "created_at": "2025-03-04 10:19:01.600845", + "floating_ip_address": "164.30.10.134", + "floating_ip_id": "a71733dd-8500-488c-b5e2-7f9b4a75e53e", + "gateway_id": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2", + "id": "9132597a-1761-477c-83f1-89678ee97762", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "source_type": 0, + "status": "ACTIVE", + "subnet_id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f" + }, + { + "admin_state_up": true, + "cidr": "", + "created_at": "2025-03-04 10:19:55.572092", + "floating_ip_address": "164.30.10.134", + "floating_ip_id": "a71733dd-8500-488c-b5e2-7f9b4a75e53e", + "gateway_id": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2", + "id": "f4bbc723-f330-445c-b851-ccc88d1c8058", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "source_type": 0, + "status": "ACTIVE", + "subnet_id": "f347c51c-7f22-4a6c-800f-fd6d38686794" + } + ], + "source_type": null, + "status": null, + "subnet_id": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "60139ab3-c529-4a32-b446-aaa12fa04d5a", + "schema_version": 0, + "attributes": { + "cidr": null, + "description": null, + "floating_ip_address": null, + "floating_ip_id": null, + "gateway_id": "60139ab3-c529-4a32-b446-aaa12fa04d5a", + "id": "fbfc6318-3595-9dd8-7d65-65163f89f0e9", + "project_id": null, + "region": "eu-de", + "rule_id": null, + "rules": [ + { + "admin_state_up": true, + "cidr": "", + "created_at": "2024-12-10 17:02:23.825522", + "floating_ip_address": "80.158.37.0", + "floating_ip_id": "8b4899b1-abe3-48f5-9c15-2e6ecc7f8b6f", + "gateway_id": "60139ab3-c529-4a32-b446-aaa12fa04d5a", + "id": "5a0dc961-0741-4a68-89ea-ec64453d6d08", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "source_type": 0, + "status": "ACTIVE", + "subnet_id": "048d9e09-4c22-41a4-97f1-793efa67f865" + }, + { + "admin_state_up": true, + "cidr": "", + "created_at": "2024-12-10 17:01:46.043060", + "floating_ip_address": "80.158.37.0", + "floating_ip_id": "8b4899b1-abe3-48f5-9c15-2e6ecc7f8b6f", + "gateway_id": "60139ab3-c529-4a32-b446-aaa12fa04d5a", + "id": "68d9d9fe-03b8-44f3-aa1f-d16f350c24eb", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "source_type": 0, + "status": "ACTIVE", + "subnet_id": "090def60-f4da-434f-a374-78dc9817fb6e" + } + ], + "source_type": null, + "status": null, + "subnet_id": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "fea334e5-551e-4e6f-873c-32016fb71755", + "schema_version": 0, + "attributes": { + "cidr": null, + "description": null, + "floating_ip_address": null, + "floating_ip_id": null, + "gateway_id": "fea334e5-551e-4e6f-873c-32016fb71755", + "id": "7d971ae0-6dc0-dfea-2a2a-f28975d11c8f", + "project_id": null, + "region": "eu-de", + "rule_id": null, + "rules": [ + { + "admin_state_up": true, + "cidr": "", + "created_at": "2024-10-03 13:41:42.960206", + "floating_ip_address": "80.158.111.42", + "floating_ip_id": "48b84a18-a145-46bf-a2bd-4d415602e3ac", + "gateway_id": "fea334e5-551e-4e6f-873c-32016fb71755", + "id": "20ac783e-9263-4c93-a1eb-f785e4165a30", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "source_type": 0, + "status": "ACTIVE", + "subnet_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7" + }, + { + "admin_state_up": true, + "cidr": "", + "created_at": "2024-10-03 13:41:25.209570", + "floating_ip_address": "80.158.111.42", + "floating_ip_id": "48b84a18-a145-46bf-a2bd-4d415602e3ac", + "gateway_id": "fea334e5-551e-4e6f-873c-32016fb71755", + "id": "2ab92e52-6113-462b-8177-904d4c136874", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "source_type": 0, + "status": "ACTIVE", + "subnet_id": "b3523510-8a93-4ad9-b5d7-2178464f1f65" + } + ], + "source_type": null, + "status": null, + "subnet_id": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_networking_port_ids_v2", + "name": "all", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "device_id": null, + "device_owner": null, + "fixed_ip": null, + "id": "1928650870", + "ids": [ + "0790568d-b9e2-4a9a-9025-21ddf991cc48", + "19a25d81-bab5-4241-91be-c2b92ce93b65", + "1ca90188-3e4f-4eca-ae88-160aa5481068", + "1fdd28c2-1f57-4f59-93a6-50752741c4ec", + "1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1", + "293f9e4e-dc97-4191-b36d-1eb0c7486035", + "2a6d86d4-eaf9-4a57-b18f-af36760c4eb4", + "2bf1cfbb-5e66-42c3-a49b-0b85353acddf", + "36625f7e-c4fc-405c-aeed-f2ac4655c778", + "395b146b-cf9a-4114-9a49-25a236064ae5", + "437a47c2-bee0-4630-b355-f2d67f85097d", + "43b6145f-1525-4746-980b-272c6a1bf7ea", + "50ea4666-0764-44c3-b11a-ebedeadb205a", + "58e7dce6-1241-46ad-b436-87577c1c3ee4", + "607ff469-0f95-4b13-a44e-d55ff078469f", + "609e00c1-f0be-468e-9af7-e851a4100442", + "67d27c76-d02c-4d3a-882f-8076198fb308", + "6ab37853-36b3-43be-ba26-d1bf37c8e8fb", + "77fe3322-10ec-4881-8b60-8d4e6dfe15be", + "806bdef6-7abc-4bc3-a0e4-85118ea5a56d", + "8147cb5a-21d4-4afd-a58d-0d5e08d9a210", + "8325dcec-210a-4fe2-979d-1caa0fcf666f", + "83710b25-11aa-419c-bb65-4d9d031d734c", + "841601e4-e345-4279-abc4-aa0bbd59e5f8", + "8f60b980-8cdd-449e-a155-90ec0905d291", + "9921d2dc-753b-43c9-a270-33cf2f964e4d", + "9dee05af-52d0-49d8-af88-d095da974103", + "9df13dbb-7c34-45d1-9312-729e70492485", + "a5d0eca7-82a8-4e00-a973-83093951c5df", + "a9fdaace-051c-4b20-9276-691ab9fc0397", + "ab2b26f5-55c9-4527-a42a-b515b2fcf3d2", + "aef685c3-d684-4016-b603-bec6a877e665", + "b4263be0-37e1-4815-8326-3ab128364ce9", + "b461ed0c-0f73-4518-b3e7-098d27b0295c", + "b7501686-e7c7-4561-bb4a-570f6f972731", + "b9b9ce27-1cc7-4c93-88bc-c995dbddd647", + "be379a1c-2f68-482e-81cd-04a004e55fe7", + "c0b01611-2371-4cdc-824a-85462695d864", + "caf7dc15-faf7-420e-af0e-0c692a216fb0", + "cba4fcbd-8f68-4601-ae0a-785bc244994e", + "cf0bc239-9473-4f42-9c1a-1edc965b62bc", + "d575a83c-0f38-41c1-8a1b-bcb2f2a30613", + "d92bdd57-1e45-4b49-8458-9108fd0638c7", + "dab86af4-478e-48b7-a8c8-31d49c5e2961", + "dc630d3a-d638-4666-bf2e-8fbbc305d5f1", + "dcb3cd66-864f-4d96-8621-74bef6044d03", + "df7cd690-559b-4226-9c6b-0542fd98eee1", + "e2553fcb-1fcc-419a-bf20-fdf38910af54", + "e7edb316-169b-4b51-ac6a-4c67f7bd4611", + "eb00aa68-66ed-47c5-afc7-fb3b65d5020c", + "ec92dd6f-87c3-4d35-b79e-dc7be212657b", + "efbc7990-112f-4040-95bd-9ee8e8554398", + "f336ff44-e02b-47bf-8aae-18434afe6071", + "fe0f5779-8487-49c2-9492-8fd96aba1b60" + ], + "mac_address": null, + "name": null, + "network_id": null, + "project_id": null, + "region": "eu-de", + "security_group_ids": null, + "sort_direction": null, + "sort_key": null, + "status": null, + "tenant_id": null + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_networking_port_v2", + "name": "by_id", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": "0790568d-b9e2-4a9a-9025-21ddf991cc48", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.50.50.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "0790568d-b9e2-4a9a-9025-21ddf991cc48", + "mac_address": "fa:16:3e:cd:77:ee", + "name": "", + "network_id": "43768ec1-f43b-4c28-97b3-98cd1408ebcc", + "port_id": "0790568d-b9e2-4a9a-9025-21ddf991cc48", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "19a25d81-bab5-4241-91be-c2b92ce93b65", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.1.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "8165c92f-f183-4e22-a1c2-9df880276a11", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "19a25d81-bab5-4241-91be-c2b92ce93b65", + "mac_address": "fa:16:3e:79:76:0a", + "name": "b42e2e98-45f2-4ec8-94bf-4dd2d7ecf574", + "network_id": "f347c51c-7f22-4a6c-800f-fd6d38686794", + "port_id": "19a25d81-bab5-4241-91be-c2b92ce93b65", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "1ca90188-3e4f-4eca-ae88-160aa5481068", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.0.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "1ca90188-3e4f-4eca-ae88-160aa5481068", + "mac_address": "fa:16:3e:8a:d0:e7", + "name": "da92bfcd-fbdb-40c4-976e-339446831330", + "network_id": "090def60-f4da-434f-a374-78dc9817fb6e", + "port_id": "1ca90188-3e4f-4eca-ae88-160aa5481068", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "1fdd28c2-1f57-4f59-93a6-50752741c4ec", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.50.50.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "cb43c4e5-e25c-4727-b7ce-6b9995edffac", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "1fdd28c2-1f57-4f59-93a6-50752741c4ec", + "mac_address": "fa:16:3e:f4:43:ea", + "name": "15df7a53-3edf-4316-a812-a47c7b0d63e7", + "network_id": "43768ec1-f43b-4c28-97b3-98cd1408ebcc", + "port_id": "1fdd28c2-1f57-4f59-93a6-50752741c4ec", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.0.241" + ], + "all_security_group_ids": [ + "abe07485-dd5e-4cb2-a88a-3b10c699a4ee" + ], + "device_id": "055f937b-0bb5-4905-b1b5-b053c161480a", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1", + "mac_address": "fa:16:3e:f4:ef:e0", + "name": "", + "network_id": "b3523510-8a93-4ad9-b5d7-2178464f1f65", + "port_id": "1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "293f9e4e-dc97-4191-b36d-1eb0c7486035", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.0.20" + ], + "all_security_group_ids": [ + "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + ], + "device_id": "bc66c2b9-b493-4a78-a4d6-8729ba0230c9", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "293f9e4e-dc97-4191-b36d-1eb0c7486035", + "mac_address": "fa:16:3e:10:00:14", + "name": "", + "network_id": "090def60-f4da-434f-a374-78dc9817fb6e", + "port_id": "293f9e4e-dc97-4191-b36d-1eb0c7486035", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "2a6d86d4-eaf9-4a57-b18f-af36760c4eb4", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.1.42" + ], + "all_security_group_ids": [ + "1e98dd1b-d695-4239-917e-b3d59e47880d" + ], + "device_id": "87a5f22d-d596-4305-99d3-a5277aab207a", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "2a6d86d4-eaf9-4a57-b18f-af36760c4eb4", + "mac_address": "fa:16:3e:f4:f0:19", + "name": "", + "network_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7", + "port_id": "2a6d86d4-eaf9-4a57-b18f-af36760c4eb4", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "2bf1cfbb-5e66-42c3-a49b-0b85353acddf", + "schema_version": 0, + "attributes": { + "admin_state_up": false, + "all_fixed_ips": [ + "172.16.10.91" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "f310bbe4-fb86-42e3-acc5-7a8ad5a81fe7", + "device_owner": "neutron:LOADBALANCERV2", + "fixed_ip": null, + "id": "2bf1cfbb-5e66-42c3-a49b-0b85353acddf", + "mac_address": "fa:16:5f:f9:a0:00", + "name": "loadbalancer-f310bbe4-fb86-42e3-acc5-7a8ad5a81fe7", + "network_id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "port_id": "2bf1cfbb-5e66-42c3-a49b-0b85353acddf", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "36625f7e-c4fc-405c-aeed-f2ac4655c778", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.1.244" + ], + "all_security_group_ids": [ + "4f14fba4-ea42-4ebd-9ff1-16611d07a8e4" + ], + "device_id": "658e9751-4923-465f-8091-2c6257645a5b", + "device_owner": "compute:eu-de-02", + "fixed_ip": null, + "id": "36625f7e-c4fc-405c-aeed-f2ac4655c778", + "mac_address": "fa:16:3e:f4:f0:e3", + "name": "", + "network_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7", + "port_id": "36625f7e-c4fc-405c-aeed-f2ac4655c778", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "395b146b-cf9a-4114-9a49-25a236064ae5", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.20.156" + ], + "all_security_group_ids": [ + "cc76cd06-5c73-4833-bb8b-5587f29abab0" + ], + "device_id": "0e098681-9464-446a-b0d4-eada436ef036", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "395b146b-cf9a-4114-9a49-25a236064ae5", + "mac_address": "fa:16:3e:10:14:9c", + "name": "dbs_0e098681-9464-446a-b0d4-eada436ef036", + "network_id": "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a", + "port_id": "395b146b-cf9a-4114-9a49-25a236064ae5", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "437a47c2-bee0-4630-b355-f2d67f85097d", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.2.71" + ], + "all_security_group_ids": [ + "05879954-6c44-48eb-9497-c87512321460" + ], + "device_id": "aff5f984-524b-4078-92bc-218d781dd70f", + "device_owner": "compute:eu-de-02", + "fixed_ip": null, + "id": "437a47c2-bee0-4630-b355-f2d67f85097d", + "mac_address": "fa:16:3e:f4:f1:36", + "name": "dbs_aff5f984-524b-4078-92bc-218d781dd70f", + "network_id": "ae7211cf-a76b-45b9-a291-351768e4d954", + "port_id": "437a47c2-bee0-4630-b355-f2d67f85097d", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "43b6145f-1525-4746-980b-272c6a1bf7ea", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.1.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "43b6145f-1525-4746-980b-272c6a1bf7ea", + "mac_address": "fa:16:3e:4d:f8:31", + "name": "", + "network_id": "f347c51c-7f22-4a6c-800f-fd6d38686794", + "port_id": "43b6145f-1525-4746-980b-272c6a1bf7ea", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "50ea4666-0764-44c3-b11a-ebedeadb205a", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.2.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "8165c92f-f183-4e22-a1c2-9df880276a11", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "50ea4666-0764-44c3-b11a-ebedeadb205a", + "mac_address": "fa:16:3e:78:cf:e7", + "name": "9f4d41cb-1a40-4520-9e89-a3ada8acffa1", + "network_id": "d0c4899f-b567-4d33-bb17-4e28d926cbc5", + "port_id": "50ea4666-0764-44c3-b11a-ebedeadb205a", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "58e7dce6-1241-46ad-b436-87577c1c3ee4", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.10.240" + ], + "all_security_group_ids": [ + "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + ], + "device_id": "f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "58e7dce6-1241-46ad-b436-87577c1c3ee4", + "mac_address": "fa:16:3e:10:0a:f0", + "name": "", + "network_id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "port_id": "58e7dce6-1241-46ad-b436-87577c1c3ee4", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "607ff469-0f95-4b13-a44e-d55ff078469f", + "schema_version": 0, + "attributes": { + "admin_state_up": false, + "all_fixed_ips": [ + "192.168.1.110" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "575a658a-e02a-41cd-bf70-98c503d9785d", + "device_owner": "neutron:LOADBALANCERV2", + "fixed_ip": null, + "id": "607ff469-0f95-4b13-a44e-d55ff078469f", + "mac_address": "fa:16:5f:8c:0f:df", + "name": "loadbalancer-575a658a-e02a-41cd-bf70-98c503d9785d", + "network_id": "f347c51c-7f22-4a6c-800f-fd6d38686794", + "port_id": "607ff469-0f95-4b13-a44e-d55ff078469f", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "609e00c1-f0be-468e-9af7-e851a4100442", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.0.109" + ], + "all_security_group_ids": [], + "device_id": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2", + "device_owner": "network:nat_gateway", + "fixed_ip": null, + "id": "609e00c1-f0be-468e-9af7-e851a4100442", + "mac_address": "fa:16:3e:b9:11:7e", + "name": "NAT_GATEWAYTAGS", + "network_id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f", + "port_id": "609e00c1-f0be-468e-9af7-e851a4100442", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "67d27c76-d02c-4d3a-882f-8076198fb308", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.50.1.150" + ], + "all_security_group_ids": [ + "05eb0a9e-2d1f-4fc4-820c-fe13399a9d75" + ], + "device_id": "8f0dbccb-d06f-49ef-9e88-f4d1af5c7342", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "67d27c76-d02c-4d3a-882f-8076198fb308", + "mac_address": "fa:16:3e:de:ad:42", + "name": "", + "network_id": "536f3d94-35f2-4aca-9116-16a76d0b91c4", + "port_id": "67d27c76-d02c-4d3a-882f-8076198fb308", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "6ab37853-36b3-43be-ba26-d1bf37c8e8fb", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.0.17" + ], + "all_security_group_ids": [ + "170caca7-fbb5-4ade-9a25-ce976d9ed82b" + ], + "device_id": "fd525b9c-11dd-4e9d-abb7-6ce4b513d602", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "6ab37853-36b3-43be-ba26-d1bf37c8e8fb", + "mac_address": "fa:16:3e:10:00:11", + "name": "", + "network_id": "090def60-f4da-434f-a374-78dc9817fb6e", + "port_id": "6ab37853-36b3-43be-ba26-d1bf37c8e8fb", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "77fe3322-10ec-4881-8b60-8d4e6dfe15be", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.20.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "77fe3322-10ec-4881-8b60-8d4e6dfe15be", + "mac_address": "fa:16:3e:7a:93:a8", + "name": "7d2dd8db-38e5-4526-ace9-d6bddd573e88", + "network_id": "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a", + "port_id": "77fe3322-10ec-4881-8b60-8d4e6dfe15be", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "806bdef6-7abc-4bc3-a0e4-85118ea5a56d", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.20.48" + ], + "all_security_group_ids": [ + "cc76cd06-5c73-4833-bb8b-5587f29abab0" + ], + "device_id": "75eaedd4-3721-4001-9bbe-677050a4b70e", + "device_owner": "compute:eu-de-01", + "fixed_ip": null, + "id": "806bdef6-7abc-4bc3-a0e4-85118ea5a56d", + "mac_address": "fa:16:3e:10:14:30", + "name": "dbs_75eaedd4-3721-4001-9bbe-677050a4b70e", + "network_id": "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a", + "port_id": "806bdef6-7abc-4bc3-a0e4-85118ea5a56d", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "8147cb5a-21d4-4afd-a58d-0d5e08d9a210", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.0.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "8147cb5a-21d4-4afd-a58d-0d5e08d9a210", + "mac_address": "fa:16:3e:67:4a:8f", + "name": "", + "network_id": "b3523510-8a93-4ad9-b5d7-2178464f1f65", + "port_id": "8147cb5a-21d4-4afd-a58d-0d5e08d9a210", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "8325dcec-210a-4fe2-979d-1caa0fcf666f", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.0.203" + ], + "all_security_group_ids": [], + "device_id": "60139ab3-c529-4a32-b446-aaa12fa04d5a", + "device_owner": "network:nat_gateway", + "fixed_ip": null, + "id": "8325dcec-210a-4fe2-979d-1caa0fcf666f", + "mac_address": "fa:16:3e:10:00:cb", + "name": "NAT_GATEWAYTAGS", + "network_id": "090def60-f4da-434f-a374-78dc9817fb6e", + "port_id": "8325dcec-210a-4fe2-979d-1caa0fcf666f", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "83710b25-11aa-419c-bb65-4d9d031d734c", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.0.65" + ], + "all_security_group_ids": [ + "2b7ee980-efc2-4199-98ad-0a375c3ba291" + ], + "device_id": "a74ffa01-38c3-42dd-8b60-bf2ee6d662cc", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "83710b25-11aa-419c-bb65-4d9d031d734c", + "mac_address": "fa:16:3e:b9:11:52", + "name": "", + "network_id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f", + "port_id": "83710b25-11aa-419c-bb65-4d9d031d734c", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "841601e4-e345-4279-abc4-aa0bbd59e5f8", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.0.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "841601e4-e345-4279-abc4-aa0bbd59e5f8", + "mac_address": "fa:16:3e:2c:16:71", + "name": "", + "network_id": "090def60-f4da-434f-a374-78dc9817fb6e", + "port_id": "841601e4-e345-4279-abc4-aa0bbd59e5f8", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "8f60b980-8cdd-449e-a155-90ec0905d291", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.2.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "8f60b980-8cdd-449e-a155-90ec0905d291", + "mac_address": "fa:16:3e:6b:73:e7", + "name": "", + "network_id": "ae7211cf-a76b-45b9-a291-351768e4d954", + "port_id": "8f60b980-8cdd-449e-a155-90ec0905d291", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "9921d2dc-753b-43c9-a270-33cf2f964e4d", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.0.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "8165c92f-f183-4e22-a1c2-9df880276a11", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "9921d2dc-753b-43c9-a270-33cf2f964e4d", + "mac_address": "fa:16:3e:e7:0a:ec", + "name": "43681d41-0d60-48b9-9817-6a712612fe3f", + "network_id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f", + "port_id": "9921d2dc-753b-43c9-a270-33cf2f964e4d", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "9dee05af-52d0-49d8-af88-d095da974103", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.20.36" + ], + "all_security_group_ids": [ + "cc76cd06-5c73-4833-bb8b-5587f29abab0" + ], + "device_id": "", + "device_owner": "neutron:VIP_PORT", + "fixed_ip": null, + "id": "9dee05af-52d0-49d8-af88-d095da974103", + "mac_address": "fa:16:3e:10:14:24", + "name": "", + "network_id": "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a", + "port_id": "9dee05af-52d0-49d8-af88-d095da974103", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "9df13dbb-7c34-45d1-9312-729e70492485", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.1.183" + ], + "all_security_group_ids": [ + "a04d74f1-879a-4c55-8d07-033c8db98065" + ], + "device_id": "349d2490-cfd9-4e2c-b4f0-a2c18efb0382", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "9df13dbb-7c34-45d1-9312-729e70492485", + "mac_address": "fa:16:3e:b9:12:c8", + "name": "", + "network_id": "f347c51c-7f22-4a6c-800f-fd6d38686794", + "port_id": "9df13dbb-7c34-45d1-9312-729e70492485", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "a5d0eca7-82a8-4e00-a973-83093951c5df", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.50.1.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "a5d0eca7-82a8-4e00-a973-83093951c5df", + "mac_address": "fa:16:3e:dc:45:b1", + "name": "", + "network_id": "536f3d94-35f2-4aca-9116-16a76d0b91c4", + "port_id": "a5d0eca7-82a8-4e00-a973-83093951c5df", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "a9fdaace-051c-4b20-9276-691ab9fc0397", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.1.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "700af767-115d-43b8-8886-a6a4a63d59ef", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "a9fdaace-051c-4b20-9276-691ab9fc0397", + "mac_address": "fa:16:3e:04:9a:bf", + "name": "81493971-bb32-4fa6-9e8a-dc50f7a63486", + "network_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7", + "port_id": "a9fdaace-051c-4b20-9276-691ab9fc0397", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "ab2b26f5-55c9-4527-a42a-b515b2fcf3d2", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.2.164" + ], + "all_security_group_ids": [ + "87989c4f-e258-4a8c-a01e-ead42a4f6632" + ], + "device_id": "981d3c45-29f8-4aab-a081-147f73890612", + "device_owner": "compute:eu-de-01", + "fixed_ip": null, + "id": "ab2b26f5-55c9-4527-a42a-b515b2fcf3d2", + "mac_address": "fa:16:3e:b9:13:b5", + "name": "dbs_981d3c45-29f8-4aab-a081-147f73890612", + "network_id": "d0c4899f-b567-4d33-bb17-4e28d926cbc5", + "port_id": "ab2b26f5-55c9-4527-a42a-b515b2fcf3d2", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "aef685c3-d684-4016-b603-bec6a877e665", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.2.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "700af767-115d-43b8-8886-a6a4a63d59ef", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "aef685c3-d684-4016-b603-bec6a877e665", + "mac_address": "fa:16:3e:24:c0:ea", + "name": "9a1a7c23-c024-420d-bece-3ab50296b2ff", + "network_id": "ae7211cf-a76b-45b9-a291-351768e4d954", + "port_id": "aef685c3-d684-4016-b603-bec6a877e665", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "b4263be0-37e1-4815-8326-3ab128364ce9", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.0.128" + ], + "all_security_group_ids": [], + "device_id": "fea334e5-551e-4e6f-873c-32016fb71755", + "device_owner": "network:nat_gateway", + "fixed_ip": null, + "id": "b4263be0-37e1-4815-8326-3ab128364ce9", + "mac_address": "fa:16:3e:f4:ef:6f", + "name": "NAT_GATEWAYTAGS", + "network_id": "b3523510-8a93-4ad9-b5d7-2178464f1f65", + "port_id": "b4263be0-37e1-4815-8326-3ab128364ce9", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "b461ed0c-0f73-4518-b3e7-098d27b0295c", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.10.241" + ], + "all_security_group_ids": [ + "0eb84b89-678f-4cfd-98a4-c8c543aaeda6" + ], + "device_id": "f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "b461ed0c-0f73-4518-b3e7-098d27b0295c", + "mac_address": "fa:16:3e:10:0a:f1", + "name": "", + "network_id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "port_id": "b461ed0c-0f73-4518-b3e7-098d27b0295c", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "b7501686-e7c7-4561-bb4a-570f6f972731", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.50.1.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "cb43c4e5-e25c-4727-b7ce-6b9995edffac", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "b7501686-e7c7-4561-bb4a-570f6f972731", + "mac_address": "fa:16:3e:f7:26:83", + "name": "9dc18541-7290-43e4-98d5-9c99519d10c9", + "network_id": "536f3d94-35f2-4aca-9116-16a76d0b91c4", + "port_id": "b7501686-e7c7-4561-bb4a-570f6f972731", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "b9b9ce27-1cc7-4c93-88bc-c995dbddd647", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.50.1.100" + ], + "all_security_group_ids": [ + "2bb26324-3989-4458-a614-8425cc6cd21a", + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "d2f50d51-52e3-4163-b8bb-6edd0b569ad4", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "b9b9ce27-1cc7-4c93-88bc-c995dbddd647", + "mac_address": "fa:16:3e:de:ad:10", + "name": "", + "network_id": "536f3d94-35f2-4aca-9116-16a76d0b91c4", + "port_id": "b9b9ce27-1cc7-4c93-88bc-c995dbddd647", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "be379a1c-2f68-482e-81cd-04a004e55fe7", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.2.92" + ], + "all_security_group_ids": [ + "87989c4f-e258-4a8c-a01e-ead42a4f6632" + ], + "device_id": "18444996-dd87-472a-abb2-61c23707c3a2", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "be379a1c-2f68-482e-81cd-04a004e55fe7", + "mac_address": "fa:16:3e:b9:13:6d", + "name": "dbs_18444996-dd87-472a-abb2-61c23707c3a2", + "network_id": "d0c4899f-b567-4d33-bb17-4e28d926cbc5", + "port_id": "be379a1c-2f68-482e-81cd-04a004e55fe7", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "c0b01611-2371-4cdc-824a-85462695d864", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.20.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "c0b01611-2371-4cdc-824a-85462695d864", + "mac_address": "fa:16:3e:03:73:13", + "name": "", + "network_id": "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a", + "port_id": "c0b01611-2371-4cdc-824a-85462695d864", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "caf7dc15-faf7-420e-af0e-0c692a216fb0", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.10.194" + ], + "all_security_group_ids": [ + "82960534-6f06-4995-8ca7-65b18fffa84b" + ], + "device_id": "daa26951-e6b7-4e0e-86e0-32f9e669e838", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "caf7dc15-faf7-420e-af0e-0c692a216fb0", + "mac_address": "fa:16:3e:10:0a:c2", + "name": "", + "network_id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "port_id": "caf7dc15-faf7-420e-af0e-0c692a216fb0", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "cba4fcbd-8f68-4601-ae0a-785bc244994e", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.0.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "700af767-115d-43b8-8886-a6a4a63d59ef", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "cba4fcbd-8f68-4601-ae0a-785bc244994e", + "mac_address": "fa:16:3e:07:95:2c", + "name": "c5300a6a-417d-4833-9d43-08c134376b0d", + "network_id": "b3523510-8a93-4ad9-b5d7-2178464f1f65", + "port_id": "cba4fcbd-8f68-4601-ae0a-785bc244994e", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "cf0bc239-9473-4f42-9c1a-1edc965b62bc", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.2.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "cf0bc239-9473-4f42-9c1a-1edc965b62bc", + "mac_address": "fa:16:3e:fd:b9:6c", + "name": "", + "network_id": "d0c4899f-b567-4d33-bb17-4e28d926cbc5", + "port_id": "cf0bc239-9473-4f42-9c1a-1edc965b62bc", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "d575a83c-0f38-41c1-8a1b-bcb2f2a30613", + "schema_version": 0, + "attributes": { + "admin_state_up": false, + "all_fixed_ips": [ + "10.5.1.28" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "df1e56c5-e776-48ad-8c8b-50a8fe9255fa", + "device_owner": "neutron:LOADBALANCERV2", + "fixed_ip": null, + "id": "d575a83c-0f38-41c1-8a1b-bcb2f2a30613", + "mac_address": "fa:16:5f:22:05:6a", + "name": "loadbalancer-df1e56c5-e776-48ad-8c8b-50a8fe9255fa", + "network_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7", + "port_id": "d575a83c-0f38-41c1-8a1b-bcb2f2a30613", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "d92bdd57-1e45-4b49-8458-9108fd0638c7", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.2.186" + ], + "all_security_group_ids": [ + "05879954-6c44-48eb-9497-c87512321460" + ], + "device_id": "", + "device_owner": "neutron:VIP_PORT", + "fixed_ip": null, + "id": "d92bdd57-1e45-4b49-8458-9108fd0638c7", + "mac_address": "fa:16:3e:f4:f1:a9", + "name": "", + "network_id": "ae7211cf-a76b-45b9-a291-351768e4d954", + "port_id": "d92bdd57-1e45-4b49-8458-9108fd0638c7", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "dab86af4-478e-48b7-a8c8-31d49c5e2961", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.2.201" + ], + "all_security_group_ids": [ + "05879954-6c44-48eb-9497-c87512321460" + ], + "device_id": "35ba18a1-1209-4786-a2d7-b0233f13cd84", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "dab86af4-478e-48b7-a8c8-31d49c5e2961", + "mac_address": "fa:16:3e:f4:f1:b8", + "name": "dbs_35ba18a1-1209-4786-a2d7-b0233f13cd84", + "network_id": "ae7211cf-a76b-45b9-a291-351768e4d954", + "port_id": "dab86af4-478e-48b7-a8c8-31d49c5e2961", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "dc630d3a-d638-4666-bf2e-8fbbc305d5f1", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.10.1" + ], + "all_security_group_ids": [ + "c1113fee-510c-4180-b114-3af2ebd8f099" + ], + "device_id": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "device_owner": "network:router_interface_distributed", + "fixed_ip": null, + "id": "dc630d3a-d638-4666-bf2e-8fbbc305d5f1", + "mac_address": "fa:16:3e:af:36:88", + "name": "ff0ede7a-6dab-45b4-924d-5e855ab36ea6", + "network_id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "port_id": "dc630d3a-d638-4666-bf2e-8fbbc305d5f1", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "dcb3cd66-864f-4d96-8621-74bef6044d03", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.1.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "dcb3cd66-864f-4d96-8621-74bef6044d03", + "mac_address": "fa:16:3e:95:11:31", + "name": "", + "network_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7", + "port_id": "dcb3cd66-864f-4d96-8621-74bef6044d03", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "df7cd690-559b-4226-9c6b-0542fd98eee1", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.0.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "df7cd690-559b-4226-9c6b-0542fd98eee1", + "mac_address": "fa:16:3e:ac:58:b3", + "name": "", + "network_id": "5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f", + "port_id": "df7cd690-559b-4226-9c6b-0542fd98eee1", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "e2553fcb-1fcc-419a-bf20-fdf38910af54", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.1.150" + ], + "all_security_group_ids": [ + "1e98dd1b-d695-4239-917e-b3d59e47880d" + ], + "device_id": "444a37fc-6f04-4fb8-b55c-c3fdc3dba642", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "e2553fcb-1fcc-419a-bf20-fdf38910af54", + "mac_address": "fa:16:3e:f4:f0:85", + "name": "", + "network_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7", + "port_id": "e2553fcb-1fcc-419a-bf20-fdf38910af54", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "e7edb316-169b-4b51-ac6a-4c67f7bd4611", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.10.254" + ], + "all_security_group_ids": [], + "device_id": "", + "device_owner": "network:dhcp", + "fixed_ip": null, + "id": "e7edb316-169b-4b51-ac6a-4c67f7bd4611", + "mac_address": "fa:16:3e:68:e3:7e", + "name": "", + "network_id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "port_id": "e7edb316-169b-4b51-ac6a-4c67f7bd4611", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "eb00aa68-66ed-47c5-afc7-fb3b65d5020c", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.1.94" + ], + "all_security_group_ids": [ + "0a6ffdf8-9b73-4078-bb7f-80d77d8366c4" + ], + "device_id": "4c9df61a-0306-4036-b3e2-68ceff0fd121", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "eb00aa68-66ed-47c5-afc7-fb3b65d5020c", + "mac_address": "fa:16:3e:b9:12:6f", + "name": "", + "network_id": "f347c51c-7f22-4a6c-800f-fd6d38686794", + "port_id": "eb00aa68-66ed-47c5-afc7-fb3b65d5020c", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "ec92dd6f-87c3-4d35-b79e-dc7be212657b", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.1.193" + ], + "all_security_group_ids": [ + "c3701b8f-079c-4864-83a6-600c7204a415" + ], + "device_id": "29ef279d-55d6-403f-98ab-63859b09cbaf", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "ec92dd6f-87c3-4d35-b79e-dc7be212657b", + "mac_address": "fa:16:3e:b9:12:d2", + "name": "", + "network_id": "f347c51c-7f22-4a6c-800f-fd6d38686794", + "port_id": "ec92dd6f-87c3-4d35-b79e-dc7be212657b", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "efbc7990-112f-4040-95bd-9ee8e8554398", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "10.5.1.60" + ], + "all_security_group_ids": [ + "1e98dd1b-d695-4239-917e-b3d59e47880d" + ], + "device_id": "940014fb-b09d-4c43-b3b9-db2820342ba9", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "efbc7990-112f-4040-95bd-9ee8e8554398", + "mac_address": "fa:16:3e:f4:f0:2b", + "name": "", + "network_id": "3089a379-4a7f-4147-aa5e-b2134d6327f7", + "port_id": "efbc7990-112f-4040-95bd-9ee8e8554398", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "f336ff44-e02b-47bf-8aae-18434afe6071", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "192.168.2.97" + ], + "all_security_group_ids": [ + "87989c4f-e258-4a8c-a01e-ead42a4f6632" + ], + "device_id": "", + "device_owner": "neutron:VIP_PORT", + "fixed_ip": null, + "id": "f336ff44-e02b-47bf-8aae-18434afe6071", + "mac_address": "fa:16:3e:b9:13:72", + "name": "", + "network_id": "d0c4899f-b567-4d33-bb17-4e28d926cbc5", + "port_id": "f336ff44-e02b-47bf-8aae-18434afe6071", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "fe0f5779-8487-49c2-9492-8fd96aba1b60", + "schema_version": 0, + "attributes": { + "admin_state_up": true, + "all_fixed_ips": [ + "172.16.10.184" + ], + "all_security_group_ids": [ + "4088c618-6940-422f-87a2-7be4c26f3910" + ], + "device_id": "27dd9e47-59d9-493c-a867-9291c4480b63", + "device_owner": "compute:eu-de-03", + "fixed_ip": null, + "id": "fe0f5779-8487-49c2-9492-8fd96aba1b60", + "mac_address": "fa:16:3e:10:0a:b8", + "name": "", + "network_id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "port_id": "fe0f5779-8487-49c2-9492-8fd96aba1b60", + "project_id": "f9d69b5c90384a13a760b41c61a50dce", + "region": "eu-de", + "security_group_ids": null, + "status": null, + "tenant_id": "f9d69b5c90384a13a760b41c61a50dce" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_rms_advanced_query_v1", + "name": "elbs", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 0, + "attributes": { + "expression": "SELECT id, name\nFROM resources\nWHERE provider='elb' AND type='loadbalancers'\n", + "id": "5e85e6d6-932a-8db7-88c1-4300100af5f4", + "query_info": [ + { + "select_fields": [ + "id", + "name" + ] + } + ], + "results": [ + { + "id": "575a658a-e02a-41cd-bf70-98c503d9785d", + "name": "elb-beta_prod" + }, + { + "id": "f310bbe4-fb86-42e3-acc5-7a8ad5a81fe7", + "name": "elb-peer_beta-testing" + }, + { + "id": "df1e56c5-e776-48ad-8c8b-50a8fe9255fa", + "name": "elb-peer_beta" + } + ] + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_rms_advanced_query_v1", + "name": "nats", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 0, + "attributes": { + "expression": "SELECT id, name\nFROM resources\nWHERE provider='nat' AND type='natGateways'\n", + "id": "8d4cc7b3-ca16-584a-3d42-498ec825c428", + "query_info": [ + { + "select_fields": [ + "id", + "name" + ] + } + ], + "results": [ + { + "id": "2f77e0de-bc99-421e-9e6b-ed7c07518ed2", + "name": "nat-prod-peer_beta" + }, + { + "id": "60139ab3-c529-4a32-b446-aaa12fa04d5a", + "name": "nat-peer_beta-testing" + }, + { + "id": "fea334e5-551e-4e6f-873c-32016fb71755", + "name": "nat-peer_beta" + } + ] + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_rms_advanced_query_v1", + "name": "vpcs", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 0, + "attributes": { + "expression": "SELECT id, name\nFROM resources\nWHERE provider='vpc' AND type='vpcs'\n", + "id": "60d5ad0f-d75e-0b57-ccf2-8cedab2b4bda", + "query_info": [ + { + "select_fields": [ + "id", + "name" + ] + } + ], + "results": [ + { + "id": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "name": "vpc-peer-beta-testing" + }, + { + "id": "700af767-115d-43b8-8886-a6a4a63d59ef", + "name": "vpc-peer_beta" + }, + { + "id": "8165c92f-f183-4e22-a1c2-9df880276a11", + "name": "vpc-beta-prod" + }, + { + "id": "cb43c4e5-e25c-4727-b7ce-6b9995edffac", + "name": "vpc-peer-admin" + } + ] + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_vpc_subnet_ids_v1", + "name": "by_vpc", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "schema_version": 0, + "attributes": { + "id": "10f8c808-f6bf-47a8-b3c5-5910bc691900", + "ids": [ + "048d9e09-4c22-41a4-97f1-793efa67f865", + "090def60-f4da-434f-a374-78dc9817fb6e", + "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a" + ], + "region": "eu-de", + "vpc_id": "10f8c808-f6bf-47a8-b3c5-5910bc691900" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "data", + "type": "opentelekomcloud_vpc_subnet_v1", + "name": "subnet", + "provider": "provider[\"registry.terraform.io/opentelekomcloud/opentelekomcloud\"]", + "instances": [ + { + "index_key": "048d9e09-4c22-41a4-97f1-793efa67f865", + "schema_version": 0, + "attributes": { + "availability_zone": "", + "cidr": "172.16.10.0/24", + "cidr_ipv6": "", + "dhcp_enable": true, + "dns_list": [ + "100.125.129.199", + "100.125.4.25" + ], + "gateway_ip": "172.16.10.1", + "gateway_ipv6": "", + "id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "ipv6_enable": false, + "name": "subnet-service-testing", + "network_id": "048d9e09-4c22-41a4-97f1-793efa67f865", + "primary_dns": "100.125.4.25", + "region": "eu-de", + "secondary_dns": "100.125.129.199", + "status": "ACTIVE", + "subnet_id": "ff0ede7a-6dab-45b4-924d-5e855ab36ea6", + "vpc_id": "10f8c808-f6bf-47a8-b3c5-5910bc691900" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "090def60-f4da-434f-a374-78dc9817fb6e", + "schema_version": 0, + "attributes": { + "availability_zone": "", + "cidr": "172.16.0.0/24", + "cidr_ipv6": "", + "dhcp_enable": true, + "dns_list": [ + "100.125.129.199", + "100.125.4.25" + ], + "gateway_ip": "172.16.0.1", + "gateway_ipv6": "", + "id": "090def60-f4da-434f-a374-78dc9817fb6e", + "ipv6_enable": false, + "name": "subnet-mgt-testing", + "network_id": "090def60-f4da-434f-a374-78dc9817fb6e", + "primary_dns": "100.125.4.25", + "region": "eu-de", + "secondary_dns": "100.125.129.199", + "status": "ACTIVE", + "subnet_id": "da92bfcd-fbdb-40c4-976e-339446831330", + "vpc_id": "10f8c808-f6bf-47a8-b3c5-5910bc691900" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + }, + { + "index_key": "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a", + "schema_version": 0, + "attributes": { + "availability_zone": "", + "cidr": "172.16.20.0/24", + "cidr_ipv6": "", + "dhcp_enable": true, + "dns_list": [ + "100.125.129.199", + "100.125.4.25" + ], + "gateway_ip": "172.16.20.1", + "gateway_ipv6": "", + "id": "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a", + "ipv6_enable": false, + "name": "subnet-data-testing", + "network_id": "4e1a7d6f-1c96-428e-bc8c-380024bd5f6a", + "primary_dns": "100.125.4.25", + "region": "eu-de", + "secondary_dns": "100.125.129.199", + "status": "ACTIVE", + "subnet_id": "7d2dd8db-38e5-4526-ace9-d6bddd573e88", + "vpc_id": "10f8c808-f6bf-47a8-b3c5-5910bc691900" + }, + "sensitive_attributes": [], + "identity_schema_version": 0 + } + ] + }, + { + "mode": "managed", + "type": "local_sensitive_file", + "name": "peer_network", + "provider": "provider[\"registry.terraform.io/hashicorp/local\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "content": "\"Peer_Network\":\n \"backups\": {}\n \"load_balancers\":\n - \"azs\": []\n \"id\": \"575a658a-e02a-41cd-bf70-98c503d9785d\"\n \"name\": null\n \"network_ids\": []\n \"router_id\": \"8165c92f-f183-4e22-a1c2-9df880276a11\"\n \"vip_address\": \"192.168.1.110\"\n - \"azs\": []\n \"id\": \"df1e56c5-e776-48ad-8c8b-50a8fe9255fa\"\n \"name\": null\n \"network_ids\": []\n \"router_id\": \"700af767-115d-43b8-8886-a6a4a63d59ef\"\n \"vip_address\": \"10.5.1.28\"\n - \"azs\": []\n \"id\": \"f310bbe4-fb86-42e3-acc5-7a8ad5a81fe7\"\n \"name\": null\n \"network_ids\": []\n \"router_id\": \"10f8c808-f6bf-47a8-b3c5-5910bc691900\"\n \"vip_address\": \"172.16.10.91\"\n \"nats\":\n - \"dnat\": []\n \"id\": \"2f77e0de-bc99-421e-9e6b-ed7c07518ed2\"\n \"name\": \"nat-prod-peer_beta\"\n \"snat\":\n - \"admin_state_up\": true\n \"cidr\": \"\"\n \"created_at\": \"2025-03-04 10:19:01.600845\"\n \"floating_ip_address\": \"164.30.10.134\"\n \"floating_ip_id\": \"a71733dd-8500-488c-b5e2-7f9b4a75e53e\"\n \"gateway_id\": \"2f77e0de-bc99-421e-9e6b-ed7c07518ed2\"\n \"id\": \"9132597a-1761-477c-83f1-89678ee97762\"\n \"project_id\": \"f9d69b5c90384a13a760b41c61a50dce\"\n \"source_type\": 0\n \"status\": \"ACTIVE\"\n \"subnet_id\": \"5617d4bf-1911-4f4a-a6e8-9d1a81d5ff7f\"\n - \"admin_state_up\": true\n \"cidr\": \"\"\n \"created_at\": \"2025-03-04 10:19:55.572092\"\n \"floating_ip_address\": \"164.30.10.134\"\n \"floating_ip_id\": \"a71733dd-8500-488c-b5e2-7f9b4a75e53e\"\n \"gateway_id\": \"2f77e0de-bc99-421e-9e6b-ed7c07518ed2\"\n \"id\": \"f4bbc723-f330-445c-b851-ccc88d1c8058\"\n \"project_id\": \"f9d69b5c90384a13a760b41c61a50dce\"\n \"source_type\": 0\n \"status\": \"ACTIVE\"\n \"subnet_id\": \"f347c51c-7f22-4a6c-800f-fd6d38686794\"\n - \"dnat\": []\n \"id\": \"60139ab3-c529-4a32-b446-aaa12fa04d5a\"\n \"name\": \"nat-peer_beta-testing\"\n \"snat\":\n - \"admin_state_up\": true\n \"cidr\": \"\"\n \"created_at\": \"2024-12-10 17:02:23.825522\"\n \"floating_ip_address\": \"80.158.37.0\"\n \"floating_ip_id\": \"8b4899b1-abe3-48f5-9c15-2e6ecc7f8b6f\"\n \"gateway_id\": \"60139ab3-c529-4a32-b446-aaa12fa04d5a\"\n \"id\": \"5a0dc961-0741-4a68-89ea-ec64453d6d08\"\n \"project_id\": \"f9d69b5c90384a13a760b41c61a50dce\"\n \"source_type\": 0\n \"status\": \"ACTIVE\"\n \"subnet_id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n - \"admin_state_up\": true\n \"cidr\": \"\"\n \"created_at\": \"2024-12-10 17:01:46.043060\"\n \"floating_ip_address\": \"80.158.37.0\"\n \"floating_ip_id\": \"8b4899b1-abe3-48f5-9c15-2e6ecc7f8b6f\"\n \"gateway_id\": \"60139ab3-c529-4a32-b446-aaa12fa04d5a\"\n \"id\": \"68d9d9fe-03b8-44f3-aa1f-d16f350c24eb\"\n \"project_id\": \"f9d69b5c90384a13a760b41c61a50dce\"\n \"source_type\": 0\n \"status\": \"ACTIVE\"\n \"subnet_id\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n - \"dnat\": []\n \"id\": \"fea334e5-551e-4e6f-873c-32016fb71755\"\n \"name\": \"nat-peer_beta\"\n \"snat\":\n - \"admin_state_up\": true\n \"cidr\": \"\"\n \"created_at\": \"2024-10-03 13:41:42.960206\"\n \"floating_ip_address\": \"80.158.111.42\"\n \"floating_ip_id\": \"48b84a18-a145-46bf-a2bd-4d415602e3ac\"\n \"gateway_id\": \"fea334e5-551e-4e6f-873c-32016fb71755\"\n \"id\": \"20ac783e-9263-4c93-a1eb-f785e4165a30\"\n \"project_id\": \"f9d69b5c90384a13a760b41c61a50dce\"\n \"source_type\": 0\n \"status\": \"ACTIVE\"\n \"subnet_id\": \"3089a379-4a7f-4147-aa5e-b2134d6327f7\"\n - \"admin_state_up\": true\n \"cidr\": \"\"\n \"created_at\": \"2024-10-03 13:41:25.209570\"\n \"floating_ip_address\": \"80.158.111.42\"\n \"floating_ip_id\": \"48b84a18-a145-46bf-a2bd-4d415602e3ac\"\n \"gateway_id\": \"fea334e5-551e-4e6f-873c-32016fb71755\"\n \"id\": \"2ab92e52-6113-462b-8177-904d4c136874\"\n \"project_id\": \"f9d69b5c90384a13a760b41c61a50dce\"\n \"source_type\": 0\n \"status\": \"ACTIVE\"\n \"subnet_id\": \"b3523510-8a93-4ad9-b5d7-2178464f1f65\"\n \"vpcs\":\n - \"id\": \"10f8c808-f6bf-47a8-b3c5-5910bc691900\"\n \"label\": \"vpc-peer-beta-testing\"\n \"subnets\":\n - \"cidr\": \"172.16.10.0/24\"\n \"containers\": []\n \"id\": \"048d9e09-4c22-41a4-97f1-793efa67f865\"\n \"label\": \"subnet-service-testing\"\n \"vms\":\n - \"az\": \"eu-de-03\"\n \"id\": \"055f937b-0bb5-4905-b1b5-b053c161480a\"\n \"name\": \"ecs-peer-jump\"\n \"nics\":\n - \"ips\":\n - \"10.5.0.241\"\n \"port_id\": \"1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1\"\n \"sg_ids\":\n - \"abe07485-dd5e-4cb2-a88a-3b10c699a4ee\"\n \"sgs\":\n - \"abe07485-dd5e-4cb2-a88a-3b10c699a4ee\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"b0f6fe3f-a6b4-4c5f-ac78-9485808082dc\"\n \"name\": \"ecs-peer-jump-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"27dd9e47-59d9-493c-a867-9291c4480b63\"\n \"name\": \"ecs-testing-websocket\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.184\"\n \"port_id\": \"fe0f5779-8487-49c2-9492-8fd96aba1b60\"\n \"sg_ids\":\n - \"4088c618-6940-422f-87a2-7be4c26f3910\"\n \"sgs\":\n - \"4088c618-6940-422f-87a2-7be4c26f3910\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d308d225-7d2f-4da5-a259-a2f53d483226\"\n \"name\": \"ecs-testing-websocket\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"29ef279d-55d6-403f-98ab-63859b09cbaf\"\n \"name\": \"ecs-prod-admin\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.193\"\n \"port_id\": \"ec92dd6f-87c3-4d35-b79e-dc7be212657b\"\n \"sg_ids\":\n - \"c3701b8f-079c-4864-83a6-600c7204a415\"\n \"sgs\":\n - \"c3701b8f-079c-4864-83a6-600c7204a415\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d01cdb06-e448-4941-a57f-b0616e331614\"\n \"name\": \"ecs-prod-admin\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"349d2490-cfd9-4e2c-b4f0-a2c18efb0382\"\n \"name\": \"ecs-prod-backend\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.183\"\n \"port_id\": \"9df13dbb-7c34-45d1-9312-729e70492485\"\n \"sg_ids\":\n - \"a04d74f1-879a-4c55-8d07-033c8db98065\"\n \"sgs\":\n - \"a04d74f1-879a-4c55-8d07-033c8db98065\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"531cfed3-b43e-4eed-b291-404533f7b163\"\n \"name\": \"ecs-prod-backend\"\n \"sizeGB\": 1000\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"444a37fc-6f04-4fb8-b55c-c3fdc3dba642\"\n \"name\": \"ecs-frontend-web\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.150\"\n \"port_id\": \"e2553fcb-1fcc-419a-bf20-fdf38910af54\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"ea32af0a-3824-4d28-b449-7457d0c2a0f5\"\n \"name\": \"ecs-frontend-web\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"4c9df61a-0306-4036-b3e2-68ceff0fd121\"\n \"name\": \"ecs-prod_web-frontend\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.94\"\n \"port_id\": \"eb00aa68-66ed-47c5-afc7-fb3b65d5020c\"\n \"sg_ids\":\n - \"0a6ffdf8-9b73-4078-bb7f-80d77d8366c4\"\n \"sgs\":\n - \"0a6ffdf8-9b73-4078-bb7f-80d77d8366c4\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"91bf7962-5e90-4c33-976a-68e57267231b\"\n \"name\": \"ecs-prod_web-frontend\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-02\"\n \"id\": \"658e9751-4923-465f-8091-2c6257645a5b\"\n \"name\": \"ecs-peer-admin\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.244\"\n \"port_id\": \"36625f7e-c4fc-405c-aeed-f2ac4655c778\"\n \"sg_ids\":\n - \"4f14fba4-ea42-4ebd-9ff1-16611d07a8e4\"\n \"sgs\":\n - \"4f14fba4-ea42-4ebd-9ff1-16611d07a8e4\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"53754122-00fe-4318-a7be-b803d679c261\"\n \"name\": \"ecs-peer-admin-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"87a5f22d-d596-4305-99d3-a5277aab207a\"\n \"name\": \"ecs-website\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.42\"\n \"port_id\": \"2a6d86d4-eaf9-4a57-b18f-af36760c4eb4\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"299d9f91-bc38-469e-b5a8-1bdc9b79e275\"\n \"name\": \"ecs-website\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"8f0dbccb-d06f-49ef-9e88-f4d1af5c7342\"\n \"name\": \"peer-admin-loki-monitor\"\n \"nics\":\n - \"ips\":\n - \"10.50.1.150\"\n \"port_id\": \"67d27c76-d02c-4d3a-882f-8076198fb308\"\n \"sg_ids\":\n - \"05eb0a9e-2d1f-4fc4-820c-fe13399a9d75\"\n \"sgs\":\n - \"05eb0a9e-2d1f-4fc4-820c-fe13399a9d75\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"1ce30403-6ca2-4ddf-8517-52f2b9c2c11d\"\n \"name\": \"peer-admin-loki-monitor-volume-0001\"\n \"sizeGB\": 100\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"id\": \"b3d9bb8f-e0ad-4cba-b947-764ddee4575a\"\n \"name\": \"peer-admin-loki-monitor\"\n \"sizeGB\": 20\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"940014fb-b09d-4c43-b3b9-db2820342ba9\"\n \"name\": \"ecs-peer-web\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.60\"\n \"port_id\": \"efbc7990-112f-4040-95bd-9ee8e8554398\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"02ebba9e-b9ac-4a4f-8d2c-5fc71773f81a\"\n \"name\": \"ecs-peer-web-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"ESSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"a74ffa01-38c3-42dd-8b60-bf2ee6d662cc\"\n \"name\": \"ecs-prod-jump\"\n \"nics\":\n - \"ips\":\n - \"192.168.0.65\"\n \"port_id\": \"83710b25-11aa-419c-bb65-4d9d031d734c\"\n \"sg_ids\":\n - \"2b7ee980-efc2-4199-98ad-0a375c3ba291\"\n \"sgs\":\n - \"2b7ee980-efc2-4199-98ad-0a375c3ba291\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"5ec8a593-8781-4fcc-bf31-b0ee31fec9b9\"\n \"name\": \"ecs-prod-jump\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"bc66c2b9-b493-4a78-a4d6-8729ba0230c9\"\n \"name\": \"ecs-peer-monitor-test\"\n \"nics\":\n - \"ips\":\n - \"172.16.0.20\"\n \"port_id\": \"293f9e4e-dc97-4191-b36d-1eb0c7486035\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"sgs\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"550ee657-e860-4c0a-a31e-88f00d4a55f8\"\n \"name\": \"ecs-peer-monitor-test\"\n \"sizeGB\": 20\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"d2f50d51-52e3-4163-b8bb-6edd0b569ad4\"\n \"name\": \"peer-admin-jumphost\"\n \"nics\":\n - \"ips\":\n - \"10.50.1.100\"\n \"port_id\": \"b9b9ce27-1cc7-4c93-88bc-c995dbddd647\"\n \"sg_ids\":\n - \"2bb26324-3989-4458-a614-8425cc6cd21a\"\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n \"sgs\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n - \"2bb26324-3989-4458-a614-8425cc6cd21a\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"ae7deb34-541e-447a-bbf3-8d6c02c9e3a1\"\n \"name\": \"peer-admin-jumphost\"\n \"sizeGB\": 10\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"daa26951-e6b7-4e0e-86e0-32f9e669e838\"\n \"name\": \"ecs-peer-web-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.194\"\n \"port_id\": \"caf7dc15-faf7-420e-af0e-0c692a216fb0\"\n \"sg_ids\":\n - \"82960534-6f06-4995-8ca7-65b18fffa84b\"\n \"sgs\":\n - \"82960534-6f06-4995-8ca7-65b18fffa84b\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"22436c21-f3ea-46a7-9421-2d5683bcb954\"\n \"name\": \"ecs-peer-web-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c\"\n \"name\": \"ecs-admin-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.240\"\n \"port_id\": \"58e7dce6-1241-46ad-b436-87577c1c3ee4\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n - \"ips\":\n - \"172.16.10.241\"\n \"port_id\": \"b461ed0c-0f73-4518-b3e7-098d27b0295c\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"sgs\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"c7b4fb41-3ea2-4fcb-81b7-e4711bae0718\"\n \"name\": \"ecs-admin-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"fd525b9c-11dd-4e9d-abb7-6ce4b513d602\"\n \"name\": \"ecs-jump-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.0.17\"\n \"port_id\": \"6ab37853-36b3-43be-ba26-d1bf37c8e8fb\"\n \"sg_ids\":\n - \"170caca7-fbb5-4ade-9a25-ce976d9ed82b\"\n \"sgs\":\n - \"170caca7-fbb5-4ade-9a25-ce976d9ed82b\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d7457911-383b-4b04-a802-e5541a256cda\"\n \"name\": \"ecs-jump-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"cidr\": \"172.16.0.0/24\"\n \"containers\": []\n \"id\": \"090def60-f4da-434f-a374-78dc9817fb6e\"\n \"label\": \"subnet-mgt-testing\"\n \"vms\":\n - \"az\": \"eu-de-03\"\n \"id\": \"055f937b-0bb5-4905-b1b5-b053c161480a\"\n \"name\": \"ecs-peer-jump\"\n \"nics\":\n - \"ips\":\n - \"10.5.0.241\"\n \"port_id\": \"1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1\"\n \"sg_ids\":\n - \"abe07485-dd5e-4cb2-a88a-3b10c699a4ee\"\n \"sgs\":\n - \"abe07485-dd5e-4cb2-a88a-3b10c699a4ee\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"b0f6fe3f-a6b4-4c5f-ac78-9485808082dc\"\n \"name\": \"ecs-peer-jump-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"27dd9e47-59d9-493c-a867-9291c4480b63\"\n \"name\": \"ecs-testing-websocket\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.184\"\n \"port_id\": \"fe0f5779-8487-49c2-9492-8fd96aba1b60\"\n \"sg_ids\":\n - \"4088c618-6940-422f-87a2-7be4c26f3910\"\n \"sgs\":\n - \"4088c618-6940-422f-87a2-7be4c26f3910\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d308d225-7d2f-4da5-a259-a2f53d483226\"\n \"name\": \"ecs-testing-websocket\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"29ef279d-55d6-403f-98ab-63859b09cbaf\"\n \"name\": \"ecs-prod-admin\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.193\"\n \"port_id\": \"ec92dd6f-87c3-4d35-b79e-dc7be212657b\"\n \"sg_ids\":\n - \"c3701b8f-079c-4864-83a6-600c7204a415\"\n \"sgs\":\n - \"c3701b8f-079c-4864-83a6-600c7204a415\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d01cdb06-e448-4941-a57f-b0616e331614\"\n \"name\": \"ecs-prod-admin\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"349d2490-cfd9-4e2c-b4f0-a2c18efb0382\"\n \"name\": \"ecs-prod-backend\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.183\"\n \"port_id\": \"9df13dbb-7c34-45d1-9312-729e70492485\"\n \"sg_ids\":\n - \"a04d74f1-879a-4c55-8d07-033c8db98065\"\n \"sgs\":\n - \"a04d74f1-879a-4c55-8d07-033c8db98065\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"531cfed3-b43e-4eed-b291-404533f7b163\"\n \"name\": \"ecs-prod-backend\"\n \"sizeGB\": 1000\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"444a37fc-6f04-4fb8-b55c-c3fdc3dba642\"\n \"name\": \"ecs-frontend-web\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.150\"\n \"port_id\": \"e2553fcb-1fcc-419a-bf20-fdf38910af54\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"ea32af0a-3824-4d28-b449-7457d0c2a0f5\"\n \"name\": \"ecs-frontend-web\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"4c9df61a-0306-4036-b3e2-68ceff0fd121\"\n \"name\": \"ecs-prod_web-frontend\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.94\"\n \"port_id\": \"eb00aa68-66ed-47c5-afc7-fb3b65d5020c\"\n \"sg_ids\":\n - \"0a6ffdf8-9b73-4078-bb7f-80d77d8366c4\"\n \"sgs\":\n - \"0a6ffdf8-9b73-4078-bb7f-80d77d8366c4\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"91bf7962-5e90-4c33-976a-68e57267231b\"\n \"name\": \"ecs-prod_web-frontend\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-02\"\n \"id\": \"658e9751-4923-465f-8091-2c6257645a5b\"\n \"name\": \"ecs-peer-admin\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.244\"\n \"port_id\": \"36625f7e-c4fc-405c-aeed-f2ac4655c778\"\n \"sg_ids\":\n - \"4f14fba4-ea42-4ebd-9ff1-16611d07a8e4\"\n \"sgs\":\n - \"4f14fba4-ea42-4ebd-9ff1-16611d07a8e4\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"53754122-00fe-4318-a7be-b803d679c261\"\n \"name\": \"ecs-peer-admin-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"87a5f22d-d596-4305-99d3-a5277aab207a\"\n \"name\": \"ecs-website\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.42\"\n \"port_id\": \"2a6d86d4-eaf9-4a57-b18f-af36760c4eb4\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"299d9f91-bc38-469e-b5a8-1bdc9b79e275\"\n \"name\": \"ecs-website\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"8f0dbccb-d06f-49ef-9e88-f4d1af5c7342\"\n \"name\": \"peer-admin-loki-monitor\"\n \"nics\":\n - \"ips\":\n - \"10.50.1.150\"\n \"port_id\": \"67d27c76-d02c-4d3a-882f-8076198fb308\"\n \"sg_ids\":\n - \"05eb0a9e-2d1f-4fc4-820c-fe13399a9d75\"\n \"sgs\":\n - \"05eb0a9e-2d1f-4fc4-820c-fe13399a9d75\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"1ce30403-6ca2-4ddf-8517-52f2b9c2c11d\"\n \"name\": \"peer-admin-loki-monitor-volume-0001\"\n \"sizeGB\": 100\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"id\": \"b3d9bb8f-e0ad-4cba-b947-764ddee4575a\"\n \"name\": \"peer-admin-loki-monitor\"\n \"sizeGB\": 20\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"940014fb-b09d-4c43-b3b9-db2820342ba9\"\n \"name\": \"ecs-peer-web\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.60\"\n \"port_id\": \"efbc7990-112f-4040-95bd-9ee8e8554398\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"02ebba9e-b9ac-4a4f-8d2c-5fc71773f81a\"\n \"name\": \"ecs-peer-web-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"ESSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"a74ffa01-38c3-42dd-8b60-bf2ee6d662cc\"\n \"name\": \"ecs-prod-jump\"\n \"nics\":\n - \"ips\":\n - \"192.168.0.65\"\n \"port_id\": \"83710b25-11aa-419c-bb65-4d9d031d734c\"\n \"sg_ids\":\n - \"2b7ee980-efc2-4199-98ad-0a375c3ba291\"\n \"sgs\":\n - \"2b7ee980-efc2-4199-98ad-0a375c3ba291\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"5ec8a593-8781-4fcc-bf31-b0ee31fec9b9\"\n \"name\": \"ecs-prod-jump\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"bc66c2b9-b493-4a78-a4d6-8729ba0230c9\"\n \"name\": \"ecs-peer-monitor-test\"\n \"nics\":\n - \"ips\":\n - \"172.16.0.20\"\n \"port_id\": \"293f9e4e-dc97-4191-b36d-1eb0c7486035\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"sgs\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"550ee657-e860-4c0a-a31e-88f00d4a55f8\"\n \"name\": \"ecs-peer-monitor-test\"\n \"sizeGB\": 20\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"d2f50d51-52e3-4163-b8bb-6edd0b569ad4\"\n \"name\": \"peer-admin-jumphost\"\n \"nics\":\n - \"ips\":\n - \"10.50.1.100\"\n \"port_id\": \"b9b9ce27-1cc7-4c93-88bc-c995dbddd647\"\n \"sg_ids\":\n - \"2bb26324-3989-4458-a614-8425cc6cd21a\"\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n \"sgs\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n - \"2bb26324-3989-4458-a614-8425cc6cd21a\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"ae7deb34-541e-447a-bbf3-8d6c02c9e3a1\"\n \"name\": \"peer-admin-jumphost\"\n \"sizeGB\": 10\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"daa26951-e6b7-4e0e-86e0-32f9e669e838\"\n \"name\": \"ecs-peer-web-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.194\"\n \"port_id\": \"caf7dc15-faf7-420e-af0e-0c692a216fb0\"\n \"sg_ids\":\n - \"82960534-6f06-4995-8ca7-65b18fffa84b\"\n \"sgs\":\n - \"82960534-6f06-4995-8ca7-65b18fffa84b\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"22436c21-f3ea-46a7-9421-2d5683bcb954\"\n \"name\": \"ecs-peer-web-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c\"\n \"name\": \"ecs-admin-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.240\"\n \"port_id\": \"58e7dce6-1241-46ad-b436-87577c1c3ee4\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n - \"ips\":\n - \"172.16.10.241\"\n \"port_id\": \"b461ed0c-0f73-4518-b3e7-098d27b0295c\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"sgs\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"c7b4fb41-3ea2-4fcb-81b7-e4711bae0718\"\n \"name\": \"ecs-admin-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"fd525b9c-11dd-4e9d-abb7-6ce4b513d602\"\n \"name\": \"ecs-jump-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.0.17\"\n \"port_id\": \"6ab37853-36b3-43be-ba26-d1bf37c8e8fb\"\n \"sg_ids\":\n - \"170caca7-fbb5-4ade-9a25-ce976d9ed82b\"\n \"sgs\":\n - \"170caca7-fbb5-4ade-9a25-ce976d9ed82b\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d7457911-383b-4b04-a802-e5541a256cda\"\n \"name\": \"ecs-jump-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"cidr\": \"172.16.20.0/24\"\n \"containers\": []\n \"id\": \"4e1a7d6f-1c96-428e-bc8c-380024bd5f6a\"\n \"label\": \"subnet-data-testing\"\n \"vms\":\n - \"az\": \"eu-de-03\"\n \"id\": \"055f937b-0bb5-4905-b1b5-b053c161480a\"\n \"name\": \"ecs-peer-jump\"\n \"nics\":\n - \"ips\":\n - \"10.5.0.241\"\n \"port_id\": \"1ff2dde0-7e8f-42d0-9797-1fbd2cbf5dd1\"\n \"sg_ids\":\n - \"abe07485-dd5e-4cb2-a88a-3b10c699a4ee\"\n \"sgs\":\n - \"abe07485-dd5e-4cb2-a88a-3b10c699a4ee\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"b0f6fe3f-a6b4-4c5f-ac78-9485808082dc\"\n \"name\": \"ecs-peer-jump-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"27dd9e47-59d9-493c-a867-9291c4480b63\"\n \"name\": \"ecs-testing-websocket\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.184\"\n \"port_id\": \"fe0f5779-8487-49c2-9492-8fd96aba1b60\"\n \"sg_ids\":\n - \"4088c618-6940-422f-87a2-7be4c26f3910\"\n \"sgs\":\n - \"4088c618-6940-422f-87a2-7be4c26f3910\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d308d225-7d2f-4da5-a259-a2f53d483226\"\n \"name\": \"ecs-testing-websocket\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"29ef279d-55d6-403f-98ab-63859b09cbaf\"\n \"name\": \"ecs-prod-admin\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.193\"\n \"port_id\": \"ec92dd6f-87c3-4d35-b79e-dc7be212657b\"\n \"sg_ids\":\n - \"c3701b8f-079c-4864-83a6-600c7204a415\"\n \"sgs\":\n - \"c3701b8f-079c-4864-83a6-600c7204a415\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d01cdb06-e448-4941-a57f-b0616e331614\"\n \"name\": \"ecs-prod-admin\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"349d2490-cfd9-4e2c-b4f0-a2c18efb0382\"\n \"name\": \"ecs-prod-backend\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.183\"\n \"port_id\": \"9df13dbb-7c34-45d1-9312-729e70492485\"\n \"sg_ids\":\n - \"a04d74f1-879a-4c55-8d07-033c8db98065\"\n \"sgs\":\n - \"a04d74f1-879a-4c55-8d07-033c8db98065\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"531cfed3-b43e-4eed-b291-404533f7b163\"\n \"name\": \"ecs-prod-backend\"\n \"sizeGB\": 1000\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"444a37fc-6f04-4fb8-b55c-c3fdc3dba642\"\n \"name\": \"ecs-frontend-web\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.150\"\n \"port_id\": \"e2553fcb-1fcc-419a-bf20-fdf38910af54\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"ea32af0a-3824-4d28-b449-7457d0c2a0f5\"\n \"name\": \"ecs-frontend-web\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"4c9df61a-0306-4036-b3e2-68ceff0fd121\"\n \"name\": \"ecs-prod_web-frontend\"\n \"nics\":\n - \"ips\":\n - \"192.168.1.94\"\n \"port_id\": \"eb00aa68-66ed-47c5-afc7-fb3b65d5020c\"\n \"sg_ids\":\n - \"0a6ffdf8-9b73-4078-bb7f-80d77d8366c4\"\n \"sgs\":\n - \"0a6ffdf8-9b73-4078-bb7f-80d77d8366c4\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"91bf7962-5e90-4c33-976a-68e57267231b\"\n \"name\": \"ecs-prod_web-frontend\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-02\"\n \"id\": \"658e9751-4923-465f-8091-2c6257645a5b\"\n \"name\": \"ecs-peer-admin\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.244\"\n \"port_id\": \"36625f7e-c4fc-405c-aeed-f2ac4655c778\"\n \"sg_ids\":\n - \"4f14fba4-ea42-4ebd-9ff1-16611d07a8e4\"\n \"sgs\":\n - \"4f14fba4-ea42-4ebd-9ff1-16611d07a8e4\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"53754122-00fe-4318-a7be-b803d679c261\"\n \"name\": \"ecs-peer-admin-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"87a5f22d-d596-4305-99d3-a5277aab207a\"\n \"name\": \"ecs-website\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.42\"\n \"port_id\": \"2a6d86d4-eaf9-4a57-b18f-af36760c4eb4\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"299d9f91-bc38-469e-b5a8-1bdc9b79e275\"\n \"name\": \"ecs-website\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"8f0dbccb-d06f-49ef-9e88-f4d1af5c7342\"\n \"name\": \"peer-admin-loki-monitor\"\n \"nics\":\n - \"ips\":\n - \"10.50.1.150\"\n \"port_id\": \"67d27c76-d02c-4d3a-882f-8076198fb308\"\n \"sg_ids\":\n - \"05eb0a9e-2d1f-4fc4-820c-fe13399a9d75\"\n \"sgs\":\n - \"05eb0a9e-2d1f-4fc4-820c-fe13399a9d75\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"1ce30403-6ca2-4ddf-8517-52f2b9c2c11d\"\n \"name\": \"peer-admin-loki-monitor-volume-0001\"\n \"sizeGB\": 100\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"id\": \"b3d9bb8f-e0ad-4cba-b947-764ddee4575a\"\n \"name\": \"peer-admin-loki-monitor\"\n \"sizeGB\": 20\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"940014fb-b09d-4c43-b3b9-db2820342ba9\"\n \"name\": \"ecs-peer-web\"\n \"nics\":\n - \"ips\":\n - \"10.5.1.60\"\n \"port_id\": \"efbc7990-112f-4040-95bd-9ee8e8554398\"\n \"sg_ids\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"sgs\":\n - \"1e98dd1b-d695-4239-917e-b3d59e47880d\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"02ebba9e-b9ac-4a4f-8d2c-5fc71773f81a\"\n \"name\": \"ecs-peer-web-volume-0000\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"ESSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"a74ffa01-38c3-42dd-8b60-bf2ee6d662cc\"\n \"name\": \"ecs-prod-jump\"\n \"nics\":\n - \"ips\":\n - \"192.168.0.65\"\n \"port_id\": \"83710b25-11aa-419c-bb65-4d9d031d734c\"\n \"sg_ids\":\n - \"2b7ee980-efc2-4199-98ad-0a375c3ba291\"\n \"sgs\":\n - \"2b7ee980-efc2-4199-98ad-0a375c3ba291\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"5ec8a593-8781-4fcc-bf31-b0ee31fec9b9\"\n \"name\": \"ecs-prod-jump\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"bc66c2b9-b493-4a78-a4d6-8729ba0230c9\"\n \"name\": \"ecs-peer-monitor-test\"\n \"nics\":\n - \"ips\":\n - \"172.16.0.20\"\n \"port_id\": \"293f9e4e-dc97-4191-b36d-1eb0c7486035\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"sgs\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"550ee657-e860-4c0a-a31e-88f00d4a55f8\"\n \"name\": \"ecs-peer-monitor-test\"\n \"sizeGB\": 20\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"d2f50d51-52e3-4163-b8bb-6edd0b569ad4\"\n \"name\": \"peer-admin-jumphost\"\n \"nics\":\n - \"ips\":\n - \"10.50.1.100\"\n \"port_id\": \"b9b9ce27-1cc7-4c93-88bc-c995dbddd647\"\n \"sg_ids\":\n - \"2bb26324-3989-4458-a614-8425cc6cd21a\"\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n \"sgs\":\n - \"c1113fee-510c-4180-b114-3af2ebd8f099\"\n - \"2bb26324-3989-4458-a614-8425cc6cd21a\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"ae7deb34-541e-447a-bbf3-8d6c02c9e3a1\"\n \"name\": \"peer-admin-jumphost\"\n \"sizeGB\": 10\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"daa26951-e6b7-4e0e-86e0-32f9e669e838\"\n \"name\": \"ecs-peer-web-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.194\"\n \"port_id\": \"caf7dc15-faf7-420e-af0e-0c692a216fb0\"\n \"sg_ids\":\n - \"82960534-6f06-4995-8ca7-65b18fffa84b\"\n \"sgs\":\n - \"82960534-6f06-4995-8ca7-65b18fffa84b\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"22436c21-f3ea-46a7-9421-2d5683bcb954\"\n \"name\": \"ecs-peer-web-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"f07f6cbc-cbe8-42e3-80c3-67d3b8cc0a8c\"\n \"name\": \"ecs-admin-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.10.240\"\n \"port_id\": \"58e7dce6-1241-46ad-b436-87577c1c3ee4\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n - \"ips\":\n - \"172.16.10.241\"\n \"port_id\": \"b461ed0c-0f73-4518-b3e7-098d27b0295c\"\n \"sg_ids\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"sgs\":\n - \"0eb84b89-678f-4cfd-98a4-c8c543aaeda6\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"c7b4fb41-3ea2-4fcb-81b7-e4711bae0718\"\n \"name\": \"ecs-admin-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"az\": \"eu-de-03\"\n \"id\": \"fd525b9c-11dd-4e9d-abb7-6ce4b513d602\"\n \"name\": \"ecs-jump-testing\"\n \"nics\":\n - \"ips\":\n - \"172.16.0.17\"\n \"port_id\": \"6ab37853-36b3-43be-ba26-d1bf37c8e8fb\"\n \"sg_ids\":\n - \"170caca7-fbb5-4ade-9a25-ce976d9ed82b\"\n \"sgs\":\n - \"170caca7-fbb5-4ade-9a25-ce976d9ed82b\"\n \"status\": \"ACTIVE\"\n \"volumes\":\n - \"id\": \"d7457911-383b-4b04-a802-e5541a256cda\"\n \"name\": \"ecs-jump-testing\"\n \"sizeGB\": 50\n \"status\": \"in-use\"\n \"type\": \"GPSSD\"\n - \"id\": \"700af767-115d-43b8-8886-a6a4a63d59ef\"\n \"label\": \"vpc-peer_beta\"\n \"subnets\": []\n - \"id\": \"8165c92f-f183-4e22-a1c2-9df880276a11\"\n \"label\": \"vpc-beta-prod\"\n \"subnets\": []\n - \"id\": \"cb43c4e5-e25c-4727-b7ce-6b9995edffac\"\n \"label\": \"vpc-peer-admin\"\n \"subnets\": []\n", + "content_base64": null, + "content_base64sha256": "sMTnlnd5cAQeGJE21DztGUXJvISaUJSGGcq5QgecDKY=", + "content_base64sha512": "xAs5pzDnyoRTQ0p16ZuLu18cJ9YVn9sffMHgVBdHQnCdkIrCwKW8kMcVLjRTxRzO2j2p+G0mIhI2JDmOVFO2Mg==", + "content_md5": "4614308f2679145a9f9cb73540263b74", + "content_sha1": "1a8d3e9e1761e50b2272fc22ce2d0ff63efbecfc", + "content_sha256": "b0c4e796777970041e189136d43ced1945c9bc849a50948619cab942079c0ca6", + "content_sha512": "c40b39a730e7ca8453434a75e99b8bbb5f1c27d6159fdb1f7cc1e054174742709d908ac2c0a5bc90c7152e3453c51cceda3da9f86d2622123624398e5453b632", + "directory_permission": "0700", + "file_permission": "0640", + "filename": "peer_network.yaml", + "id": "1a8d3e9e1761e50b2272fc22ce2d0ff63efbecfc", + "source": null + }, + "sensitive_attributes": [ + [ + { + "type": "get_attr", + "value": "content" + } + ], + [ + { + "type": "get_attr", + "value": "content_base64" + } + ] + ], + "identity_schema_version": 0, + "dependencies": [ + "data.opentelekomcloud_compute_instances_v2.all", + "data.opentelekomcloud_evs_volumes_v2.all", + "data.opentelekomcloud_lb_loadbalancer_v3.lb", + "data.opentelekomcloud_nat_dnat_rules_v2.dnat", + "data.opentelekomcloud_nat_snat_rules_v2.snat", + "data.opentelekomcloud_networking_port_ids_v2.all", + "data.opentelekomcloud_networking_port_v2.by_id", + "data.opentelekomcloud_rms_advanced_query_v1.elbs", + "data.opentelekomcloud_rms_advanced_query_v1.nats", + "data.opentelekomcloud_rms_advanced_query_v1.vpcs", + "data.opentelekomcloud_vpc_subnet_ids_v1.by_vpc", + "data.opentelekomcloud_vpc_subnet_v1.subnet" + ] + } + ] + } + ], + "check_results": null +} diff --git a/Terraform_Files/terraform.tfvars b/Terraform_Files/terraform.tfvars new file mode 100644 index 0000000..274877e --- /dev/null +++ b/Terraform_Files/terraform.tfvars @@ -0,0 +1,10 @@ +# Telekom Cloud credentials +domain_name = "OTC00000000001000122968" +tenant_name = "OTC00000000001000122968" +#user_name = "gogeek" +#password = "your_admin_username" +region = "eu-de" # or eu-nl for Netherlands region + +# Alternative auth_url for different regions: +# EU-DE: https://iam.eu-de.otc.t-systems.com/v3 +# EU-NL: https://iam.eu-nl.otc.t-systems.com/v3 \ No newline at end of file diff --git a/Terraform_Files/variables.tf b/Terraform_Files/variables.tf new file mode 100644 index 0000000..f694e77 --- /dev/null +++ b/Terraform_Files/variables.tf @@ -0,0 +1,123 @@ +# variables.tf + +variable "region" { + type = string +} + +variable "domain_name" { + type = string +} + +variable "tenant_name" { + type = string +} + +variable "access_key_id" { + type = string + sensitive = true +} + +variable "secret_access_key" { + type = string + sensitive = true +} + +variable "port_sample_size" { + type = number + default = 500 +} # keep Neutron sane while testing + + +# Guard RMS so plans don’t fail if recorder isn’t ready +variable "enable_rms" { + description = "Run RMS (Config) queries. OFF avoids provider panics." + type = bool + default = true +} +# Fallback if RMS is off: allow manual VPC IDs for subnet discovery + +# Only needed if you want subnets without RMS +# variable "vpc_ids" { +# description = "Fallback VPC IDs when RMS is disabled/empty" +# type = list(string) +# default = [] +# } + +variable "vpc_ids" { + type = list(string) + default = ["8165c92f-f183-4e22-a1c2-9df880276a11"] +} + +# variable "vpc_ids" { +# type = list(string) +# default = [ +# "cb43c4e5-e25c-4727-b7ce-6b9995edffac", # peer-admin +# "8165c92f-f183-4e22-a1c2-9df880276a11", # vpc-beta-prod +# "10f8c808-f6bf-47a8-b3c5-5910bc691900", # vpc-peer-beta-testing +# "700af767-115d-43b8-8886-a6a4a63d59ef" # peer beta +# ] +# } + + +# variable "tenant_name" { +# description = "OTC account name" +# type = string +# default = "OTC00000000001000122968" +# } + +# variable "auth_url" { +# description = "OTC auth url" +# type = string +# default = "https://iam.eu-de.otc.t-systems.com/v3" +# } + +# variable "region" { +# description = "OTC region" +# type = string +# default = "eu-de" +# } + +# variable "domain_name" { +# description = "OTC domain" +# type = string +# default = "TC00000000001000122968" +# } + +# variable "user_name" { +# description = "OTC access user" +# type = string +# sensitive = true +# } + +# variable "password" { +# description = "password" +# type = string +# sensitive = true +# } + +# variable "access_key_id" { +# description = "Key ID for Terraform" +# type = string +# sensitive = true +# } + +# variable "secret_access_key" { +# description = "the secret_access_key for terraform" +# type = string +# sensitive = true +# } + + +# # Environment-specific variables +# variable "environment" { +# description = "Environment name (dev, staging, prod)" +# type = string +# default = "dev" +# } + +# variable "project_name" { +# description = "Project name for resource naming" +# type = string +# default = "peer-network" +# } + diff --git a/gitleaks.toml b/gitleaks.toml new file mode 100644 index 0000000..5b20324 --- /dev/null +++ b/gitleaks.toml @@ -0,0 +1,44 @@ +title = "Peer Server Settings Gitleaks Config" + +[[rules]] +id = "infra-catch-common-secrets" +description = "Catch common infrastructure secrets (Terraform, Grafana, Loki, Prometheus, SSH, API keys)" +regex = '''(?i)(ghp_[0-9A-Za-z]{36}|github_pat_[0-9A-Za-z_]{20,}|glpat-[0-9A-Za-z\-_]{20}|AKIA[0-9A-Z]{16}|ASIA[0-9A-Z]{16}|[A-Za-z0-9]{20,}:[A-Za-z0-9+/]{40,}|eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9._-]+\.[A-Za-z0-9._-]+|-----BEGIN( RSA| DSA| EC| OPENSSH)? PRIVATE KEY-----|token\s*=\s*["'][A-Za-z0-9_\-]{10,}["']|password\s*=\s*["'][^"']{6,}["'])''' +tags = ["key", "secret", "terraform", "infrastructure"] + +[[rules]] +id = "infra-entropy-catch-all" +description = "Catch high-entropy strings for unknown secrets (Terraform, YAML, JSON, env)" +regex = '''[A-Za-z0-9\+=!@#$%^&*._-]{30,}''' +entropy = 4.0 +tags = ["key", "secret", "terraform", "infrastructure"] + +[[rules]] +id = "grafana-api-tokens" +description = "Detect Grafana, Loki, or Prometheus API tokens" +regex = '''(?i)(grafana[_-]api[_-]?key\s*[:=]\s*["']?[A-Za-z0-9_-]{20,}|bearer\s+[A-Za-z0-9\-_]{20,})''' +tags = ["grafana", "api", "key"] + +[[rules]] +id = "terraform-provider-secrets" +description = "Catch potential provider secrets in Terraform (.tf) files" +regex = '''(?i)(access[_-]?key\s*=\s*["'][A-Za-z0-9/+=]{16,}["']|secret[_-]?key\s*=\s*["'][A-Za-z0-9/+=]{32,}["']|client[_-]?secret\s*=\s*["'][A-Za-z0-9/+=]{20,}["'])''' +tags = ["terraform", "provider", "key"] + +[pathDenylist] +description = "Exclude irrelevant or generated files" +regexes = [ + '''^\.terraform/.*''', + '''^\.terraform\.lock\.hcl$''', + '''^terraform\.tfstate.*$''', + '''^node_modules/.*''', + '''^__pycache__/.*''', + '''^\.venv/.*''', + '''^dist/.*''', + '''^build/.*''', + '''^coverage/.*''', + '''^\.github/workflows/.*''', + '''^logs?/.*''', + '''^tmp/.*''', + '''^\.env.*$''' +] diff --git a/setup-hooks.sh b/setup-hooks.sh new file mode 100755 index 0000000..8eadbef --- /dev/null +++ b/setup-hooks.sh @@ -0,0 +1,52 @@ +#!/bin/sh +set -e + +echo "Setting up Git hooks..." + +# Point Git to .githooks directory +git config core.hooksPath .githooks + +# Ensure pre-commit is executable +chmod +x .githooks/pre-commit + +echo "Git hooks installed. Pre-commit scan will now run automatically." + +# Check if gitleaks is installed +if command -v gitleaks >/dev/null 2>&1; then + echo "⚡ Gitleaks already installed: $(gitleaks version)" + exit 0 +fi + +# Install Gitleaks if missing +VERSION="8.28.0" +OS=$(uname -s | tr '[:upper:]' '[:lower:]') +ARCH=$(uname -m) + +echo "Installing Gitleaks v$VERSION for $OS-$ARCH..." + +case "$OS-$ARCH" in + linux-x86_64) + URL="https://github.com/gitleaks/gitleaks/releases/download/v$VERSION/gitleaks_${VERSION}_linux_x64.tar.gz" + ;; + linux-aarch64) + URL="https://github.com/gitleaks/gitleaks/releases/download/v$VERSION/gitleaks_${VERSION}_linux_arm64.tar.gz" + ;; + darwin-arm64) + URL="https://github.com/gitleaks/gitleaks/releases/download/v$VERSION/gitleaks_${VERSION}_darwin_arm64.tar.gz" + ;; + darwin-x86_64) + URL="https://github.com/gitleaks/gitleaks/releases/download/v$VERSION/gitleaks_${VERSION}_darwin_x64.tar.gz" + ;; + *) + echo "Unsupported OS/Arch ($OS-$ARCH). Please install manually:" + echo "https://github.com/gitleaks/gitleaks/releases/tag/v$VERSION" + exit 1 + ;; +esac + +curl -sSL "$URL" -o gitleaks.tar.gz +tar -xvzf gitleaks.tar.gz gitleaks +sudo mv gitleaks /usr/local/bin/ +rm -f gitleaks.tar.gz + +echo "Installed Gitleaks v$(gitleaks version)" \ No newline at end of file