ibm-cloud-sdk 0.1.3 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/Gemfile +2 -0
  4. data/ibm-cloud-sdk.gemspec +1 -0
  5. data/lib/ibm/cloud/sdk.rb +3 -0
  6. data/lib/ibm/cloud/sdk/logging.rb +21 -0
  7. data/lib/ibm/cloud/sdk/null_logger.rb +19 -0
  8. data/lib/ibm/cloud/sdk/power_iaas.rb +133 -10
  9. data/lib/ibm/cloud/sdk/resource_controller.rb +2 -8
  10. data/lib/ibm/cloud/sdk/version.rb +1 -1
  11. data/lib/ibm/cloud/sdk/vpc.rb +133 -0
  12. data/lib/ibm/cloud/sdk/vpc/base_collection.rb +107 -0
  13. data/lib/ibm/cloud/sdk/vpc/base_instance.rb +23 -0
  14. data/lib/ibm/cloud/sdk/vpc/base_mixins/has_child.rb +27 -0
  15. data/lib/ibm/cloud/sdk/vpc/base_vpc.rb +61 -0
  16. data/lib/ibm/cloud/sdk/vpc/cloud_sdk.rb +33 -0
  17. data/lib/ibm/cloud/sdk/vpc/exceptions.rb +33 -0
  18. data/lib/ibm/cloud/sdk/vpc/floatingips.rb +20 -0
  19. data/lib/ibm/cloud/sdk/vpc/flowlogcollectors.rb +20 -0
  20. data/lib/ibm/cloud/sdk/vpc/helpers/connection.rb +96 -0
  21. data/lib/ibm/cloud/sdk/vpc/helpers/response.rb +134 -0
  22. data/lib/ibm/cloud/sdk/vpc/ike_policies.rb +24 -0
  23. data/lib/ibm/cloud/sdk/vpc/images.rb +21 -0
  24. data/lib/ibm/cloud/sdk/vpc/instance/actions.rb +19 -0
  25. data/lib/ibm/cloud/sdk/vpc/instance/floating_ips.rb +23 -0
  26. data/lib/ibm/cloud/sdk/vpc/instance/network_interfaces.rb +28 -0
  27. data/lib/ibm/cloud/sdk/vpc/instance/volume_attachments.rb +23 -0
  28. data/lib/ibm/cloud/sdk/vpc/instance_profiles.rb +21 -0
  29. data/lib/ibm/cloud/sdk/vpc/instances.rb +60 -0
  30. data/lib/ibm/cloud/sdk/vpc/ipsec_policies.rb +24 -0
  31. data/lib/ibm/cloud/sdk/vpc/keys.rb +43 -0
  32. data/lib/ibm/cloud/sdk/vpc/load_balancer.rb +23 -0
  33. data/lib/ibm/cloud/sdk/vpc/load_balancer/listeners.rb +30 -0
  34. data/lib/ibm/cloud/sdk/vpc/load_balancer/members.rb +23 -0
  35. data/lib/ibm/cloud/sdk/vpc/load_balancer/policies.rb +30 -0
  36. data/lib/ibm/cloud/sdk/vpc/load_balancer/pools.rb +28 -0
  37. data/lib/ibm/cloud/sdk/vpc/load_balancer/rules.rb +25 -0
  38. data/lib/ibm/cloud/sdk/vpc/load_balancers.rb +19 -0
  39. data/lib/ibm/cloud/sdk/vpc/network_acls.rb +39 -0
  40. data/lib/ibm/cloud/sdk/vpc/operating_systems.rb +21 -0
  41. data/lib/ibm/cloud/sdk/vpc/public_gateways.rb +21 -0
  42. data/lib/ibm/cloud/sdk/vpc/regions.rb +35 -0
  43. data/lib/ibm/cloud/sdk/vpc/security_groups.rb +48 -0
  44. data/lib/ibm/cloud/sdk/vpc/subnets.rb +21 -0
  45. data/lib/ibm/cloud/sdk/vpc/volume_profiles.rb +21 -0
  46. data/lib/ibm/cloud/sdk/vpc/volumes.rb +21 -0
  47. data/lib/ibm/cloud/sdk/vpc/vpcs.rb +60 -0
  48. data/lib/ibm/cloud/sdk/vpc/vpn_gateway/connections.rb +35 -0
  49. data/lib/ibm/cloud/sdk/vpc/vpn_gateway/local_cidrs.rb +32 -0
  50. data/lib/ibm/cloud/sdk/vpc/vpn_gateway/peer_cidrs.rb +32 -0
  51. data/lib/ibm/cloud/sdk/vpc/vpn_gateways.rb +25 -0
  52. metadata +60 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d147792b6e2fd5d7ddb2b243cb2993cb606289352883831c6b805c2489c1267b
