Skip to content
This repository has been archived by the owner on Aug 22, 2023. It is now read-only.

Commit

Permalink
Ajay windows (#3)
Browse files Browse the repository at this point in the history
add windows workflow with ServiceNow
  • Loading branch information
termlen0 authored Mar 2, 2022
1 parent b3af08c commit cf90f1e
Show file tree
Hide file tree
Showing 3 changed files with 243 additions and 1 deletion.
7 changes: 7 additions & 0 deletions windows/backup.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
- hosts: windows
name: Rollback playbook
tasks:
- name: "Rollback this step"
debug:
msg: "Rolling back this step"
205 changes: 204 additions & 1 deletion windows/setup.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,56 @@
---
user_message: |
You will need to update SNOW credentials with your SNOW instance details if you plan to demo this.
controller_components:
- projects
- credential_types
- credentials
- job_templates
- workflow_job_templates

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

controller_credential_types:
- name: "SNOW Credential Type"
description: "credential to store SNOW"
kind: cloud
inputs:
fields:
- id: SNOW_USERNAME
type: string
label: Service Now Username
- id: SNOW_INSTANCE
type: string
label: Service Now Instance Name (devXXXXX)
- id: SNOW_PASSWORD
type: string
label: Service Now Password
secret: true
required:
- SNOW_USERNAME
- SNOW_INSTANCE
- SNOW_PASSWORD
injectors:
extra_vars:
snow_username: "{% raw %}{ { SNOW_USERNAME }}{% endraw %}"
snow_password: "{% raw %}{ { SNOW_PASSWORD }}{% endraw %}"
snow_instance: "{% raw %}{ { SNOW_INSTANCE }}{% endraw %}"

controller_credentials:
- name: SNOW Credential
description: Credentials
organization: Default
credential_type: "SNOW Credential Type"
inputs:
SNOW_USERNAME: "admin" #update after install
SNOW_PASSWORD: "XXX" #update after install
SNOW_INSTANCE: "devXxxxx" #update after install

controller_templates:
- name: "WINDOWS / Install IIS"
job_type: run
Expand Down Expand Up @@ -114,7 +156,6 @@ controller_templates:
type: text
variable: package_name
required: true

- name: "WINDOWS / Arbitrary PowerShell"
job_type: run
inventory: "Workshop Inventory"
Expand Down Expand Up @@ -203,3 +244,165 @@ controller_templates:
type: text
variable: surname
required: true

- name: "Rollback"
job_type: run
inventory: "Workshop Inventory"
limit: "student1-win1"
project: "Ansible official demo project"
playbook: "windows/backup.yml"
execution_environment: "windows workshop execution environment"
credentials:
- "Workshop Credential"

- name: "Open SNOW Change Request"
job_type: run
inventory: "Workshop Inventory"
limit: "student1-ansible-1"
project: "Ansible official demo project"
playbook: "windows/snow.yml"
credentials:
- "SNOW Credential"
- "Workshop Credential"

- name: "Send Completion Notification"
job_type: run
inventory: "Workshop Inventory"
limit: "student1-win1"
project: "Ansible official demo project"
playbook: "windows/backup.yml"
execution_environment: "windows workshop execution environment"
credentials:
- "Workshop Credential"

- name: "Alert Ops!"
job_type: run
inventory: "Workshop Inventory"
limit: "student1-win1"
project: "Ansible official demo project"
playbook: "windows/backup.yml"
execution_environment: "windows workshop execution environment"
credentials:
- "Workshop Credential"

controller_workflows:
- name: "Windows Demo Workflow"
organization:
name: "Default"
workflow_nodes:
- unified_job_template:
name: "Ansible official demo project"
type: project_update
organization:
name: "Default"
identifier: node100
related:
success_nodes:
- identifier: node101
- unified_job_template:
name: "Open SNOW Change Request"
type: job_template
organization:
name: "Default"
identifier: node101
related:
success_nodes:
- identifier: node201
- unified_job_template:
name: "WINDOWS / Windows updates"
type: job_template
organization:
name: "Default"
identifier: node201
related:
success_nodes:
- identifier: node301
failure_nodes:
- identifier: node302
always_nodes: []
- unified_job_template:
name: "WINDOWS / Install IIS"
type: job_template
organization:
name: "Default"
identifier: node301
related:
success_nodes:
- identifier: node401
failure_nodes:
- identifier: node402
always_nodes: []
- unified_job_template:
name: "Rollback"
type: workflow_approval
organization:
name: "Default"
related:
success_nodes: []
failure_nodes: []
always_nodes: []
identifier: node302
- unified_job_template:
name: "WINDOWS / Chocolatey install multiple"
type: workflow_approval
organization:
name: "Default"
identifier: node401
related:
success_nodes:
- identifier: node501
failure_nodes:
- identifier: node502
always_nodes: []
- unified_job_template:
name: "Rollback"
type: job_template
organization:
name: "Default"
identifier: node402
related:
success_nodes: []
failure_nodes: []
always_nodes: []
- unified_job_template:
name: "Send Completion Notification"
type: job_template
organization:
name: "Default"
identifier: node501
related:
success_nodes: []
failure_nodes: []
always_nodes: []
- unified_job_template:
name: "Manual override"
type: workflow_approval
organization:
name: "Default"
related:
success_nodes:
- identifier: node601
failure_nodes:
- identifier: node602
always_nodes: []
identifier: node502
- unified_job_template:
name: "Rollback"
type: job_template
organization:
name: "Default"
identifier: node602
related:
success_nodes: []
failure_nodes: []
always_nodes: []
- unified_job_template:
name: "Alert Ops!"
type: job_template
organization:
name: "Default"
identifier: node601
related:
success_nodes: []
failure_nodes: []
always_nodes: []
32 changes: 32 additions & 0 deletions windows/snow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
- name: open a change request
hosts: student1-ansible-1
vars:
change_request:
severity: 2
priority: 2
description: Automated Provisioning
justification: Ansible Triggered
implementation_plan: Updated by Red Hat AAP
risk_impact_analysis: Changes are made automatically based on approved changes
test_plan: Run synthetic validation tests post-deployment
short_description: Automated Provisioning
tasks:
- name: Create a change request
servicenow.itsm.change_request:
instance:
host: "https://{{ snow_instance }}.service-now.com"
username: "{{ snow_username }}"
password: "{{ snow_password }}"
type: standard
state: new
requested_by: admin
short_description: "{{ change_request.short_description }}"
description: "{{ change_request.description }}"
priority: moderate
risk: low
impact: low
register: new_incident

- debug:
var: new_incident.record.number

0 comments on commit cf90f1e

Please sign in to comment.