Class: Chef::Knife::Cloud::Service
- Inherits:
-
Object
- Object
- Chef::Knife::Cloud::Service
- Includes:
- Helpers
- Defined in:
- lib/chef/knife/cloud/service.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#auth_params ⇒ Object
readonly
Returns the value of attribute auth_params.
-
#config ⇒ Object
Returns the value of attribute config.
-
#ui ⇒ Object
Returns the value of attribute ui.
Instance Method Summary collapse
- #add_custom_attributes(server_def) ⇒ Object
- #connection ⇒ Object
-
#create_server(options = {}) ⇒ Object
cloud server specific implementation methods for commands.
-
#create_server_dependencies ⇒ Object
Do nothing or override in cloud specific derived classes for pre-vm-creation setup steps.
- #delete_server(server_name) ⇒ Object
-
#delete_server_dependencies ⇒ Object
Do nothing or override in cloud specific derived classes for pre-vm-creation setup steps.
- #delete_server_on_failure(server = nil) ⇒ Object
- #get_server(server_name) ⇒ Object
-
#initialize(config:, auth_params: nil) ⇒ Service
constructor
A new instance of Service.
- #list_images(image_filters) ⇒ Object
-
#list_resource_allocations ⇒ Object
override in cloud specific derived classes.
- #list_resource_configurations ⇒ Object
- #list_servers ⇒ Object
- #server_summary(server, columns_with_info = []) ⇒ Object
Methods included from Helpers
#after_exec_command, #before_exec_command, #create_service_instance, #execute_command, #msg_pair, #pretty_key, #set_default_config, #validate!, #validate_params!
Constructor Details
#initialize(config:, auth_params: nil) ⇒ Service
Returns a new instance of Service.
31 32 33 34 |
# File 'lib/chef/knife/cloud/service.rb', line 31 def initialize(config:, auth_params: nil) @config = config @auth_params = auth_params end |
Instance Attribute Details
#auth_params ⇒ Object (readonly)
Returns the value of attribute auth_params.
29 30 31 |
# File 'lib/chef/knife/cloud/service.rb', line 29 def auth_params @auth_params end |
#config ⇒ Object
Returns the value of attribute config.
28 29 30 |
# File 'lib/chef/knife/cloud/service.rb', line 28 def config @config end |
#ui ⇒ Object
Returns the value of attribute ui.
27 28 29 |
# File 'lib/chef/knife/cloud/service.rb', line 27 def ui @ui end |
Instance Method Details
#add_custom_attributes(server_def) ⇒ Object
83 84 85 |
# File 'lib/chef/knife/cloud/service.rb', line 83 def add_custom_attributes(server_def) config[:custom_attributes].map { |args| args.map { |k, v| server_def.merge!(k.to_sym => v) } } unless config[:custom_attributes].nil? end |
#connection ⇒ Object
36 37 38 39 |
# File 'lib/chef/knife/cloud/service.rb', line 36 def connection # Fog or cloud specific connection object must be created in derived. raise Chef::Exceptions::Override, "You must override connection in #{self}" end |
#create_server(options = {}) ⇒ Object
cloud server specific implementation methods for commands.
55 56 57 |
# File 'lib/chef/knife/cloud/service.rb', line 55 def create_server( = {}) raise Chef::Exceptions::Override, "You must override create_server in #{self}" end |
#create_server_dependencies ⇒ Object
Do nothing or override in cloud specific derived classes for pre-vm-creation setup steps
45 |
# File 'lib/chef/knife/cloud/service.rb', line 45 def create_server_dependencies; end |
#delete_server(server_name) ⇒ Object
59 60 61 |
# File 'lib/chef/knife/cloud/service.rb', line 59 def delete_server(server_name) raise Chef::Exceptions::Override, "You must override delete_server in #{self}" end |
#delete_server_dependencies ⇒ Object
Do nothing or override in cloud specific derived classes for pre-vm-creation setup steps
48 |
# File 'lib/chef/knife/cloud/service.rb', line 48 def delete_server_dependencies; end |
#delete_server_on_failure(server = nil) ⇒ Object
50 51 52 |
# File 'lib/chef/knife/cloud/service.rb', line 50 def delete_server_on_failure(server = nil) raise Chef::Exceptions::Override, "You must override delete_server_on_failure in #{self} to delete server" end |
#get_server(server_name) ⇒ Object
75 76 77 |
# File 'lib/chef/knife/cloud/service.rb', line 75 def get_server(server_name) raise Chef::Exceptions::Override, "You must override get_server in #{self}" end |
#list_images(image_filters) ⇒ Object
67 68 69 |
# File 'lib/chef/knife/cloud/service.rb', line 67 def list_images(image_filters) raise Chef::Exceptions::Override, "You must override list_images in #{self}" end |
#list_resource_allocations ⇒ Object
override in cloud specific derived classes
42 |
# File 'lib/chef/knife/cloud/service.rb', line 42 def list_resource_allocations; end |
#list_resource_configurations ⇒ Object
71 72 73 |
# File 'lib/chef/knife/cloud/service.rb', line 71 def list_resource_configurations raise Chef::Exceptions::Override, "You must override list_resource_configurations in #{self}" end |
#list_servers ⇒ Object
63 64 65 |
# File 'lib/chef/knife/cloud/service.rb', line 63 def list_servers raise Chef::Exceptions::Override, "You must override list_servers in #{self}" end |
#server_summary(server, columns_with_info = []) ⇒ Object
79 80 81 |
# File 'lib/chef/knife/cloud/service.rb', line 79 def server_summary(server, columns_with_info = []) raise Chef::Exceptions::Override, "You must override server_summary in #{self}" end |