4
- data.tar.gz: e03cbb041d6aae300f09fa4b6fb1aaaed759b187645deb2e4eeca561307f4520
3
+ metadata.gz: 3e549ed1f265dba2b7b112602e225a10509451bffd348c7b04e0aefefe11a712
4
+ data.tar.gz: d342b3a1382bd87a650010b8558a1ce183eb9eb0f52081f8bfdbf4ec1ecf3bec
5
5
  SHA512:
6
- metadata.gz: 920c4079d316f6d65dd4fb3b4d9bcb97d06d06b1165f43ba19b3b7c3f1e12dfe1063f2666fdaf26c2252e4fb9949363d804e4678c13f2676531993851da615d4
7
- data.tar.gz: 125f277b64b64c751b5ae932df6d10203b7bbe01417f361667de8e36b942c574eb744e9432eebd3652ef2a21d0b5c34e05e936e3533a34c9f751d64d79bfeb0b
6
+ metadata.gz: 689e9dd7cbb37ebea1f48f04fd587560d7b9ed39dd625e860845aee646d02fb0077ea233c2e3d88ed99a4051d22b52c485c5ebc186c190b44875ecef8c1a8862
7
+ data.tar.gz: 5ee30dca7e7d6e7a141e44094f2de5f181b50cbeecc941b81da8589e639d07bb0f39555e1fd8be1dca2263ad46dcbac7eb4c80b5164ef60b6d5005126aaf1887
@@ -1,6 +1,29 @@
1
1
  # Changelog
2
2
  All notable changes to the gem ibm-cloud-sdk-ruby will be documented here.
3
3
 
4
+ ## v0.1.8 - 2020-10-01
5
+ - Add second level instances
6
+
7
+ ## v0.1.7 - 2020-09-28
8
+ - Added Logging in IBM Cloud
9
+ - Add VCR to vpc spec
10
+ - Add exception when status of response is not in 200 range or 404
11
+ - Power IaaS Update docstrings, VM actions volumes
12
+
13
+ ## v0.1.6 - 2020-09-23
14
+ - Add PowerIaaS method to get instance info
15
+ - Return region specific PowerVS storage types
16
+ - Move VPC instance into instances and add initialization method.
17
+
18
+ ## v0.1.5 - 2020-09-21
19
+ - Added Enumerable based pagination support
20
+ - Move instance profiles
21
+ - Improve resource lookup by GUID
22
+ - Add support to create a PowerIaas volume
23
+
24
+ ## v0.1.4 - 2020-09-17
25
+ - Added support for the IBM Virtual Private Cloud (VPC) service
26
+
4
27
  ## v0.1.3 - 2020-08-31
5
28
  ### Added the following rest api calls for Power System Virtual Server service
6
29
  - Add PowerIaas 'delete_volume' method
data/Gemfile CHANGED
@@ -5,3 +5,5 @@ gemspec
5
5
 
6
6
  gem "rake", "~> 12.0"
7
7
  gem "rspec", "~> 3.0"
8
+ gem 'vcr'
9
+ gem 'webmock'
@@ -24,4 +24,5 @@ Gem::Specification.new do |spec|
24
24
  spec.require_paths = ["lib"]
25
25
 
26
26
  spec.add_dependency "rest-client"
27
+ spec.add_dependency "http"
27
28
  end
@@ -1,3 +1,4 @@
1
+
1
2
  require "json"
2
3
  require "rest-client"
3
4
 
@@ -6,6 +7,8 @@ require "ibm/cloud/sdk/iam"
6
7
  require "ibm/cloud/sdk/power_iaas"
7
8
  require "ibm/cloud/sdk/resource_controller"
8
9
  require "ibm/cloud/sdk/version"
10
+ require "ibm/cloud/sdk/vpc/cloud_sdk"
11
+ require "ibm/cloud/sdk/logging"
9
12
 
10
13
  module IBM
11
14
  module Cloud
