Class: Chef::Knife::Cloud::Service

Inherits:
Object
  • Object
show all
Includes:
Helpers
Defined in:
lib/chef/knife/cloud/service.rb

Direct Known Subclasses

FogService

Instance Attribute Summary collapse

Instance Method Summary collapse

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_paramsObject (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

#configObject

Returns the value of attribute config.



28
29
30
# File 'lib/chef/knife/cloud/service.rb', line 28

def config
  @config
end

#uiObject

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

#connectionObject

Raises:

  • (Chef::Exceptions::Override)


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.

Raises:

  • (Chef::Exceptions::Override)


55
56
57
# File 'lib/chef/knife/cloud/service.rb', line 55

def create_server(options = {})
  raise Chef::Exceptions::Override, "You must override create_server in #{self}"
end

#create_server_dependenciesObject

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

Raises:

  • (Chef::Exceptions::Override)


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_dependenciesObject

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

Raises:

  • (Chef::Exceptions::Override)


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

Raises:

  • (Chef::Exceptions::Override)


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

Raises:

  • (Chef::Exceptions::Override)


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_allocationsObject

override in cloud specific derived classes



42
# File 'lib/chef/knife/cloud/service.rb', line 42

def list_resource_allocations; end

#list_resource_configurationsObject

Raises:

  • (Chef::Exceptions::Override)


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_serversObject

Raises:

  • (Chef::Exceptions::Override)


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

Raises:

  • (Chef::Exceptions::Override)


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