Class: UU::OperationRegistry::Region

Inherits:
BaseMethods
  • Object
show all
Defined in:
lib/uu/operation_registry/region.rb

Overview

Region.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(session = nil) ⇒ Region

Creates a new instance of Region.

Parameters:

  • session (UU::OS::Security::Session) (defaults to: nil)

    Session to use for remote calls.



18
19
20
# File 'lib/uu/operation_registry/region.rb', line 18

def initialize(session = nil)
  super
end

Class Method Details

.create(cloud_uri, attributes) ⇒ UU::OS::UESURI

Creates a new region. This method is a convenience shortcut for the #create instance method.

Parameters:

  • cloud_uri (String, UU::OS::UESURI)

    Cloud URI.

  • attributes (Hash)

    Region attributes.

Returns:

  • (UU::OS::UESURI)

    UESURI of the created region.



# File 'lib/uu/operation_registry/region.rb', line 95

.delete(region_uri) ⇒ void

This method returns an undefined value.

Deletes the specified region from the registry. This method is a convenience shortcut for the #delete instance method.

Parameters:

  • region_uri (String, UU::OS::UESURI)

    Region URI.



# File 'lib/uu/operation_registry/region.rb', line 189

.get_attributes(region_uri) ⇒ Hash

Gets the attributes of the region specified by region URI and returns its detail. This method is a convenience shortcut for the #get_attributes instance method.

Parameters:

  • region_uri (String, UU::OS::UESURI)

    Region URI.

Returns:

  • (Hash)

    Region attributes.



# File 'lib/uu/operation_registry/region.rb', line 108

.get_region_list(cloud_uri, criteria = {}) ⇒ UU::OS::Persistence::PagedResult<Hash>

Returns list of regions. This method is a convenience shortcut for the #get_region_list instance method.

Returns:

  • (UU::OS::Persistence::PagedResult<Hash>)

    Paged result set.

See Also:



217
218
219
# File 'lib/uu/operation_registry/region.rb', line 217

def self.get_region_list(cloud_uri, criteria = {})
  self.new(UU::OS::Security::Session.current_session).get_region_list(cloud_uri, criteria)
end

.set_attributes(region_uri, attributes) ⇒ UU::OS::UESURI

Sets attributes of a region. This method is a convenience shortcut for the #set_attributes instance method.

Parameters:

  • region_uri (String, UU::OS::UESURI)

    Region URI.

Returns:

  • (UU::OS::UESURI)

    UESURI of the updated region.



# File 'lib/uu/operation_registry/region.rb', line 178

Instance Method Details

#create(cloud_uri, attributes) ⇒ UU::OS::UESURI

Creates a new region.

Examples:

Create Region with the specified resources

require 'uu_operation_registry'

UU::OS::Security::Session.('...')

graylog_stream_url = '...'
graylog_stream_id = '...'
region_name = '...'
region_code = '...'

UU::OperationRegistry::Region.create(
  'ues:CLOUD:URI',
  :name => region_name,
  :code => region_code,
  :resources => {
    :graylogSearchUrl => graylog_stream_url,
    :graylogStreamId => graylog_stream_id
  }
)

Create Region with the specified env JSON

require 'uu_operation_registry'
require 'json'

UU::OS::Security::Session.('...')

region_name = '...'
region_code = '...'
env = {
  "uuClientProperties" => {
    "uu.server-url" => "https://api.plus4u.net",
    "uu.c3.base_url" => "https://sys.plus4u.net",
    "uu.c3.append_routing_data" => "false",
    "uu.operation.registry.base_url" => "https://sys.plus4u.net",
    "uu.operation.registry.append_routing_data" => "false"
  },
  "gemrc" => {
    ":backtrace" => "false",
    ":benchmark" => "false",
    ":bulk_threshold" => "100",
    ":sources" => [
      "http://rubygems.org",
      "http://gems.plus4u.net"
    ],
    ":update_sources" => "true",
    ":verbose" => "false",
    "gem" => "--env-shebang --no-doc --no-ri --no-document"
  }
}

UU::OperationRegistry::Region.create(
  'ues:CLOUD:URI',
  :name => region_name,
  :code => region_code,
  :env => env.to_json
)

Parameters:

  • cloud_uri (String, UU::OS::UESURI)

    Cloud URI.

  • attributes (Hash)

    Region attributes.