@@ -0,0 +1,21 @@
1
+ require_relative 'null_logger'
2
+
3
+ module IBM
4
+ module Cloud
5
+ module SDK
6
+ class << self
7
+ attr_writer :logger
8
+ end
9
+
10
+ def self.logger
11
+ @logger ||= NullLogger.new
12
+ end
13
+
14
+ module Logging
15
+ def logger
16
+ IBM::Cloud::SDK.logger
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ require "logger"
2
+
3
+ module IBM
4
+ module Cloud
5
+ module SDK
6
+ class NullLogger < Logger
7
+ def initialize(*_args)
8
+ end
9
+
10
+ def add(*_args, &_block)
11
+ end
12
+
13
+ def debug?
14
+ false
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,7 +1,11 @@
1
+ require_relative 'logging'
2
+
1
3
  module IBM
2
4
  module Cloud
3
5
  module SDK
4
6
  class PowerIaas < BaseService
7
+ include Logging
8
+
5
9
  # Create an API Client object for the Power IaaS service
6
10
  #
7
11
  # @param region [String] the IBM Power Cloud instance region
@@ -15,12 +19,23 @@ module IBM
15
19
  @region = region
16
20
  @token = token
17
21
  @tenant = tenant
22
+ RestClient.log = logger
18
23
  end
19
24
 
25
+ # Get the API service Endpoint URL
26
+ #
27
+ # @return [String] Endpoint URL
20
28
  def endpoint
21
29
  "https://#{region.sub(/-\d$/, '')}.power-iaas.cloud.ibm.com/pcloud/v1"
22
30
  end
23
31
 
32
+ # Get Power Cloud Instance information
33
+ #
34
+ # @return [Hash] CloudInstance
35
+ def get_pcloud_instance
36
+ get("cloud-instances/#{guid}")
37
+ end
38
+
24
39
  # Get all PVM instances in an IBM Power Cloud instance
25
40
  #
26
41
  # @return [Array<Hash>] all PVM Instances for this instance
@@ -34,12 +49,15 @@ module IBM
34
49
 
35
50
  # Get an IBM Power Cloud PVM instance
36
51
  #
37
- # @param pvm_instance_id [String] the PVM instance ID
52
+ # @param pvm_instance_id [String] PVM instance ID
38
53
  # @return [Hash] PVM Instances
39
54
  def get_pvm_instance(instance_id)
40
55
  get("cloud-instances/#{guid}/pvm-instances/#{instance_id}")
41
56
  end
42
57
 
58
+ # Perform 'start' action on a PVMInstance
59
+ #
60
+ # @param pvm_instance_id [String] PVM instance ID
43
61
  def start_pvm_instance(instance_id)
44
62
  post(
45
63
  "cloud-instances/#{guid}/pvm-instances/#{instance_id}/action",
@@ -47,6 +65,9 @@ module IBM
47
65
  )
48
66
  end
49
67
 
68
+ # Perform 'stop' action on a PVMInstance
69
+ #
70
+ # @param pvm_instance_id [String] PVM instance ID
50
71
  def stop_pvm_instance(instance_id)
51
72
  post(
52
73
  "cloud-instances/#{guid}/pvm-instances/#{instance_id}/action",
@@ -54,6 +75,22 @@ module IBM
54
75
  )
55
76
  end
56
77
 
78
+ # Perform 'immediate-shutdown' action on a PVMInstance
79
+ #
80
+ # @param pvm_instance_id [String] PVM instance ID
81
+ def immediate_shutdown_pvm_instance(instance_id)
82
+ post(
83
+ "cloud-instances/#{guid}/pvm-instances/#{instance_id}/action",
84
+ {"action" => "immediate-shutdown"}.to_json
85
+ )
86
+ end
87
+
88
+ # Perform 'reboot' action on a PVMInstance
89
+ #
90
+ # This action has been deprecated and replaced by 'soft-reboot'
91
+ # and 'hard-reboot'
92
+ #
93
+ # @param pvm_instance_id [String] PVM instance ID
57
94
  def reboot_pvm_instance(instance_id)
58
95
  post(
59
96
  "cloud-instances/#{guid}/pvm-instances/#{instance_id}/action",
@@ -61,10 +98,47 @@ module IBM
61
98
  )
62
99
  end
63
100
 
