Class: Latitude::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/latitude/api/client.rb

Defined Under Namespace

Classes: ResourceFacade

Constant Summary collapse

RESOURCE_ACCESSORS =
{
  servers:              "Latitude::API::Resources::Server",
  regions:              "Latitude::API::Resources::Region",
  roles:                "Latitude::API::Resources::Role",
  events:               "Latitude::API::Resources::Event",
  ips:                  "Latitude::API::Resources::IP",
  plans:                "Latitude::API::Resources::Plan",
  billing_usage:        "Latitude::API::Resources::BillingUsage",
  traffic:              "Latitude::API::Resources::Traffic",
  user_profile:         "Latitude::API::Resources::UserProfile",
  user_teams:           "Latitude::API::Resources::UserTeam",
  projects:             "Latitude::API::Resources::Project",
  ssh_keys:             "Latitude::API::Resources::SSHKey",
  user_data:            "Latitude::API::Resources::UserData",
  tags:                 "Latitude::API::Resources::Tag",
  team:                 "Latitude::API::Resources::Team",
  api_keys:             "Latitude::API::Resources::APIKey",
  elastic_ips:          "Latitude::API::Resources::ElasticIP",
  virtual_networks:     "Latitude::API::Resources::VirtualNetwork",
  firewalls:            "Latitude::API::Resources::Firewall",
  vpn_sessions:         "Latitude::API::Resources::VPNSession",
  storage_filesystems:  "Latitude::API::Resources::Storage::Filesystem",
  storage_volumes:      "Latitude::API::Resources::Storage::Volume",
  storage_objects:      "Latitude::API::Resources::Storage::Object",
  virtual_machines:     "Latitude::API::Resources::VirtualMachine",
  kubernetes_clusters:  "Latitude::API::Resources::KubernetesCluster",
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**overrides) ⇒ Client

Returns a new instance of Client.



35
36
37
38
# File 'lib/latitude/api/client.rb', line 35

def initialize(**overrides)
  @config = Latitude.config.dup_with(**overrides)
  @accessors = {}
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



33
34
35
# File 'lib/latitude/api/client.rb', line 33

def config
  @config
end

Instance Method Details

#configure {|@config| ... } ⇒ Object

Yields:



40
41
42
43
# File 'lib/latitude/api/client.rb', line 40

def configure
  yield @config
  @config
end

#with_config(&blk) ⇒ Object



45
46
47
# File 'lib/latitude/api/client.rb', line 45

def with_config(&blk)
  Latitude::API::APIResource.with_config(@config, &blk)
end