624 lines
18 KiB
YAML
624 lines
18 KiB
YAML
---
|
|
user_message:
|
|
|
|
controller_components:
|
|
- execution_environments
|
|
- projects
|
|
- credentials
|
|
- inventory_sources
|
|
- groups
|
|
- job_templates
|
|
- workflow_job_templates
|
|
|
|
controller_execution_environments:
|
|
- name: Cloud Services Execution Environment
|
|
image: quay.io/scottharwell/cloud-ee:latest
|
|
|
|
controller_projects:
|
|
- name: Ansible Cloud Content Lab - AWS
|
|
organization: Default
|
|
scm_type: git
|
|
wait: true
|
|
scm_url: https://github.com/ansible-content-lab/aws.infrastructure_config_demos.git
|
|
default_environment: Cloud Services Execution Environment
|
|
|
|
controller_credentials:
|
|
- name: AWS
|
|
credential_type: Amazon Web Services
|
|
organization: Default
|
|
update_secrets: false
|
|
inputs:
|
|
username: REPLACEME
|
|
password: REPLACEME
|
|
|
|
# - name: Azure
|
|
# credential_type: Microsoft Azure Resource Manager
|
|
# organization: Default
|
|
# update_secrets: false
|
|
# inputs:
|
|
# subscription: REPLACEME
|
|
|
|
controller_inventory_sources:
|
|
- name: AWS Inventory
|
|
organization: Default
|
|
source: ec2
|
|
inventory: Demo Inventory
|
|
credential: AWS
|
|
overwrite: true
|
|
source_vars:
|
|
hostnames:
|
|
- tag:Name
|
|
compose:
|
|
ansible_host: public_ip_address
|
|
ansible_user: 'ec2-user'
|
|
groups:
|
|
cloud_aws: true
|
|
os_linux: tags.blueprint.startswith('rhel')
|
|
keyed_groups:
|
|
- key: platform
|
|
prefix: os
|
|
- key: tags.blueprint
|
|
prefix: blueprint
|
|
- key: tags.owner
|
|
prefix: owner
|
|
|
|
# - name: Azure Inventory
|
|
# organization: Default
|
|
# source: azure_rm
|
|
# inventory: Demo Inventory
|
|
# credential: Azure
|
|
# execution_environment: Ansible Engine 2.9 execution environment
|
|
# overwrite: true
|
|
# source_vars:
|
|
# hostnames:
|
|
# - tags.Name
|
|
# - default
|
|
# keyed_groups:
|
|
# - key: os_profile.system
|
|
# prefix: os
|
|
# conditional_groups:
|
|
# cloud_azure: true
|
|
|
|
controller_groups:
|
|
- name: cloud_aws
|
|
inventory: Demo Inventory
|
|
variables:
|
|
ansible_user: ec2-user
|
|
|
|
controller_templates:
|
|
- name: Cloud / AWS / Create Peer Infrastructure
|
|
job_type: run
|
|
organization: Default
|
|
credentials:
|
|
- AWS
|
|
project: Ansible Cloud Content Lab - AWS
|
|
playbook: playbook_create_peer_network.yml
|
|
inventory: Demo Inventory
|
|
notification_templates_started: Telemetry
|
|
notification_templates_success: Telemetry
|
|
notification_templates_error: Telemetry
|
|
extra_vars:
|
|
aws_region: us-east-1
|
|
dmz_ssh_key_name: aws-test-key
|
|
priv_network_ssh_key_name: aws-test-key
|
|
|
|
- name: Cloud / AWS / Delete Peer Infrastructure
|
|
job_type: run
|
|
organization: Default
|
|
credentials:
|
|
- AWS
|
|
project: Ansible Cloud Content Lab - AWS
|
|
playbook: playbook_delete_peer_network.yml
|
|
inventory: Demo Inventory
|
|
notification_templates_started: Telemetry
|
|
notification_templates_success: Telemetry
|
|
notification_templates_error: Telemetry
|
|
extra_vars:
|
|
aws_region: us-east-1
|
|
|
|
- name: Cloud / AWS / Create Transit Infrastructure
|
|
job_type: run
|
|
organization: Default
|
|
credentials:
|
|
- AWS
|
|
project: Ansible Cloud Content Lab - AWS
|
|
playbook: playbook_create_transit_network.yml
|
|
inventory: Demo Inventory
|
|
notification_templates_started: Telemetry
|
|
notification_templates_success: Telemetry
|
|
notification_templates_error: Telemetry
|
|
extra_vars:
|
|
aws_region: us-east-1
|
|
dmz_ssh_key_name: aws-test-key
|
|
priv_network_ssh_key_name: aws-test-key
|
|
|
|
- name: Cloud / AWS / Delete Transit Infrastructure
|
|
job_type: run
|
|
organization: Default
|
|
credentials:
|
|
- AWS
|
|
project: Ansible Cloud Content Lab - AWS
|
|
playbook: playbook_delete_transit_network.yml
|
|
inventory: Demo Inventory
|
|
notification_templates_started: Telemetry
|
|
notification_templates_success: Telemetry
|
|
notification_templates_error: Telemetry
|
|
extra_vars:
|
|
aws_region: us-east-1
|
|
|
|
- name: Cloud / AWS / Create VPC
|
|
job_type: run
|
|
organization: Default
|
|
credentials:
|
|
- AWS
|
|
project: Ansible official demo project
|
|
playbook: cloud/create_vpc.yml
|
|
inventory: Demo Inventory
|
|
notification_templates_started: Telemetry
|
|
notification_templates_success: Telemetry
|
|
notification_templates_error: Telemetry
|
|
survey_enabled: true
|
|
survey:
|
|
name: ''
|
|
description: ''
|
|
spec:
|
|
- question_name: AWS Region
|
|
type: multiplechoice
|
|
variable: create_vm_aws_region
|
|
required: true
|
|
choices:
|
|
- us-east-1
|
|
- us-east-2
|
|
- us-west-1
|
|
- us-west-2
|
|
- question_name: Owner
|
|
type: text
|
|
variable: aws_owner_tag
|
|
required: true
|
|
|
|
- name: Cloud / AWS / Create VM
|
|
job_type: run
|
|
organization: Default
|
|
credentials:
|
|
- AWS
|
|
- Demo Credential
|
|
project: Ansible Cloud Content Lab - AWS
|
|
playbook: playbook_create_vm.yml
|
|
inventory: Demo Inventory
|
|
notification_templates_started: Telemetry
|
|
notification_templates_success: Telemetry
|
|
notification_templates_error: Telemetry
|
|
survey_enabled: true
|
|
allow_simultaneous: true
|
|
survey:
|
|
name: ''
|
|
description: ''
|
|
spec:
|
|
- question_name: AWS Region
|
|
type: multiplechoice
|
|
variable: create_vm_aws_region
|
|
required: true
|
|
choices:
|
|
- us-east-1
|
|
- us-east-2
|
|
- us-west-1
|
|
- us-west-2
|
|
- question_name: Name
|
|
type: text
|
|
variable: create_vm_vm_name
|
|
required: true
|
|
- question_name: Owner
|
|
type: text
|
|
variable: create_vm_vm_owner
|
|
required: true
|
|
- question_name: Deployment
|
|
type: text
|
|
variable: create_vm_vm_deployment
|
|
required: true
|
|
- question_name: Environment
|
|
type: multiplechoice
|
|
variable: create_vm_vm_environment
|
|
required: true
|
|
choices:
|
|
- Dev
|
|
- QA
|
|
- Prod
|
|
- question_name: Blueprint
|
|
type: multiplechoice
|
|
variable: vm_blueprint
|
|
required: true
|
|
choices:
|
|
- windows_core
|
|
- windows_full
|
|
- rhel9
|
|
- rhel8
|
|
- rhel7
|
|
- al2023
|
|
- question_name: Subnet
|
|
type: text
|
|
variable: create_vm_aws_vpc_subnet_name
|
|
required: true
|
|
default: aws-test-subnet
|
|
- question_name: Security Group
|
|
type: text
|
|
variable: create_vm_aws_securitygroup_name
|
|
required: true
|
|
default: aws-test-sg
|
|
- question_name: SSH Keypair
|
|
type: text
|
|
variable: create_vm_aws_keypair_name
|
|
required: true
|
|
default: aws-test-key
|
|
- question_name: AWS Instance Type (defaults to blueprint value)
|
|
type: text
|
|
variable: create_vm_aws_instance_size
|
|
required: false
|
|
- question_name: AWS Image Filter (defaults to blueprint value)
|
|
type: text
|
|
variable: create_vm_aws_image_filter
|
|
required: false
|
|
|
|
- name: Cloud / AWS / Delete VM
|
|
job_type: run
|
|
organization: Default
|
|
credentials:
|
|
- AWS
|
|
- Demo Credential
|
|
project: Ansible Cloud Content Lab - AWS
|
|
playbook: playbook_delete_inventory_vm.yml
|
|
inventory: Demo Inventory
|
|
notification_templates_started: Telemetry
|
|
notification_templates_success: Telemetry
|
|
notification_templates_error: Telemetry
|
|
survey_enabled: true
|
|
survey:
|
|
name: ''
|
|
description: ''
|
|
spec:
|
|
- question_name: Name or Pattern
|
|
type: text
|
|
variable: _hosts
|
|
required: true
|
|
|
|
- name: Cloud / AWS / VPC Report
|
|
job_type: run
|
|
organization: Default
|
|
credentials:
|
|
- AWS
|
|
project: Ansible Cloud Content Lab - AWS
|
|
playbook: playbook_create_reports.yml
|
|
inventory: Demo Inventory
|
|
notification_templates_started: Telemetry
|
|
notification_templates_success: Telemetry
|
|
notification_templates_error: Telemetry
|
|
extra_vars:
|
|
aws_report: vpc
|
|
survey_enabled: true
|
|
survey:
|
|
name: ''
|
|
description: ''
|
|
spec:
|
|
- question_name: AWS Region
|
|
type: multiplechoice
|
|
variable: create_vm_aws_region
|
|
required: true
|
|
choices:
|
|
- us-east-1
|
|
- us-east-2
|
|
- us-west-1
|
|
- us-west-2
|
|
|
|
- name: Cloud / AWS / Tags Report
|
|
job_type: run
|
|
organization: Default
|
|
credentials:
|
|
- AWS
|
|
project: Ansible Cloud Content Lab - AWS
|
|
playbook: playbook_create_reports.yml
|
|
inventory: Demo Inventory
|
|
notification_templates_started: Telemetry
|
|
notification_templates_success: Telemetry
|
|
notification_templates_error: Telemetry
|
|
extra_vars:
|
|
aws_report: tags
|
|
survey_enabled: true
|
|
survey:
|
|
name: ''
|
|
description: ''
|
|
spec:
|
|
- question_name: AWS Region
|
|
type: multiplechoice
|
|
variable: create_vm_aws_region
|
|
required: true
|
|
choices:
|
|
- us-east-1
|
|
- us-east-2
|
|
- us-west-1
|
|
- us-west-2
|
|
|
|
- name: Cloud / AWS / Create Keypair
|
|
job_type: run
|
|
organization: Default
|
|
credentials:
|
|
- AWS
|
|
project: Ansible official demo project
|
|
playbook: cloud/aws_key.yml
|
|
inventory: Demo Inventory
|
|
notification_templates_started: Telemetry
|
|
notification_templates_success: Telemetry
|
|
notification_templates_error: Telemetry
|
|
survey_enabled: true
|
|
survey:
|
|
name: ''
|
|
description: ''
|
|
spec:
|
|
- question_name: AWS Region
|
|
type: multiplechoice
|
|
variable: create_vm_aws_region
|
|
required: true
|
|
choices:
|
|
- us-east-1
|
|
- us-east-2
|
|
- us-west-1
|
|
- us-west-2
|
|
- question_name: Keypair Name
|
|
type: text
|
|
variable: aws_key_name
|
|
required: true
|
|
default: aws-test-key
|
|
- question_name: Keypair Public Key
|
|
type: textarea
|
|
variable: aws_public_key
|
|
required: true
|
|
- question_name: Owner
|
|
type: text
|
|
variable: aws_keypair_owner
|
|
required: true
|
|
|
|
- name: Cloud / AWS / Snapshot EC2
|
|
job_type: run
|
|
organization: Default
|
|
credentials:
|
|
- AWS
|
|
project: Ansible official demo project
|
|
playbook: cloud/snapshot_ec2.yml
|
|
inventory: Demo Inventory
|
|
notification_templates_started: Telemetry
|
|
notification_templates_success: Telemetry
|
|
notification_templates_error: Telemetry
|
|
survey_enabled: true
|
|
survey:
|
|
name: ''
|
|
description: ''
|
|
spec:
|
|
- question_name: AWS Region
|
|
type: multiplechoice
|
|
variable: aws_region
|
|
required: true
|
|
default: us-east-1
|
|
choices:
|
|
- us-east-1
|
|
- us-east-2
|
|
- us-west-1
|
|
- us-west-2
|
|
- question_name: Specify target hosts
|
|
type: text
|
|
variable: _hosts
|
|
required: false
|
|
|
|
- name: Cloud / AWS / Restore EC2 from Snapshot
|
|
job_type: run
|
|
organization: Default
|
|
credentials:
|
|
- AWS
|
|
project: Ansible official demo project
|
|
playbook: cloud/restore_ec2.yml
|
|
inventory: Demo Inventory
|
|
notification_templates_started: Telemetry
|
|
notification_templates_success: Telemetry
|
|
notification_templates_error: Telemetry
|
|
survey_enabled: true
|
|
survey:
|
|
name: ''
|
|
description: ''
|
|
spec:
|
|
- question_name: AWS Region
|
|
type: multiplechoice
|
|
variable: aws_region
|
|
required: true
|
|
default: us-east-1
|
|
choices:
|
|
- us-east-1
|
|
- us-east-2
|
|
- us-west-1
|
|
- us-west-2
|
|
- question_name: Specify target hosts
|
|
type: text
|
|
variable: _hosts
|
|
required: false
|
|
|
|
- name: "LINUX / Patching"
|
|
job_type: check
|
|
inventory: "Demo Inventory"
|
|
project: "Ansible official demo project"
|
|
playbook: "linux/patching.yml"
|
|
execution_environment: Default execution environment
|
|
notification_templates_started: Telemetry
|
|
notification_templates_success: Telemetry
|
|
notification_templates_error: Telemetry
|
|
use_fact_cache: true
|
|
ask_job_type_on_launch: true
|
|
credentials:
|
|
- "Demo Credential"
|
|
survey_enabled: true
|
|
survey:
|
|
name: ''
|
|
description: ''
|
|
spec:
|
|
- question_name: Server Name or Pattern
|
|
type: text
|
|
variable: _hosts
|
|
required: true
|
|
|
|
controller_workflows:
|
|
- name: Deploy Cloud Stack in AWS
|
|
description: A workflow to deploy a cloud stack
|
|
organization: Default
|
|
notification_templates_started: Telemetry
|
|
notification_templates_success: Telemetry
|
|
notification_templates_error: Telemetry
|
|
extra_vars:
|
|
vm_deployment: cloud_stack
|
|
survey_enabled: true
|
|
survey:
|
|
name: ''
|
|
description: ''
|
|
spec:
|
|
- question_name: AWS Region
|
|
type: multiplechoice
|
|
variable: create_vm_aws_region
|
|
required: true
|
|
choices:
|
|
- us-east-1
|
|
- us-east-2
|
|
- us-west-1
|
|
- us-west-2
|
|
- question_name: Owner
|
|
type: text
|
|
variable: create_vm_aws_owner_tag
|
|
required: true
|
|
- question_name: Environment
|
|
type: multiplechoice
|
|
variable: vm_environment
|
|
required: true
|
|
choices:
|
|
- Dev
|
|
- QA
|
|
- Prod
|
|
- question_name: Keypair Public Key
|
|
type: textarea
|
|
variable: aws_public_key
|
|
required: true
|
|
- question_name: Email
|
|
type: text
|
|
variable: email
|
|
required: true
|
|
simplified_workflow_nodes:
|
|
- identifier: Create Keypair
|
|
unified_job_template: Cloud / AWS / Create Keypair
|
|
success_nodes:
|
|
- VPC Report
|
|
failure_nodes:
|
|
- Ticket - Keypair Failed
|
|
- identifier: Create VPC
|
|
unified_job_template: Cloud / AWS / Create VPC
|
|
success_nodes:
|
|
- VPC Report
|
|
failure_nodes:
|
|
- Ticket - VPC Failed
|
|
- identifier: Ticket - Keypair Failed
|
|
unified_job_template: 'SUBMIT FEEDBACK'
|
|
extra_data:
|
|
feedback: Failed to create AWS keypair
|
|
- identifier: VPC Report
|
|
unified_job_template: Cloud / AWS / VPC Report
|
|
all_parents_must_converge: true
|
|
success_nodes:
|
|
- Deploy Windows Blueprint
|
|
- Deploy RHEL8 Blueprint
|
|
- Deploy RHEL9 Blueprint
|
|
- identifier: Deploy Windows Blueprint
|
|
unified_job_template: Cloud / AWS / Create VM
|
|
extra_data:
|
|
create_vm_vm_name: aws_win
|
|
vm_blueprint: windows_full
|
|
success_nodes:
|
|
- Update Inventory
|
|
failure_nodes:
|
|
- Ticket - Instance Failed
|
|
- identifier: Deploy RHEL8 Blueprint
|
|
unified_job_template: Cloud / AWS / Create VM
|
|
extra_data:
|
|
create_vm_vm_name: aws_rhel8
|
|
vm_blueprint: rhel8
|
|
success_nodes:
|
|
- Update Inventory
|
|
failure_nodes:
|
|
- Ticket - Instance Failed
|
|
- identifier: Deploy RHEL9 Blueprint
|
|
unified_job_template: Cloud / AWS / Create VM
|
|
extra_data:
|
|
create_vm_vm_name: aws_rhel9
|
|
vm_blueprint: rhel9
|
|
success_nodes:
|
|
- Update Inventory
|
|
failure_nodes:
|
|
- Ticket - Instance Failed
|
|
- identifier: Ticket - VPC Failed
|
|
unified_job_template: 'SUBMIT FEEDBACK'
|
|
extra_data:
|
|
feedback: Failed to create AWS VPC
|
|
- identifier: Update Inventory
|
|
unified_job_template: AWS Inventory
|
|
success_nodes:
|
|
- Tag Report
|
|
- identifier: Ticket - Instance Failed
|
|
unified_job_template: 'SUBMIT FEEDBACK'
|
|
extra_data:
|
|
feedback: Failed to create AWS instance
|
|
- identifier: Tag Report
|
|
unified_job_template: Cloud / AWS / Tags Report
|
|
|
|
- name: Cloud / AWS / Patch EC2 Workflow
|
|
description: A workflow to patch ec2 instances with snapshot and restore on failure.
|
|
organization: Default
|
|
notification_templates_started: Telemetry
|
|
notification_templates_success: Telemetry
|
|
notification_templates_error: Telemetry
|
|
survey_enabled: true
|
|
survey:
|
|
name: ''
|
|
description: ''
|
|
spec:
|
|
- question_name: AWS Region
|
|
type: multiplechoice
|
|
variable: aws_region
|
|
required: true
|
|
default: us-east-1
|
|
choices:
|
|
- us-east-1
|
|
- us-east-2
|
|
- us-west-1
|
|
- us-west-2
|
|
- question_name: Specify target hosts
|
|
type: text
|
|
variable: _hosts
|
|
required: true
|
|
default: os_linux
|
|
simplified_workflow_nodes:
|
|
- identifier: Project Sync
|
|
unified_job_template: Ansible official demo project
|
|
success_nodes:
|
|
- Take Snapshot
|
|
- identifier: Inventory Sync
|
|
unified_job_template: AWS Inventory
|
|
success_nodes:
|
|
- Take Snapshot
|
|
- identifier: Take Snapshot
|
|
unified_job_template: Cloud / AWS / Snapshot EC2
|
|
success_nodes:
|
|
- Patch Instance
|
|
- identifier: Patch Instance
|
|
unified_job_template: LINUX / Patching
|
|
job_type: run
|
|
failure_nodes:
|
|
- Restore from Snapshot
|
|
- identifier: Restore from Snapshot
|
|
unified_job_template: Cloud / AWS / Restore EC2 from Snapshot
|
|
failure_nodes:
|
|
- Ticket - Restore Failed
|
|
- identifier: Ticket - Restore Failed
|
|
unified_job_template: 'SUBMIT FEEDBACK'
|
|
extra_data:
|
|
feedback: Cloud / AWS / Patch EC2 Workflow | Failed to restore ec2 from snapshot
|