101
+ # Perform 'soft-reboot' action on a PVMInstance
102
+ #
103
+ # @param pvm_instance_id [String] PVM instance ID
104
+ def soft_reboot_pvm_instance(instance_id)
105
+ post(
106
+ "cloud-instances/#{guid}/pvm-instances/#{instance_id}/action",
107
+ {"action" => "soft-reboot"}.to_json
108
+ )
109
+ end
110
+
111
+ # Perform 'hard-reboot' action on a PVMInstance
112
+ #
113
+ # @param pvm_instance_id [String] PVM instance ID
114
+ def hard_reboot_pvm_instance(instance_id)
115
+ post(
116
+ "cloud-instances/#{guid}/pvm-instances/#{instance_id}/action",
117
+ {"action" => "hard-reboot"}.to_json
118
+ )
119
+ end
120
+
121
+ # Perform 'reset-state' action on a PVMInstance
122
+ #
123
+ # @param pvm_instance_id [String] PVM instance ID
124
+ def reset_state_pvm_instance(instance_id)
125
+ post(
126
+ "cloud-instances/#{guid}/pvm-instances/#{instance_id}/action",
127
+ {"action" => "reset-state"}.to_json
128
+ )
129
+ end
130
+
131
+ # Create a new PVM instance
132
+ #
133
+ # @param instance_hash [Hash] New instance attributes
134
+ # @return [Hash] PVMInstance
64
135
  def create_pvm_instance(instance_hash)
65
136
  post("cloud-instances/#{guid}/pvm-instances", instance_hash.to_json)
66
137
  end
67
138
 
139
+ # Delete a PVM instance
140
+ #
141
+ # @param pvm_instance_id [String] PVM instance ID
68
142
  def delete_pvm_instance(instance_id)
69
143
  delete("cloud-instances/#{guid}/pvm-instances/#{instance_id}")
70
144
  end
@@ -82,7 +156,7 @@ module IBM
82
156
 
83
157
  # Get an IBM Power Cloud image
84
158
  #
85
- # @param image_id [String] The ID of an Image
159
+ # @param image_id [String] Image ID
86
160
  # @return [Hash] Image
87
161
  def get_image(image_id)
88
162
  get("cloud-instances/#{guid}/images/#{image_id}")
@@ -90,6 +164,9 @@ module IBM
90
164
  nil
91
165
  end
92
166
 
167
+ # Delete an image from a cloud instance
168
+ #
169
+ # @param image_id [String] Image ID
93
170
  def delete_image(image_id)
94
171
  delete("cloud-instances/#{guid}/images/#{image_id}")
95
172
  end
@@ -107,7 +184,7 @@ module IBM
107
184
 
108
185
  # Get a specific volume
109
186
  #
110
- # @param volume_id [String] The ID of a volume
187
+ # @param volume_id [String] Image ID
111
188
  # @return [Hash] Volume
112
189
  def get_volume(volume_id)
113
190
  get("cloud-instances/#{guid}/volumes/#{volume_id}")
@@ -115,11 +192,35 @@ module IBM
115
192
 
116
193
  # Delete a volume
117
194
  #
118
- # @param volume_id [String] The ID of a volume
195
+ # @param volume_id [String] Volume ID
119
196
  def delete_volume(volume_id)
120
197
  delete("cloud-instances/#{guid}/volumes/#{volume_id}")
121
198
  end
122
199
 
200
+ # Create a volume
201
+ #
202
+ # @param volume_hash [Hash] New volume attributes
203
+ # @return [Hash] Volume
204
+ def create_volume(volume_hash)
205
+ post("cloud-instances/#{guid}/volumes", volume_hash.to_json)
206
+ end
207
+
208
+ # Attach a volume
209
+ #
210
+ # @param pvm_instance_id [String] PVM Instance ID
211
+ # @param volume_id [String] Volume ID
212
+ def attach_volume(pvm_instance_id, volume_id)
213
+ post("cloud-instances/#{guid}/volumes/#{volumd_id}")
214
+ end
215
+
216
+ # Detach a volume
217
+ #
218
+ # @param pvm_instance_id [String] PVM Instance ID
219
+ # @param volume_id [String] Volume ID
220
+ def detach_volume(pvm_instance_id, volume_id)
221
+ delete("cloud-instances/#{guid}/volumes/#{volumd_id}")
222
+ end
223
+
123
224
  # Get all networks in an IBM Power Cloud instance
124
225
  #
125
226
  # @return [Array<Hash>] all networks for this IBM Power Cloud instance
@@ -132,7 +233,7 @@ module IBM
132
233
 
133
234
  # Get an IBM Power Cloud network
134
235
  #
135
- # @param network_id [String] the network ID
236
+ # @param network_id [String] Network ID
136
237
  # @return [Hash] Network
137
238
  def get_network(network_id)
138
239
  get("cloud-instances/#{guid}/networks/#{network_id}")
