---
user_message: |
  ''

controller_projects:
  - name: Fact Scan
    organization: Default
    scm_type: git
    scm_url: 'https://github.com/ansible/awx-facts-playbooks.git'

controller_templates:
  - name: "WINDOWS / Install IIS"
    job_type: run
    inventory: "Demo Inventory"
    project: "Ansible Product Demos"
    playbook: "windows/install_iis.yml"
    notification_templates_started: Telemetry
    notification_templates_success: Telemetry
    notification_templates_error: Telemetry
    credentials:
      - "Demo Credential"
    survey_enabled: true
    survey:
      name: ''
      description: ''
      spec:
        - question_name: Server Name or Pattern
          type: text
          variable: _hosts
          required: false
        - question_name: web content
          type: text
          variable: iis_message
          required: true

  - name: "WINDOWS / Patching"
    use_fact_cache: true
    job_type: check
    ask_job_type_on_launch: true
    inventory: "Demo Inventory"
    project: "Ansible Product Demos"
    playbook: "windows/patching.yml"
    notification_templates_started: Telemetry
    notification_templates_success: Telemetry
    notification_templates_error: Telemetry
    credentials:
      - "Demo Credential"
    survey_enabled: true
    survey:
      name: ''
      description: ''
      spec:
        - question_name: Server Name or Pattern
          type: text
          variable: _hosts
          required: false
        - question_name: Update categories
          type: multiselect
          variable: win_update_categories
          required: false
          default: SecurityUpdates
          choices:
            - Application
            - Connectors
            - CriticalUpdates
            - DefinitionUpdates
            - DeveloperKits
            - FeaturePacks Guidance
            - SecurityUpdates
            - ServicePacks
            - Tools
            - UpdateRollups
            - Updates
        - question_name: Reboot after install?
          type: multiplechoice
          variable: allow_reboot
          required: false
          default: 'Yes'
          choices:
            - 'Yes'
            - 'No'

  - name: "WINDOWS / Rollback"
    job_type: run
    inventory: "Demo Inventory"
    project: "Ansible Product Demos"
    playbook: "windows/rollback.yml"
    notification_templates_started: Telemetry
    notification_templates_success: Telemetry
    notification_templates_error: Telemetry
    credentials:
      - "Demo Credential"
    survey_enabled: true
    survey:
      name: ''
      description: ''
      spec:
        - question_name: Server Name or Pattern
          type: text
          variable: _hosts
          required: false
        - question_name: Rollback Message
          type: text
          variable: rollback_msg
          required: false

  - name: "WINDOWS / Test Connectivity"
    job_type: run
    inventory: "Demo Inventory"
    project: "Ansible Product Demos"
    playbook: "windows/connect.yml"
    notification_templates_started: Telemetry
    notification_templates_success: Telemetry
    notification_templates_error: Telemetry
    credentials:
      - "Demo Credential"
    survey_enabled: true
    survey:
      name: ''
      description: ''
      spec:
        - question_name: Server Name or Pattern
          type: text
          variable: _hosts
          required: false

  - name: "WINDOWS / Chocolatey install multiple"
    job_type: run
    inventory: "Demo Inventory"
    project: "Ansible Product Demos"
    playbook: "windows/windows_choco_multiple.yml"
    notification_templates_started: Telemetry
    notification_templates_success: Telemetry
    notification_templates_error: Telemetry
    credentials:
      - "Demo Credential"
    survey_enabled: true
    survey:
      name: ''
      description: ''
      spec:
        - question_name: Server Name or Pattern
          type: text
          variable: _hosts
          required: false

  - name: "WINDOWS / Chocolatey install specific"
    job_type: run
    inventory: "Demo Inventory"
    project: "Ansible Product Demos"
    playbook: "windows/windows_choco_specific.yml"
    notification_templates_started: Telemetry
    notification_templates_success: Telemetry
    notification_templates_error: Telemetry
    credentials:
      - "Demo Credential"
    survey_enabled: true
    survey:
      name: ''
      description: ''
      spec:
        - question_name: Server Name or Pattern
          type: text
          variable: _hosts
          required: false
        - question_name: Package name
          type: text
          variable: package_name
          required: true

  - name: "WINDOWS / Run PowerShell"
    job_type: run
    inventory: "Demo Inventory"
    project: "Ansible Product Demos"
    playbook: "windows/powershell.yml"
    notification_templates_started: Telemetry
    notification_templates_success: Telemetry
    notification_templates_error: Telemetry
    credentials:
      - "Demo Credential"
    survey_enabled: true
    survey:
      name: ''
      description: ''
      spec:
        - question_name: Server Name or Pattern
          type: text
          variable: _hosts
          required: false
        - question_name: PowerShell Script
          type: textarea
          variable: ps_script
          default: "Get-Service | Where-Object -FilterScript {$_.Status -eq 'running'} | Select-Object -Property 'Name'"
          required: true

  - name: "WINDOWS / Query Services"
    job_type: run
    inventory: "Demo Inventory"
    project: "Ansible Product Demos"
    playbook: "windows/powershell_script.yml"
    notification_templates_started: Telemetry
    notification_templates_success: Telemetry
    notification_templates_error: Telemetry
    credentials:
      - "Demo Credential"
    survey_enabled: true
    survey:
      name: ''
      description: ''
      spec:
        - question_name: Server Name or Pattern
          type: text
          variable: _hosts
          required: false
        - question_name: Service state to query?
          type: multiplechoice
          variable: service_state
          required: false
          default: 'Running'
          choices:
            - 'Running'
            - 'Stopped'

  - name: "WINDOWS / Configuring Password Requirements"
    job_type: run
    inventory: "Demo Inventory"
    project: "Ansible Product Demos"
    playbook: "windows/powershell_dsc.yml"
    notification_templates_started: Telemetry
    notification_templates_success: Telemetry
    notification_templates_error: Telemetry
    credentials:
      - "Demo Credential"
    survey_enabled: true
    survey:
      name: ''
      description: ''
      spec:
        - question_name: Server Name or Pattern
          type: text
          variable: _hosts
          required: false

  - name: "WINDOWS / AD / Create Domain"
    job_type: run
    inventory: "Demo Inventory"
    project: "Ansible Product Demos"
    playbook: "windows/create_ad_domain.yml"
    notification_templates_started: Telemetry
    notification_templates_success: Telemetry
    notification_templates_error: Telemetry
    credentials:
      - "Demo Credential"
    survey_enabled: true
    survey:
      name: ''
      description: ''
      spec:
        - question_name: Server Name or Pattern
          type: text
          variable: _hosts
          required: false

  - name: "WINDOWS / AD / Join Domain"
    job_type: run
    inventory: "Demo Inventory"
    project: "Ansible Product Demos"
    playbook: "windows/join_ad_domain.yml"
    notification_templates_started: Telemetry
    notification_templates_success: Telemetry
    notification_templates_error: Telemetry
    credentials:
      - "Demo Credential"
    survey_enabled: true
    survey:
      name: ''
      description: ''
      spec:
        - question_name: Server Name or Pattern
          type: text
          variable: _hosts
          required: true
        - question_name: Domain Controller Inventory Hostname
          type: text
          variable: domain_controller
          required: true
          description: Inventory hostname for domain controller previously established using the Create Domain template

  - name: "WINDOWS / AD / New User"
    job_type: run
    inventory: "Demo Inventory"
    project: "Ansible Product Demos"
    playbook: "windows/helpdesk_new_user_portal.yml"
    notification_templates_started: Telemetry
    notification_templates_success: Telemetry
    notification_templates_error: Telemetry
    credentials:
      - "Demo Credential"
    survey_enabled: true
    survey:
      name: ''
      description: ''
      spec:
        - question_name: Firstname
          type: text
          variable: firstname
          required: true
        - question_name: Surname
          type: text
          variable: surname
          required: true
        - question_name: Street
          type: text
          variable: street
          default: 123 4th St.
          required: false
        - question_name: City
          type: text
          variable: city
          default: Sometown
          required: false
        - question_name: Postal code
          type: text
          variable: postal_code
          default: IN
          required: false
        - question_name: Telephone number
          type: text
          variable: telephone_number
          default: 555-123456
          required: false

  - name: "WINDOWS / DISA STIG"
    job_type: run
    inventory: "Demo Inventory"
    project: "Ansible Product Demos"
    playbook: "windows/compliance.yml"
    notification_templates_started: Telemetry
    notification_templates_success: Telemetry
    notification_templates_error: Telemetry
    credentials:
      - "Demo Credential"
    survey_enabled: true
    survey:
      name: ''
      description: ''
      spec:
        - question_name: Server Name or Pattern
          type: text
          variable: HOSTS
          required: false

