Class: UU::OperationRegistry::ResourceLease

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

Overview

Resource lease.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(session = nil) ⇒ ResourceLease

Creates a new instance of Resource lease.

Parameters:

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

    Session to use for remote calls.



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

def initialize(session = nil)
  super
end

Class Method Details

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

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

Parameters:

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

    Cloud URI.

  • attributes (Hash)

    Resource lease attributes.

Returns:

  • (UU::OS::UESURI)

    UESURI of the created resource lease.



# File 'lib/uu/operation_registry/resource_lease.rb', line 75

.delete(resource_lease_uri) ⇒ void

This method returns an undefined value.

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

Parameters:

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

    Resource lease URI.



# File 'lib/uu/operation_registry/resource_lease.rb', line 123

.get_attributes(resource_lease_uri) ⇒ Hash

Gets the attributes of the resource lease specified by the URI. This method is a convenience shortcut for the #get_attributes instance method.

Parameters:

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

    Resource lease URI.

Returns:

  • (Hash)

    Resource lease attributes.



# File 'lib/uu/operation_registry/resource_lease.rb', line 87

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

Returns list of resource leases. This method is a convenience shortcut for the #get_resource_lease_list instance method.

Returns:

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

    Paged result set.

See Also:



152
153
154
# File 'lib/uu/operation_registry/resource_lease.rb', line 152

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

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

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

Parameters:

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

    Resource lease URI.

Returns:

  • (UU::OS::UESURI)

    UESURI of the updated resource lease.



# File 'lib/uu/operation_registry/resource_lease.rb', line 112

Instance Method Details

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

Creates a new resource lease.

Examples:

Create ResourceLease type MSG_BUS

require "uu_operation_registry"

UU::OS::Security::Session.("or-authority")

uucloud_uri = "ues:OT-BT:PLUS4U_CLOUD"

# Lease 10 queuePairs from the group of message busses with the following
# labels: ["DEV"] (only message busses with the same labels as specified
# in constraints are included -- i.e. a message bus with labels ["DEV", "DEV116"]
# is not included)
UU::OperationRegistry::ResourceLease.create( 
  uucloud_uri,
  resourceType: 'MSG_BUS',
  resourcePoolUri: 'ues:DEV1234-BT:DEV',
  constraints: {labels: ["DEV"]},
  contractedCapacity: {queuePairs: 10}
)

Create ResourceLease type DATA_STORE

require "uu_operation_registry"

UU::OS::Security::Session.("or-authority")

uucloud_uri = "ues:OT-BT:PLUS4U_CLOUD"

UU::OperationRegistry::ResourceLease.create(
  uucloud_uri,
  resourceType: 'DATA_STORE',
  constraints: {vendor: "UU"},
  resourceUri: 'ues:OT-BT[99923616732452117]:SECRET[59d21aadf8458a30561dc888]'
)

Parameters:

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

    Cloud URI.

  • attributes (Hash)

    Resource lease attributes.

Options Hash (attributes):

  • name (String)

    Name of the resource lease. May be nil.

  • code (String)

    Code of the resource lease. May be nil.

  • resourceType (String)

    Type of leased resource. Supported resourceTypes: MSG_BUS, DATA_STORE.

  • resourcePoolUri (UU::OS::UESURI)

    URI of resource pool owning the lease. May be nil.

  • constraints (Hash)

    Resource lease constraints. May be nil.

    • Supported constraints attributes for resource type MSG_BUS: labels: (Array<String>)

    • Supported constraints attributes for resource type DATA_STORE: vendor: (String)

  • contractedCapacity (Hash)

    Contracted capacity of the resource lease. May be nil.

    • Supported contractedCapacity attributes for resource type MSG_BUS: queuePairs: (Fixnum)

    • Supported contractedCapacity attributes for resource type DATA_STORE: nil.

Returns:

  • (UU::OS::UESURI)

    UESURI of the created resource lease.



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

#delete(resource_lease_uri) ⇒ void

This method returns an undefined value.

Deletes the specified resource lease from the registry.

Parameters:

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

    Resource lease URI.



# File 'lib/uu/operation_registry/resource_lease.rb', line 118

#get_attributes(resource_lease_uri) ⇒ Hash

Gets the attributes of the resource lease specified by the URI.

Parameters:

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

    Resource lease URI.

Returns:

  • (Hash)

    Resource lease attributes.



# File 'lib/uu/operation_registry/resource_lease.rb', line 82

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

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

Parameters:

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

    Cloud URI.

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

    Criteria for listing leases.

Options Hash (criteria):

  • query (String)

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

    code, resourceType, resourcePoolUri, constraints, contractedCapacity, freeCapacity
  • pageIndex (Fixnum)

    Result set page index.

  • pageSize (Fixnum)

    Result set page size.

Returns:

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

    Paged result set.



143
144
145
# File 'lib/uu/operation_registry/resource_lease.rb', line 143

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

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

Sets attributes of a resource lease.

Parameters:

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

    Resource lease URI.

  • attributes (Hash)

    Resource lease attributes.

Options Hash (attributes):

  • name (String)

    Name of the resource lease. May be nil.

  • code (String)

    Code of the resource lease. May be nil.

  • resourcePoolUri (UU::OS::UESURI)

    URI of resource pool owning the lease. May be nil.

  • constraints (Hash)

    Resource lease constraints. May be nil. Supported constraints attributes for resource type MSG_BUS: labels: (Array<String>) Supported constraints attributes for resource type DATA_STORE: vendor: (String)

  • contractedCapacity (Hash)

    Contracted capacity of the resource lease. May be nil.

    • Supported contractedCapacity attributes for resource type MSG_BUS: queuePairs: (Fixnum)

    • Supported contractedCapacity attributes for resource type DATA_STORE: nil.

  • freeCapacity (Hash)

    Free capacity of the reasource lease. May be nil Hash format is identical to the format of contractedCapacity Hash.

Returns:

  • (UU::OS::UESURI)

    UESURI of the updated resource lease.



# File 'lib/uu/operation_registry/resource_lease.rb', line 94