Class: Miasma::Models::Orchestration

Inherits:
Types::Api show all
Defined in:
lib/miasma/models/orchestration.rb,
lib/miasma/contrib/aws/orchestration.rb,
lib/miasma/models/orchestration/event.rb,
lib/miasma/models/orchestration/stack.rb,
lib/miasma/models/orchestration/events.rb,
lib/miasma/models/orchestration/stacks.rb,
lib/miasma/models/orchestration/resource.rb,
lib/miasma/models/orchestration/resources.rb,
lib/miasma/contrib/rackspace/orchestration.rb,
lib/miasma/contrib/open_stack/orchestration.rb

Overview

Abstract orchestration API

Direct Known Subclasses

Aws, OpenStack

Defined Under Namespace

Classes: Aws, OpenStack, Rackspace, Stack, Stacks

Constant Summary collapse

RESOURCE_MAPPING =

Returns mapping of remote type to internal type.

Returns:

  • (Smash)

    mapping of remote type to internal type

Smash.new
VALID_RESOURCE_STATES =

Returns valid resource states.

Returns:

  • (Array<Symbol>)

    valid resource states

[:create_complete, :create_in_progress, :create_failed,
  :delete_complete, :delete_in_progress, :delete_failed,
  :rollback_complete, :rollback_in_progress, :rollback_failed,
  :update_complete, :update_in_progress, :update_failed,
  :update_rollback_complete, :update_rollback_in_progress, :update_rollback_failed
]

Instance Method Summary collapse

Methods inherited from Types::Api

#api_for, #connect, #connection, #endpoint, #format_response, #initialize, #make_request, #provider, #request

Methods included from Utils::Memoization

#_memo, #clear_memoizations!, #memoize, #unmemoize

Methods included from Utils::Lazy

included

Constructor Details

This class inherits a constructor from Miasma::Types::Api

Instance Method Details

#event_all(stack) ⇒ Array<Models::Orchestration::Stack::Event>

Return all events for stack

Parameters:

Returns:

Raises:

  • (NotImplementedError)


105
106
107
# File 'lib/miasma/models/orchestration.rb', line 105

def event_all(stack)
  raise NotImplementedError
end

#event_all_new(events) ⇒ Array<Models::Orchestration::Stack::Event>

Return all new events for event collection

Parameters:

Returns:

Raises:

  • (NotImplementedError)


113
114
115
# File 'lib/miasma/models/orchestration.rb', line 113

def event_all_new(events)
  raise NotImplementedError
end

#event_reload(event) ⇒ Models::Orchestration::Event

Reload the stack event data from the API

Parameters:

Returns:

  • (Models::Orchestration::Event)

Raises:

  • (NotImplementedError)


121
122
123
# File 'lib/miasma/models/orchestration.rb', line 121

def event_reload(event)
  raise NotImplementedError
end

#resource_all(stack) ⇒ Array<Models::Orchestration::Stack::Resource>

Return all resources for stack

Parameters:

Returns:

Raises:

  • (NotImplementedError)


89
90
91
# File 'lib/miasma/models/orchestration.rb', line 89

def resource_all(stack)
  raise NotImplementedError
end

#resource_reload(resource) ⇒ Models::Orchestration::Resource

Reload the stack resource data from the API

Parameters:

Returns:

  • (Models::Orchestration::Resource)

Raises:

  • (NotImplementedError)


97
98
99
# File 'lib/miasma/models/orchestration.rb', line 97

def resource_reload(resource)
  raise NotImplementedError
end

#stack_all(options = {}) ⇒ Array<Models::Orchestration::Stack>

Return all stacks

Parameters:

  • options (Hash) (defaults to: {})

    filter

Returns:

Raises:

  • (NotImplementedError)


65
66
67
# File 'lib/miasma/models/orchestration.rb', line 65

def stack_all(options={})
  raise NotImplementedError
end

#stack_destroy(stack) ⇒ TrueClass, FalseClass

Delete the stack

Parameters:

Returns:

  • (TrueClass, FalseClass)

Raises:

  • (NotImplementedError)


57
58
59
# File 'lib/miasma/models/orchestration.rb', line 57

def stack_destroy(stack)
  raise NotImplementedError
end

#stack_reload(stack) ⇒ Models::Orchestration::Stack

Reload the stack data from the API

Parameters:

Returns:

Raises:

  • (NotImplementedError)


49
50
51
# File 'lib/miasma/models/orchestration.rb', line 49

def stack_reload(stack)
  raise NotImplementedError
end

#stack_save(stack) ⇒ Models::Orchestration::Stack

Save the stack

Parameters:

Returns:

Raises:

  • (NotImplementedError)


41
42
43
# File 'lib/miasma/models/orchestration.rb', line 41

def stack_save(stack)
  raise NotImplementedError
end

#stack_template_load(stack) ⇒ Smash

Fetch stack template

Parameters:

Returns:

  • (Smash)

    stack template

Raises:

  • (NotImplementedError)


73
74
75
# File 'lib/miasma/models/orchestration.rb', line 73

def stack_template_load(stack)
  raise NotImplementedError
end

#stack_template_validate(stack) ⇒ NilClass, String

Validate stack template

Parameters:

Returns:

  • (NilClass, String)

    nil if valid, string error message if invalid

Raises:

  • (NotImplementedError)


81
82
83
# File 'lib/miasma/models/orchestration.rb', line 81

def stack_template_validate(stack)
  raise NotImplementedError
end

#stacks(args = {}) ⇒ Types::Collection<Models::Orchestration::Stack>

Orchestration stacks

Parameters:

  • filter (Hash)

    filtering options

Returns:



31
32
33
34
35
# File 'lib/miasma/models/orchestration.rb', line 31

def stacks(args={})
  memoize(:stacks) do
    Stacks.new(self)
  end
end