Class: Morpheus::APIClient

Inherits:
Object
  • Object
show all
Defined in:
lib/morpheus/api/api_client.rb

Instance Method Summary collapse

Constructor Details

#initialize(access_token, refresh_token = nil, expires_in = nil, base_url = nil) ⇒ APIClient

Returns a new instance of APIClient.



6
7
8
9
10
11
12
13
# File 'lib/morpheus/api/api_client.rb', line 6

def initialize(access_token, refresh_token=nil,expires_in = nil, base_url=nil) 
  @access_token = access_token
  @refresh_token = refresh_token
  @base_url = base_url
  if expires_in != nil
    @expires_at = DateTime.now + expires_in.seconds
  end
end

Instance Method Details

#accountsObject



115
116
117
# File 'lib/morpheus/api/api_client.rb', line 115

def accounts
  Morpheus::AccountsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#app_templatesObject



95
96
97
# File 'lib/morpheus/api/api_client.rb', line 95

def app_templates
  Morpheus::AppTemplatesInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#appsObject



91
92
93
# File 'lib/morpheus/api/api_client.rb', line 91

def apps
  Morpheus::AppsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#authObject



39
40
41
# File 'lib/morpheus/api/api_client.rb', line 39

def auth
  Morpheus::AuthInterface.new(@base_url, @access_token)
end

#cloudsObject



55
56
57
# File 'lib/morpheus/api/api_client.rb', line 55

def clouds
  Morpheus::CloudsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#custom_instance_typesObject



139
140
141
# File 'lib/morpheus/api/api_client.rb', line 139

def custom_instance_types
  Morpheus::CustomInstanceTypesInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#dashboardObject



143
144
145
# File 'lib/morpheus/api/api_client.rb', line 143

def dashboard
  Morpheus::DashboardInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#deployObject



99
100
101
# File 'lib/morpheus/api/api_client.rb', line 99

def deploy
  Morpheus::DeployInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#deploymentsObject



103
104
105
# File 'lib/morpheus/api/api_client.rb', line 103

def deployments
  Morpheus::DeploymentsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#dryObject



20
21
22
# File 'lib/morpheus/api/api_client.rb', line 20

def dry()
  dry_run(true)
end

#dry_run(val = true) ⇒ Object



15
16
17
18
# File 'lib/morpheus/api/api_client.rb', line 15

def dry_run(val=true)
  @dry_run = !!val
  self
end

#execute(opts, parse_json = true) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/morpheus/api/api_client.rb', line 24

def execute(opts, parse_json=true)
  if @dry_run
    # JD: could return a Request object instead...
    return opts
  end
  # puts "#{Term::ANSIColor.dark} #=> Morpheus::RestClient.execute(#{opts})#{Term::ANSIColor.reset}" if Morpheus::Logging.debug?
  # instead, using ::RestClient.log = STDOUT 
  response = Morpheus::RestClient.execute(opts)
  if parse_json
    return JSON.parse(response.to_s)
  else
    return response
  end
end

#groupsObject



51
52
53
# File 'lib/morpheus/api/api_client.rb', line 51

def groups
  Morpheus::GroupsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#instance_typesObject



67
68
69
# File 'lib/morpheus/api/api_client.rb', line 67

def instance_types
  Morpheus::InstanceTypesInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#instancesObject



63
64
65
# File 'lib/morpheus/api/api_client.rb', line 63

def instances
  Morpheus::InstancesInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#key_pairsObject



131
132
133
# File 'lib/morpheus/api/api_client.rb', line 131

def key_pairs
  Morpheus::KeyPairsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#licenseObject



135
136
137
# File 'lib/morpheus/api/api_client.rb', line 135

def license
  Morpheus::LicenseInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#load_balancersObject



75
76
77
# File 'lib/morpheus/api/api_client.rb', line 75

def load_balancers
  Morpheus::LoadBalancersInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#logsObject



123
124
125
# File 'lib/morpheus/api/api_client.rb', line 123

def logs
  Morpheus::LogsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#optionsObject



47
48
49
# File 'lib/morpheus/api/api_client.rb', line 47

def options
  Morpheus::OptionsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#provision_typesObject



71
72
73
# File 'lib/morpheus/api/api_client.rb', line 71

def provision_types
  Morpheus::ProvisionTypesInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#rolesObject



127
128
129
# File 'lib/morpheus/api/api_client.rb', line 127

def roles
  Morpheus::RolesInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#security_group_rulesObject



111
112
113
# File 'lib/morpheus/api/api_client.rb', line 111

def security_group_rules
  Morpheus::SecurityGroupRulesInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#security_groupsObject



107
108
109
# File 'lib/morpheus/api/api_client.rb', line 107

def security_groups
  Morpheus::SecurityGroupsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#serversObject



59
60
61
# File 'lib/morpheus/api/api_client.rb', line 59

def servers
  Morpheus::ServersInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#setupObject



147
148
149
# File 'lib/morpheus/api/api_client.rb', line 147

def setup
  Morpheus::SetupInterface.new(@base_url)
end

#task_setsObject



83
84
85
# File 'lib/morpheus/api/api_client.rb', line 83

def task_sets
  Morpheus::TaskSetsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#tasksObject



79
80
81
# File 'lib/morpheus/api/api_client.rb', line 79

def tasks
  Morpheus::TasksInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#usersObject



119
120
121
# File 'lib/morpheus/api/api_client.rb', line 119

def users
  Morpheus::UsersInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#virtual_imagesObject



87
88
89
# File 'lib/morpheus/api/api_client.rb', line 87

def virtual_images
  Morpheus::VirtualImagesInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end

#whoamiObject



43
44
45
# File 'lib/morpheus/api/api_client.rb', line 43

def whoami
  Morpheus::WhoamiInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
end