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, #locate_config_value, #msg_pair, #pretty_key, #set_default_config, #validate!, #validate_params!

Constructor Details

#initialize(options = {}) ⇒ Service

Returns a new instance of Service.



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

def initialize(options = {})
  @auth_params = options[:auth_params]
end

Instance Attribute Details

#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



80
81
82
# File 'lib/chef/knife/cloud/service.rb', line 80

def add_custom_attributes(server_def)
  Chef::Config[:knife][:custom_attributes].map { |args| args.map { |k, v| server_def.merge!(k.to_sym => v) } } unless Chef::Config[:knife][:custom_attributes].nil?
end

#connectionObject

Raises:

  • (Chef::Exceptions::Override)


33
34
35
36
# File 'lib/chef/knife/cloud/service.rb', line 33

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)


52
53
54
# File 'lib/chef/knife/cloud/service.rb', line 52

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



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

def create_server_dependencies; end

#delete_server(server_name) ⇒ Object

Raises:

  • (Chef::Exceptions::Override)


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

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



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

def delete_server_dependencies; end

#delete_server_on_failure(server = nil) ⇒ Object

Raises:

  • (Chef::Exceptions::Override)


47
48
49
# File 'lib/chef/knife/cloud/service.rb', line 47

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)


72
73
74
# File 'lib/chef/knife/cloud/service.rb', line 72

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)


64
65
66
# File 'lib/chef/knife/cloud/service.rb', line 64

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



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

def list_resource_allocations; end

#list_resource_configurationsObject

Raises:

  • (Chef::Exceptions::Override)


68
69
70
# File 'lib/chef/knife/cloud/service.rb', line 68

def list_resource_configurations
  raise Chef::Exceptions::Override, "You must override list_resource_configurations in #{self}"
end

#list_serversObject

Raises:

  • (Chef::Exceptions::Override)


60
61
62
# File 'lib/chef/knife/cloud/service.rb', line 60

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)


76
77
78
# File 'lib/chef/knife/cloud/service.rb', line 76

def server_summary(server, columns_with_info = [])
  raise Chef::Exceptions::Override, "You must override server_summary in #{self}"
end