@@ -146,42 +247,64 @@ module IBM
146
247
  end
147
248
 
148
249
  # Get a storage types list in IBM Power Cloud.
149
- # note: this mehod to be refactored under the common
250
+ # note: this method to be refactored under the common
150
251
  # IBM::Cloud::SDK::PowerIaas.endpoint when the rest api become available.
151
252
  #
152
- # @return [Hash] StorageType
253
+ # @return [Array<Hash>] StorageType
153
254
  def get_storage_types
154
- JSON.parse(RestClient.get("https://#{region.sub(/-\d$/, '')}.power-iaas.cloud.ibm.com/broker/v1/storage-types", headers))
255
+ JSON.parse(RestClient.get("https://#{region.sub(/-\d$/, '')}.power-iaas.cloud.ibm.com/broker/v1/storage-types", headers))[region]
155
256
  end
156
257
 
258
+ # Create a new network
259
+ #
260
+ # @param network_hash [Hash] New network attributes
261
+ # @return [Hash] Network
157
262
  def create_network(network_hash)
158
263
  post("cloud-instances/#{guid}/networks", network_hash.to_json)
159
264
  end
160
265
 
266
+ # Delete a network
267
+ #
268
+ # @param network_id [String] Network ID
161
269
  def delete_network(network_id)
162
270
  delete("cloud-instances/#{guid}/networks/#{network_id}")
163
271
  end
164
272
 
273
+ # Get all ports for a network
274
+ #
275
+ # @param network_id [String] Network ID
276
+ # @return [Array<Hash>] NetworkPort
165
277
  def get_network_ports(network_id)
166
278
  get("cloud-instances/#{guid}/networks/#{network_id}/ports")["ports"]
167
279
  end
168
280
 
281
+ # List the tenant's SSH Keys
282
+ #
283
+ # @return [Array<Hash>] SSHKey
169
284
  def get_ssh_keys
170
285
  get("tenants/#{tenant}")["sshKeys"]
171
286
  end
172
287
 
288
+ # Add a new SSH key to the tenant
289
+ #
290
+ # @param name [String] User defined name for the SSH key
291
+ # @param sshkey [String] SSH RSA key
292
+ # @return [Hash] SSHKey
173
293
  def create_key_pair(name, sshkey)
174
294
  payload = {"name" => name, "sshkey" => sshkey}
175
295
  post("tenants/#{tenant}/sshkeys", payload.to_json)
176
296
  end
177
297
 
298
+ # Delete SSH key from the tenant
299
+ #
300
+ # @param sshkey_name [String] SSH Key name
178
301
  def delete_key_pair(name)
179
302
  delete("tenants/#{tenant}/sshkeys/#{name}")
180
303
  end
181
304
 
182
305
  # Get an SAP profile
183
306
  #
184
- # @param sap_profile_id [String] The ID of an SAP profile
307
+ # @param sap_profile_id [String] SAP Profile ID
185
308
  # @return [Hash] SAP profile
186
309
  def get_sap_profile(sap_profile_id)
187
310
  get("cloud-instances/#{guid}/sap/#{sap_profile_id}")
@@ -204,7 +327,7 @@ module IBM
204
327
  # instance is the standard 'PVMInstance' type and can be accessed via
205
328
  # the existing *_pvm_instance methods.
206
329
  #
207
- # @param sap_profile_id [String] The ID of an SAP profile
330
+ # @param sap_profile_id [String] SAP Profile ID
208
331
  # @return [Hash] SAP profile
209
332
  def create_sap_pvm_instance(instance_hash)
210
333
  post("cloud-instances/#{guid}/sap", instance_hash.to_json)
@@ -2,6 +2,7 @@ module IBM
2
2
  module Cloud
3
3
  module SDK
4
4
  class ResourceController < BaseService
5
+ require "ibm/cloud/sdk/resource_controller/resource"
5
6
  def endpoint
6
7
  "https://resource-controller.cloud.ibm.com/v2"
7
8
  end
@@ -10,15 +11,8 @@ module IBM
10
11
  @token = token
11
12
  end
12
13
 
13
- def get_resources
14
- resources = get("resource_instances")["resources"] || []
15
-
16
- require "ibm/cloud/sdk/resource_controller/resource"
17
- resources.map { |instance| Resource.new(instance) }
18
- end
19
-
20
14
  def get_resource(guid)
21
- get_resources.detect { |resource| resource.guid == guid }
15
+ Resource.new(get("resource_instances/#{guid}"))
22
16
  end