Options Hash (attributes):

  • name (String)

    Region name. May be nil.

  • code (String)

    Region code. May be nil.

  • description (String)

    Region description. May be nil.

  • resources (Hash)

    Resources associated with Region (e.g. Graylog configuration for uuLogstore). May be nil.

  • env (String)

    Env configuration JSON. Contains configuration (gemrc, uu-client.properties) for nodes deployed in the context of the Region. May be nil.

Returns:

  • (UU::OS::UESURI)

    UESURI of the created region.



# File 'lib/uu/operation_registry/region.rb', line 22

#delete(region_uri) ⇒ void

This method returns an undefined value.

Deletes the specified region from the registry.

Parameters:

  • region_uri (String, UU::OS::UESURI)

    Region URI.



# File 'lib/uu/operation_registry/region.rb', line 184

#get_attributes(region_uri) ⇒ Hash

Gets the attributes of the region specified by region URI and returns its detail.

Parameters:

  • region_uri (String, UU::OS::UESURI)

    Region URI.

Returns:

  • (Hash)

    Region attributes.



# File 'lib/uu/operation_registry/region.rb', line 102

#get_region_list(cloud_uri, criteria = {}) ⇒ UU::OS::Persistence::PagedResult<Hash>

Returns a list of regions in the given cloud. Command does not return all regions, only a sublist. The list of returned regions could be filtered using Mongo Query.

Parameters:

  • cloud_uri (String, UU::OS::UESURI)

    Cloud URI.

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

    Criteria for listing regions.

Options Hash (criteria):

  • query (String)

    Mongo Query to filter the result set. See Mongo Query tutorial. Allowed query filter document fields: code, cloudUri

  • pageIndex (Fixnum)

    Result set page index.

  • pageSize (Fixnum)

    Result set page size.

Returns:

  • (UU::OS::Persistence::PagedResult<Hash>)

    Paged result set.



208
209
210
# File 'lib/uu/operation_registry/region.rb', line 208

def get_region_list(cloud_uri, criteria = {})
  @client.invoke(:getRegionList, cloud_uri, parameters: criteria)
end

#set_attributes(region_uri, attributes) ⇒ UU::OS::UESURI

Sets attributes of a region.

Examples:

Set Graylog configuration

require 'uu_operation_registry'

UU::OS::Security::Session.('...')

graylog_stream_url = '...'
graylog_stream_id = '...'
UU::OperationRegistry::Region.set_attributes(
  'ues:REGION:URI',
  :resources => {
    :graylogSearchUrl => graylog_stream_url,
    :graylogStreamId => graylog_stream_id
  }
)

Set env JSON

require 'uu_operation_registry'
require 'json'

UU::OS::Security::Session.('')

env = {
  "uuClientProperties" => {
    "uu.server-url" => "https://api.plus4u.net",
    "uu.c3.base_url" => "https://sys.plus4u.net",
    "uu.c3.append_routing_data" => "false",
    "uu.operation.registry.base_url" => "https://sys.plus4u.net",
    "uu.operation.registry.append_routing_data" => "false"
  },
  "gemrc" => {
    ":backtrace" => "false",
    ":benchmark" => "false",
    ":bulk_trashold" => "100",
    ":sources" => [
      "http://rubygems.org",
      "http://gems.plus4u.net"
    ],
    ":update_sources" => "true",
    ":verbose" => "false",
    "gem" => "--env-shebang --no-doc --no-ri --no-document"
  }
}

UU::OperationRegistry::Region.set_attributes(
  'ues:REGION:URI',
  :env => env.to_json
)

Parameters:

  • region_uri (String, UU::OS::UESURI)

    Region URI.

  • attributes (Hash)

    Region attributes.

Options Hash (attributes):

  • name (String)

    Region name. May be nil.

  • code (String)

    Region code. May be nil.

  • description (String)

    Region description. May be nil.

  • resources (Hash)

    Resources associated with Region (e.g. Graylog configuration for uuLogstore). May be nil.

  • env (String)

    Env configuration JSON. Containes configuration (gemrc, uu-client.properties) for nodes deployed in the context of the Region. May be nil.

Returns:

  • (UU::OS::UESURI)

    UESURI of the updated region.



# File 'lib/uu/operation_registry/region.rb', line 115