Class: Fog::Orchestration::OpenStack::Real
- Inherits:
-
Object
- Object
- Fog::Orchestration::OpenStack::Real
show all
- Includes:
- Fog::OpenStack::Core
- Defined in:
- lib/fog/orchestration/openstack.rb,
lib/fog/orchestration/openstack/requests/build_info.rb,
lib/fog/orchestration/openstack/requests/list_events.rb,
lib/fog/orchestration/openstack/requests/patch_stack.rb,
lib/fog/orchestration/openstack/requests/create_stack.rb,
lib/fog/orchestration/openstack/requests/delete_stack.rb,
lib/fog/orchestration/openstack/requests/update_stack.rb,
lib/fog/orchestration/openstack/requests/abandon_stack.rb,
lib/fog/orchestration/openstack/requests/cancel_update.rb,
lib/fog/orchestration/openstack/requests/preview_stack.rb,
lib/fog/orchestration/openstack/requests/list_resources.rb,
lib/fog/orchestration/openstack/requests/list_stack_data.rb,
lib/fog/orchestration/openstack/requests/list_stack_events.rb,
lib/fog/orchestration/openstack/requests/validate_template.rb,
lib/fog/orchestration/openstack/requests/get_stack_template.rb,
lib/fog/orchestration/openstack/requests/show_event_details.rb,
lib/fog/orchestration/openstack/requests/show_resource_data.rb,
lib/fog/orchestration/openstack/requests/show_stack_details.rb,
lib/fog/orchestration/openstack/requests/list_resource_types.rb,
lib/fog/orchestration/openstack/requests/list_resource_events.rb,
lib/fog/orchestration/openstack/requests/show_resource_schema.rb,
lib/fog/orchestration/openstack/requests/show_resource_metadata.rb,
lib/fog/orchestration/openstack/requests/show_resource_template.rb,
lib/fog/orchestration/openstack/requests/list_stack_data_detailed.rb
Instance Attribute Summary
#auth_token, #auth_token_expiration, #current_tenant, #current_user, #current_user_id, #openstack_cache_ttl, #openstack_domain_id, #openstack_domain_name, #openstack_identity_prefix, #openstack_project_domain, #openstack_project_domain_id, #openstack_project_id, #openstack_user_domain, #openstack_user_domain_id, #unscoped_token
Class Method Summary
collapse
Instance Method Summary
collapse
-
#abandon_stack(stack) ⇒ Object
-
#build_info ⇒ Object
-
#cancel_update(stack) ⇒ Object
-
#create_stack(arg1, arg2 = nil) ⇒ Object
-
#delete_stack(arg1, arg2 = nil) ⇒ Excon::Response
-
#get_stack_template(stack) ⇒ Object
-
#initialize(options = {}) ⇒ Real
constructor
-
#list_events(options = {}) ⇒ Object
-
#list_resource_events(stack, resource, options = {}) ⇒ Object
-
#list_resource_types(_options = {}) ⇒ Object
-
#list_resources(options = {}, options_deprecated = {}) ⇒ Object
-
#list_stack_data(options = {}) ⇒ Object
-
#list_stack_data_detailed(options = {}) ⇒ Object
-
#list_stack_events(stack, options = {}) ⇒ Object
-
#patch_stack(stack, options = {}) ⇒ Object
-
#preview_stack(options = {}) ⇒ Object
-
#show_event_details(stack, resource, event_id) ⇒ Object
-
#show_resource_data(stack_name, stack_id, resource_name) ⇒ Object
-
#show_resource_metadata(stack, resource_name) ⇒ Object
-
#show_resource_schema(name) ⇒ Object
-
#show_resource_template(name) ⇒ Object
-
#show_stack_details(name, id) ⇒ Object
-
#update_stack(arg1, arg2 = nil, arg3 = nil) ⇒ Object
-
#validate_template(options = {}) ⇒ Object
#credentials, #initialize_identity, #reload
Constructor Details
#initialize(options = {}) ⇒ Real
Returns a new instance of Real.
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
# File 'lib/fog/orchestration/openstack.rb', line 138
def initialize(options = {})
initialize_identity options
@openstack_identity_service_type = options[:openstack_identity_service_type] || 'identity'
@openstack_service_type = options[:openstack_service_type] || ['orchestration']
@openstack_service_name = options[:openstack_service_name]
@connection_options = options[:connection_options] || {}
authenticate
@persistent = options[:persistent] || false
@connection = Fog::Core::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent, @connection_options)
end
|
Class Method Details
.not_found_class ⇒ Object
134
135
136
|
# File 'lib/fog/orchestration/openstack.rb', line 134
def self.not_found_class
Fog::Orchestration::OpenStack::NotFound
end
|
Instance Method Details
#abandon_stack(stack) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/orchestration/openstack/requests/abandon_stack.rb', line 5
def abandon_stack(stack)
request(
:expects => [200],
:method => 'DELETE',
:path => "stacks/#{stack.stack_name}/#{stack.id}/abandon"
)
end
|
#build_info ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/orchestration/openstack/requests/build_info.rb', line 5
def build_info
request(
:expects => [200],
:method => 'GET',
:path => 'build_info'
)
end
|
#cancel_update(stack) ⇒ Object
6
7
8
9
10
11
12
13
|
# File 'lib/fog/orchestration/openstack/requests/cancel_update.rb', line 6
def cancel_update(stack)
request(
:expects => 200,
:method => 'POST',
:path => "stacks/#{stack.stack_name}/#{stack.id}/actions",
:body => Fog::JSON.encode('cancel_update' => nil)
)
end
|
#create_stack(arg1, arg2 = nil) ⇒ Object
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
|
# File 'lib/fog/orchestration/openstack/requests/create_stack.rb', line 20
def create_stack(arg1, arg2 = nil)
if arg1.kind_of?(Hash)
options = arg1
else
Fog::Logger.deprecation("#create_stack(stack_name, options) is deprecated, use #create_stack(options) instead [light_black](#{caller.first})[/]")
options = {
:stack_name => arg1
}.merge(arg2.nil? ? {} : arg2)
end
file_resolver = Util::RecursiveHotFileLoader.new(options[:template] || options[:template_url], options[:files])
options[:template] = file_resolver.template
options[:files] = file_resolver.files unless file_resolver.files.empty?
request(
:expects => 201,
:path => 'stacks',
:method => 'POST',
:body => Fog::JSON.encode(options)
)
end
|
#delete_stack(arg1, arg2 = nil) ⇒ Excon::Response
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/fog/orchestration/openstack/requests/delete_stack.rb', line 13
def delete_stack(arg1, arg2 = nil)
if arg1.kind_of?(Stack)
stack = arg1
stack_name = stack.stack_name
stack_id = stack.id
else
Fog::Logger.deprecation("#delete_stack(stack_name, stack_id) is deprecated, use #delete_stack(stack) instead [light_black](#{caller.first})[/]")
stack_name = arg1
stack_id = arg2
end
request(
:expects => 204,
:path => "stacks/#{stack_name}/#{stack_id}",
:method => 'DELETE'
)
end
|
#get_stack_template(stack) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/orchestration/openstack/requests/get_stack_template.rb', line 5
def get_stack_template(stack)
request(
:method => 'GET',
:path => "stacks/#{stack.stack_name}/#{stack.id}/template",
:expects => 200
)
end
|
#list_events(options = {}) ⇒ Object
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
|
# File 'lib/fog/orchestration/openstack/requests/list_events.rb', line 5
def list_events(options = {})
if !options.key?(:stack) && !(options.key?(:stack_name) && options.key?(:stack_id))
raise(ArgumentError, "Missing required options keys: :stack or :stack_name and :stack_id, while calling "\
" .list_events(options)")
end
stack = options.delete(:stack)
stack_name = options.delete(:stack_name)
stack_name ||= stack.stack_name if stack && stack.respond_to?(:stack_name)
stack_id = options.delete(:stack_id)
stack_id ||= stack.id if stack && stack.respond_to?(:id)
resource = options.delete(:resource)
resource_name = options.delete(:resource_name)
resource_name ||= resource.resource_name if resource && resource.respond_to?(:resource_name)
path = if resource_name
"stacks/#{stack_name}/#{stack_id}/resources/#{resource_name}/events"
else
"stacks/#{stack_name}/#{stack_id}/events"
end
request(:method => 'GET',
:path => path,
:expects => 200,
:query => options)
end
|
#list_resource_events(stack, resource, options = {}) ⇒ Object
5
6
7
8
9
10
11
12
13
|
# File 'lib/fog/orchestration/openstack/requests/list_resource_events.rb', line 5
def list_resource_events(stack, resource, options = {})
Fog::Logger.deprecation('Calling OpenStack[:orchestration].list_resource_events(stack, resource, options)'\
' is deprecated, call .list_events(:stack => stack, :resource => resource) or '\
' .list_events(:stack_name => value, :stack_id => value, :resource_name => value)'\
' instead')
uri = "stacks/#{stack.stack_name}/#{stack.id}/resources/#{resource.resource_name}/events"
request(:method => 'GET', :path => uri, :expects => 200, :query => options)
end
|
#list_resource_types(_options = {}) ⇒ Object
5
6
7
8
9
10
11
12
|
# File 'lib/fog/orchestration/openstack/requests/list_resource_types.rb', line 5
def list_resource_types(_options = {})
request(
:method => 'GET',
:path => "resource_types",
:expects => 200,
:query => {}
)
end
|
#list_resources(options = {}, options_deprecated = {}) ⇒ Object
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
|
# File 'lib/fog/orchestration/openstack/requests/list_resources.rb', line 5
def list_resources(options = {}, options_deprecated = {})
if options.kind_of?(Hash)
if !options.key?(:stack) && !(options.key?(:stack_name) && options.key?(:stack_id))
raise(ArgumentError, "Missing required options keys: :stack or :stack_name and :stack_id, while calling "\
" .list_resources(options)")
end
stack = options.delete(:stack)
stack_name = options.delete(:stack_name)
stack_name ||= stack.stack_name if stack && stack.respond_to?(:stack_name)
stack_id = options.delete(:stack_id)
stack_id ||= stack.id if stack && stack.respond_to?(:id)
path = "stacks/#{stack_name}/#{stack_id}/resources"
params = options
else
Fog::Logger.deprecation('Calling OpenStack[:orchestration].list_resources(stack, options) is deprecated, '\
' call .list_resources(:stack => stack) or '\
' .list_resources(:stack_name => value, :stack_id => value) instead')
path = "stacks/#{options.stack_name}/#{options.id}/resources"
params = options_deprecated
end
request(:method => 'GET',
:path => path,
:expects => 200,
:query => params)
end
|
#list_stack_data(options = {}) ⇒ Object
5
6
7
8
9
10
11
12
|
# File 'lib/fog/orchestration/openstack/requests/list_stack_data.rb', line 5
def list_stack_data(options = {})
request(
:method => 'GET',
:path => 'stacks',
:expects => 200,
:query => options
)
end
|
#list_stack_data_detailed(options = {}) ⇒ Object
5
6
7
8
9
10
11
12
|
# File 'lib/fog/orchestration/openstack/requests/list_stack_data_detailed.rb', line 5
def list_stack_data_detailed(options = {})
request(
:method => 'GET',
:path => 'stacks/detail',
:expects => 200,
:query => options
)
end
|
#list_stack_events(stack, options = {}) ⇒ Object
5
6
7
8
9
10
11
12
|
# File 'lib/fog/orchestration/openstack/requests/list_stack_events.rb', line 5
def list_stack_events(stack, options = {})
Fog::Logger.deprecation('Calling OpenStack[:orchestration].list_stack_events(stack, options)'\
' is deprecated, call .list_events(:stack => stack) or '\
' .list_events(:stack_name => value, :stack_id => value) instead')
uri = "stacks/#{stack.stack_name}/#{stack.id}/events"
request(:method => 'GET', :path => uri, :expects => 200, :query => options)
end
|
#patch_stack(stack, options = {}) ⇒ Object
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/fog/orchestration/openstack/requests/patch_stack.rb', line 14
def patch_stack(stack, options = {})
stack_name = stack.stack_name
stack_id = stack.id
request(
:expects => 202,
:path => "stacks/#{stack_name}/#{stack_id}",
:method => 'PATCH',
:body => Fog::JSON.encode(options)
)
end
|
#preview_stack(options = {}) ⇒ Object
5
6
7
8
9
10
11
12
|
# File 'lib/fog/orchestration/openstack/requests/preview_stack.rb', line 5
def preview_stack(options = {})
request(
:body => Fog::JSON.encode(options),
:expects => [200],
:method => 'POST',
:path => 'stacks/preview'
)
end
|
#show_event_details(stack, resource, event_id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/orchestration/openstack/requests/show_event_details.rb', line 5
def show_event_details(stack, resource, event_id)
request(
:method => 'GET',
:path => "stacks/#{stack.stack_name}/#{stack.id}/resources/#{resource.resource_name}/events/#{event_id}",
:expects => 200
)
end
|
#show_resource_data(stack_name, stack_id, resource_name) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/orchestration/openstack/requests/show_resource_data.rb', line 5
def show_resource_data(stack_name, stack_id, resource_name)
request(
:method => 'GET',
:path => "stacks/#{stack_name}/#{stack_id}/resources/#{resource_name}",
:expects => 200
)
end
|
5
6
7
8
9
10
11
|
# File 'lib/fog/orchestration/openstack/requests/show_resource_metadata.rb', line 5
def show_resource_metadata(stack, resource_name)
request(
:method => 'GET',
:path => "stacks/#{stack.stack_name}/#{stack.id}/resources/#{resource_name}/metadata",
:expects => 200
)
end
|
#show_resource_schema(name) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/orchestration/openstack/requests/show_resource_schema.rb', line 5
def show_resource_schema(name)
request(
:method => 'GET',
:path => "resource_types/#{name}",
:expects => 200
)
end
|
#show_resource_template(name) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/orchestration/openstack/requests/show_resource_template.rb', line 5
def show_resource_template(name)
request(
:method => 'GET',
:path => "resource_types/#{name}/template",
:expects => 200
)
end
|
#show_stack_details(name, id) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/orchestration/openstack/requests/show_stack_details.rb', line 5
def show_stack_details(name, id)
request(
:method => 'GET',
:path => "stacks/#{name}/#{id}",
:expects => 200
)
end
|
#update_stack(arg1, arg2 = nil, arg3 = nil) ⇒ Object
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
|
# File 'lib/fog/orchestration/openstack/requests/update_stack.rb', line 15
def update_stack(arg1, arg2 = nil, arg3 = nil)
if arg1.kind_of?(Stack)
stack = arg1
stack_name = stack.stack_name
stack_id = stack.id
options = arg2.nil? ? {} : arg2
else
Fog::Logger.deprecation("#update_stack(stack_id, stack_name, options) is deprecated, use #update_stack(stack, options) instead [light_black](#{caller.first})[/]")
stack_id = arg1
stack_name = arg2
options = {
:stack_name => stack_name
}.merge(arg3.nil? ? {} : arg3)
end
file_resolver = Util::RecursiveHotFileLoader.new(options[:template] || options[:template_url], options[:files])
options[:template] = file_resolver.template
options[:files] = file_resolver.files unless file_resolver.files.empty?
request(
:expects => 202,
:path => "stacks/#{stack_name}/#{stack_id}",
:method => 'PUT',
:body => Fog::JSON.encode(options)
)
end
|
#validate_template(options = {}) ⇒ Object
5
6
7
8
9
10
11
12
|
# File 'lib/fog/orchestration/openstack/requests/validate_template.rb', line 5
def validate_template(options = {})
request(
:body => Fog::JSON.encode(options),
:expects => [200],
:method => 'POST',
:path => 'validate'
)
end
|