23
17
 
24
18
  private
@@ -1,7 +1,7 @@
1
1
  module IBM
2
2
  module Cloud
3
3
  module SDK
4
- VERSION = "0.1.3"
4
+ VERSION = "0.1.8"
5
5
  end
6
6
  end
7
7
  end
@@ -0,0 +1,133 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ require_relative 'vpc/base_vpc'
5
+ require_relative 'vpc/base_collection'
6
+ require_relative 'vpc/base_instance'
7
+ require_relative 'vpc/exceptions'
8
+
9
+ require_relative 'vpc/floatingips'
10
+ require_relative 'vpc/flowlogcollectors'
11
+ require_relative 'vpc/ike_policies'
12
+ require_relative 'vpc/images'
13
+ require_relative 'vpc/instance_profiles'
14
+ require_relative 'vpc/instances'
15
+ require_relative 'vpc/ipsec_policies'
16
+ require_relative 'vpc/keys'
17
+ require_relative 'vpc/load_balancers'
18
+ require_relative 'vpc/network_acls'
19
+ require_relative 'vpc/operating_systems'
20
+ require_relative 'vpc/public_gateways'
21
+ require_relative 'vpc/regions'
22
+ require_relative 'vpc/security_groups'
23
+ require_relative 'vpc/subnets'
24
+ require_relative 'vpc/volume_profiles'
25
+ require_relative 'vpc/volumes'
26
+ require_relative 'vpc/vpcs'
27
+ require_relative 'vpc/vpn_gateways'
28
+
29
+ module IBM
30
+ module Cloud
31
+ module SDK
32
+ # Container that encapsulates the VPC API.
33
+ class Vpc < BaseVPC
34
+ # Create an API Client object for the VPC IaaS service
35
+ #
36
+ # @param region [String] the IBM Power Cloud instance region
37
+ # @param connection [IBM::Cloud::SDK::VPC::Connection] A connection object.
38
+ # @param logger [Logger] An instance of an instanciated logger.
39
+ def initialize(region, connection, logger: nil)
40
+ @region = region
41
+ @connection = connection
42
+
43
+ @logger = logger || Logger.new($stdout, level: :warn)
44
+ end
45
+
46
+ attr_reader :connection, :logger
47
+ attr_accessor :region
48
+
49
+ # The Region API endpoint.
50
+ def endpoint
51
+ "https://#{region.sub(/-\d$/, '')}.iaas.cloud.ibm.com/v1"
52
+ end
53
+
54
+ # Entry point to the Floating IPs API.
55
+ def floating_ips
56
+ VPC::FloatingIPs.new(self)
57
+ end
58
+
59
+ def flowlog_collectors
60
+ VPC::FlowLogCollectors.new(self)
61
+ end
62
+
63
+ def ike_policies
64
+ VPC::IKEPolicies.new(self)
65
+ end
66
+
67
+ def images
68
+ VPC::Images.new(self)
69
+ end
70
+
71
+ def instance_profiles
72
+ VPC::InstanceProfiles.new(self)
73
+ end
74
+
75
+ def instances
76
+ VPC::Instances.new(self)
77
+ end
78
+
79
+ def ipsec_policies
80
+ VPC::IPSecPolicies.new(self)
81
+ end
82
+
83
+ def keys
84
+ VPC::Keys.new(self)
85
+ end
86
+
87
+ def load_balancers
88
+ VPC::LoadBalancers.new(self)
89
+ end
90
+
91
+ def network_acls
92
+ VPC::NetworkACLs.new(self)
93
+ end
94
+
95
+ def operating_systems
96
+ VPC::OperatingSystems.new(self)
97
+ end
98
+
99
+ def public_gateways
100
+ VPC::PublicGateways.new(self)
101
+ end
102
+
103
+ def regions
104
+ VPC::Regions.new(self)
105
+ end
106
+
107
+ def security_groups
108
+ VPC::SecurityGroups.new(self)
109
+ end
110
+
111
+ def subnets
112
+ VPC::Subnets.new(self)
113
+ end
114
+
115
+ def volumes_profiles
116
+ VPC::VolumeProfiles.new(self)
117
+ end
118
+
119
+ def volumes
120
+ VPC::Volumes.new(self)
121
+ end
122
+
123
+ def vpcs
124
+ VPC::Vpcs.new(self)
125
+ end
126
+
127
+ def vpn_gateways
128
+ VPC::VPNGateways.new(self)
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end