aboutsummaryrefslogtreecommitdiffstats
path: root/extraconfig/post_deploy/rhel-registration/rhel-registration.yaml
blob: cbf8f8b59f36472b1df1ba0205384f1acb3e548b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
heat_template_version: 2014-10-16

description: >
  RHEL Registration and unregistration software deployments.

# Note extra parameters can be defined, then passed data via the
# environment parameter_defaults, without modifying the parent template
parameters:
  servers:
    type: json
  # To be defined via a local or global environment in parameter_defaults
  rhel_reg_activation_key:
    type: string
  rhel_reg_auto_attach:
    type: string
  rhel_reg_base_url:
    type: string
  rhel_reg_environment:
    type: string
  rhel_reg_force:
    type: string
  rhel_reg_machine_name:
    type: string
  rhel_reg_org:
    type: string
  rhel_reg_password:
    type: string
  rhel_reg_pool_id:
    type: string
  rhel_reg_release:
    type: string
  rhel_reg_repos:
    type: string
  rhel_reg_sat_url:
    type: string
  rhel_reg_server_url:
    type: string
  rhel_reg_service_level:
    type: string
  rhel_reg_user:
    type: string
  rhel_reg_type:
    type: string
  rhel_reg_method:
    type: string

resources:

  RHELRegistration:
    type: OS::Heat::SoftwareConfig
    properties:
      group: script
      inputs:
        - name: REG_ACTIVATION_KEY
        - name: REG_AUTO_ATTACH
        - name: REG_BASE_URL
        - name: REG_ENVIRONMENT
        - name: REG_FORCE
        - name: REG_MACHINE_NAME
        - name: REG_ORG
        - name: REG_PASSWORD
        - name: REG_POOL_ID
        - name: REG_RELEASE
        - name: REG_REPOS
        - name: REG_SAT_URL
        - name: REG_SERVER_URL
        - name: REG_SERVICE_LEVEL
        - name: REG_USER
        - name: REG_TYPE
        - name: REG_METHOD
      config: {get_file: scripts/rhel-registration}

  RHELRegistrationDeployment:
    type: OS::Heat::StructuredDeployments
    properties:
      servers:  {get_param: servers}
      config: {get_resource: RHELRegistration}
      actions: ['CREATE'] # Only do this on CREATE
      input_values:
        REG_ACTIVATION_KEY: {get_param: rhel_reg_activation_key}
        REG_AUTO_ATTACH: {get_param: rhel_reg_auto_attach}
        REG_BASE_URL: {get_param: rhel_reg_base_url}
        REG_ENVIRONMENT: {get_param: rhel_reg_environment}
        REG_FORCE: {get_param: rhel_reg_force}
        REG_MACHINE_NAME: {get_param: rhel_reg_machine_name}
        REG_ORG: {get_param: rhel_reg_org}
        REG_PASSWORD: {get_param: rhel_reg_password}
        REG_POOL_ID: {get_param: rhel_reg_pool_id}
        REG_RELEASE: {get_param: rhel_reg_release}
        REG_REPOS: {get_param: rhel_reg_repos}
        REG_SAT_URL: {get_param: rhel_reg_sat_url}
        REG_SERVER_URL: {get_param: rhel_reg_server_url}
        REG_SERVICE_LEVEL: {get_param: rhel_reg_service_level}
        REG_USER: {get_param: rhel_reg_user}
        REG_TYPE: {get_param: rhel_reg_type}
        REG_METHOD: {get_param: rhel_reg_method}

  RHELUnregistration:
    type: OS::Heat::SoftwareConfig
    properties:
      group: script
      config: {get_file: scripts/rhel-unregistration}
      inputs:
        - name: REG_METHOD

  RHELUnregistrationDeployment:
    type: OS::Heat::StructuredDeployments
    properties:
      servers:  {get_param: servers}
      config: {get_resource: RHELUnregistration}
      actions: ['DELETE'] # Only do this on DELETE
      input_values:
        REG_METHOD: {get_param: rhel_reg_method}