controller_workflows:
  - name: Setup Active Directory Domain
    description: A workflow to create a domain controller with two domain-joined Windows hosts.
    organization: Default
    notification_templates_started: Telemetry
    notification_templates_success: Telemetry
    notification_templates_error: Telemetry
    extra_vars:
      create_vm_aws_image_owners:
        - amazon
    survey_enabled: true
    survey:
      name: ''
      description: ''
      spec:
        - question_name: AWS Region
          type: multiplechoice
          variable: create_vm_aws_region
          required: true
          default: us-east-2
          choices:
            - us-east-1
            - us-east-2
            - us-west-1
            - us-west-2
        - question_name: Keypair Public Key
          type: textarea
          variable: aws_public_key
          required: true
        # Create VM variables
        - question_name: Owner
          type: text
          variable: create_vm_vm_owner
          required: true
        - question_name: Environment
          type: multiplechoice
          variable: create_vm_vm_environment
          required: true
          choices:
            - Dev
            - QA
            - Prod
        - 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
    simplified_workflow_nodes:
      - identifier: Create Keypair
        unified_job_template: Cloud / AWS / Create Keypair
        success_nodes:
          - Create VPC
      - identifier: Create VPC
        unified_job_template: Cloud / AWS / Create VPC
        success_nodes:
          - Create Domain Controller
          - Create Computer (1)
          - Create Computer (2)
      - identifier: Create Domain Controller
        unified_job_template: Cloud / AWS / Create VM
        job_type: run
        extra_data:
          create_vm_vm_name: dc01
          create_vm_vm_purpose: domain_controller
          create_vm_vm_deployment: domain_ansible_local
          vm_blueprint: windows_full
        success_nodes:
          - Inventory Sync
      - identifier: Create Computer (1)
        unified_job_template: Cloud / AWS / Create VM
        job_type: run
        extra_data:
          create_vm_vm_name: winston
          create_vm_vm_purpose: domain_computer
          create_vm_vm_deployment: domain_ansible_local
          vm_blueprint: windows_core
        success_nodes:
          - Inventory Sync
      - identifier: Create Computer (2)
        unified_job_template: Cloud / AWS / Create VM
        job_type: run
        extra_data:
          create_vm_vm_name: winthrop
          create_vm_vm_purpose: domain_computer
          create_vm_vm_deployment: domain_ansible_local
          vm_blueprint: windows_core
        success_nodes:
          - Inventory Sync
      - identifier: Inventory Sync
        unified_job_template: AWS Inventory
        all_parents_must_converge: true
        success_nodes:
          - Test Connectivity
      - identifier: Test Connectivity
        unified_job_template: WINDOWS / Test Connectivity
        job_type: run
        extra_data:
          _hosts: deployment_domain_ansible_local
        failure_nodes:
          - Cleanup Resources
        success_nodes:
          - Create Domain
      - identifier: Create Domain
        unified_job_template: WINDOWS / AD / Create Domain
        job_type: run
        extra_data:
          _hosts: purpose_domain_controller
        failure_nodes:
          - Cleanup Resources
        success_nodes:
          - Join Domain
      - identifier: Join Domain
        unified_job_template: WINDOWS / AD / Join Domain
        job_type: run
        extra_data:
          _hosts: purpose_domain_computer
          domain_controller: dc01
        failure_nodes:
          - Cleanup Resources
        success_nodes:
          - PowerShell Validation
      - identifier: Cleanup Resources
        unified_job_template: WINDOWS / Rollback
        job_type: run
        extra_data:
          _hosts: localhost
          rollback_msg: "Domain setup failed. Cleaning up resources..."
      - identifier: PowerShell Validation
        unified_job_template: WINDOWS / Run PowerShell
        job_type: run
        extra_data:
          _hosts: purpose_domain_controller
          ps_script: "Get-ADComputer -Filter * | Select-Object -Property 'Name'"
