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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/fog/orchestration/openstack/requests/create_stack.rb', line 19
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
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
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/fog/orchestration/openstack/requests/update_stack.rb', line 14
def update_stack(arg1, arg2 = nil, arg3 = nil)
if arg1.kind_of?(Stack)
stack = arg1
stack_name = stack.stack_name
stack_id = stack.id
params = 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
params = {
:stack_name => stack_name
}.merge(arg3.nil? ? {} : arg3)
end
request(
:expects => 202,
:path => "stacks/#{stack_name}/#{stack_id}",
:method => 'PUT',
:body => Fog::JSON.encode(params)
)
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
|