File tree Expand file tree Collapse file tree 4 files changed +243
-0
lines changed
product/dialogs/miq_dialogs Expand file tree Collapse file tree 4 files changed +243
-0
lines changed Original file line number Diff line number Diff line change 1+ class MiqProvisionConfigurationScriptRequest < MiqRequest
2+ delegate :my_zone , :to => :source
3+
4+ TASK_DESCRIPTION = N_ ( 'Configuration Script Provisioning' )
5+ SOURCE_CLASS_NAME = 'ConfigurationScript'
6+
7+ validates :source , :presence => true
8+ validate :must_have_user
9+
10+ def self . request_task_class_from ( _attribs )
11+ # TODO
12+ ManageIQ ::Providers ::TerraformEnterprise ::AutomationManager ::Provision
13+ end
14+
15+ def self . request_task_class_from ( attribs )
16+ _source_type , source_id = attribs . dig ( 'options' , :source )
17+ configuration_script = ::ConfigurationScript . find_by ( :id => source_id )
18+ return if configuration_script . nil?
19+
20+ configuration_script . manager . class . provision_class ( nil )
21+ end
22+
23+ def self . new_request_task ( attribs )
24+ request_task_class_from ( attribs ) . new ( attribs )
25+ end
26+
27+ def originating_controller
28+ "configuration_scripts"
29+ end
30+
31+ def event_name ( mode )
32+ "configuration_script_provision_request_#{ mode } "
33+ end
34+ end
Original file line number Diff line number Diff line change 1+ class MiqProvisionConfigurationScriptWorkflow < MiqProvisionWorkflow
2+ def self . base_model
3+ MiqProvisionConfigurationScriptWorkflow
4+ end
5+
6+ def self . automate_dialog_request
7+ 'UI_CONFIGURATION_SCRIPT_PROVISION_INFO'
8+ end
9+
10+ def self . request_class
11+ MiqProvisionConfigurationScriptRequest
12+ end
13+ end
Original file line number Diff line number Diff line change @@ -82,6 +82,9 @@ class MiqRequest < ApplicationRecord
8282 :MiqProvisionConfiguredSystemRequest => {
8383 :provision_via_foreman => N_ ( "%{config_mgr_type} Provision" ) % { :config_mgr_type => ui_lookup ( :ui_title => 'foreman' ) }
8484 } ,
85+ :MiqProvisionConfigurationScriptRequest => {
86+ :provision_via_terraform_enterprise => N_ ( "Terraform Enterprise Provision" )
87+ } ,
8588 :MiqProvisionRequest => {
8689 :template => N_ ( "VM Provision" ) ,
8790 :clone_to_vm => N_ ( "VM Clone" ) ,
Original file line number Diff line number Diff line change 1+ ---
2+ :name : miq_provision_configuration_script_dialogs
3+ :description : Sample Configuration Script Provisioning Dialog
4+ :dialog_type : MiqProvisionConfigurationScriptWorkflow
5+ :content :
6+ :buttons :
7+ - :submit
8+ - :cancel
9+ :dialogs :
10+ :requester :
11+ :description : Request
12+ :fields :
13+ :owner_phone :
14+ :description : Phone
15+ :required : false
16+ :display : :hide
17+ :data_type : :string
18+ :owner_country :
19+ :description : Country/Region
20+ :required : false
21+ :display : :hide
22+ :data_type : :string
23+ :owner_phone_mobile :
24+ :description : Mobile
25+ :required : false
26+ :display : :hide
27+ :data_type : :string
28+ :owner_title :
29+ :description : Title
30+ :required : false
31+ :display : :hide
32+ :data_type : :string
33+ :owner_first_name :
34+ :description : First Name
35+ :required : false
36+ :display : :edit
37+ :data_type : :string
38+ :owner_manager :
39+ :description : Name
40+ :required : false
41+ :display : :edit
42+ :data_type : :string
43+ :owner_address :
44+ :description : Address
45+ :required : false
46+ :display : :hide
47+ :data_type : :string
48+ :owner_company :
49+ :description : Company
50+ :required : false
51+ :display : :hide
52+ :data_type : :string
53+ :owner_last_name :
54+ :description : Last Name
55+ :required : false
56+ :display : :edit
57+ :data_type : :string
58+ :owner_manager_mail :
59+ :description : E-Mail
60+ :required : false
61+ :display : :hide
62+ :data_type : :string
63+ :owner_city :
64+ :description : City
65+ :required : false
66+ :display : :hide
67+ :data_type : :string
68+ :owner_department :
69+ :description : Department
70+ :required : false
71+ :display : :hide
72+ :data_type : :string
73+ :owner_load_ldap :
74+ :pressed :
75+ :method : :retrieve_ldap
76+ :description : Look Up LDAP Email
77+ :required : false
78+ :display : :show
79+ :data_type : :button
80+ :owner_manager_phone :
81+ :description : Phone
82+ :required : false
83+ :display : :hide
84+ :data_type : :string
85+ :owner_state :
86+ :description : State
87+ :required : false
88+ :display : :hide
89+ :data_type : :string
90+ :owner_office :
91+ :description : Office
92+ :required : false
93+ :display : :hide
94+ :data_type : :string
95+ :owner_zip :
96+ :description : Zip code
97+ :required : false
98+ :display : :hide
99+ :data_type : :string
100+ :owner_email :
101+ :description : E-Mail
102+ :required_method : :validate_regex
103+ :required_regex : !ruby/regexp /\A[\w!#$\%&'*+\/=?`\{|\}~^-]+(?:\.[\w!#$\%&'*+\/=?`\{|\}~^-]+)*@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}\Z/i
104+ :required : true
105+ :display : :edit
106+ :data_type : :string
107+ :request_notes :
108+ :description : Notes
109+ :required : false
110+ :display : :edit
111+ :data_type : :string
112+ :display : :show
113+ :field_order :
114+ :purpose :
115+ :description : Purpose
116+ :fields :
117+ :tag_ids :
118+ :required_method : :validate_tags
119+ :description : Tags
120+ :required : false
121+ :options :
122+ :include : []
123+ :order : []
124+ :single_select : []
125+ :exclude : []
126+ :display : :edit
127+ :required_tags : []
128+ :data_type : :integer
129+ :display : :show
130+ :field_order :
131+ :customize :
132+ :description : Customize
133+ :fields :
134+ :root_password :
135+ :description : Root Password
136+ :required : false
137+ :display : :edit
138+ :data_type : :string
139+ :notes : Minimum 8 characters or blank
140+ :hostname :
141+ :description : Host Name
142+ :required : false
143+ :display : :edit
144+ :data_type : :string
145+ :ip_addr :
146+ :description : IP Address
147+ :required : false
148+ :notes : (Enter starting IP address)
149+ :display : :edit
150+ :data_type : :string
151+ :notes_display : :hide
152+ :display : :show
153+ :service :
154+ :description : Catalog
155+ :fields :
156+ :src_configuration_script_ids :
157+ :values_from :
158+ :method : :allowed_configuration_scripts
159+ :description : Workspaces
160+ :required : true
161+ :notes :
162+ :display : :show
163+ :data_type : :integer
164+ :notes_display : :show
165+ :display : :show
166+ :schedule :
167+ :description : Schedule
168+ :fields :
169+ :schedule_type :
170+ :values :
171+ schedule : Schedule
172+ immediately : Immediately on Approval
173+ :description : When to Provision
174+ :required : false
175+ :display : :edit
176+ :default : immediately
177+ :data_type : :string
178+ :schedule_time :
179+ :values_from :
180+ :options :
181+ :offset : 1.day
182+ :method : :default_schedule_time
183+ :description : Provision on
184+ :required : false
185+ :display : :edit
186+ :data_type : :time
187+ :display : :show
188+ :dialog_order :
189+ - :requester
190+ - :purpose
191+ - :service
192+ - :customize
193+ - :schedule
You can’t perform that action at this time.
0 commit comments