ibm-cloud-sdk 0.1.9 → 0.1.10
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -1
- data/ibm-cloud-sdk.gemspec +1 -1
- data/lib/ibm/cloud/sdk.rb +2 -1
- data/lib/ibm/cloud/sdk/iam.rb +5 -0
- data/lib/ibm/cloud/sdk/resource_controller.rb +4 -0
- data/lib/ibm/cloud/sdk/tags.rb +28 -0
- data/lib/ibm/cloud/sdk/tags/http.rb +5 -0
- data/lib/ibm/cloud/sdk/tags/http/tag_collection.rb +99 -0
- data/lib/ibm/cloud/sdk/version.rb +1 -1
- data/lib/ibm/cloud/sdk/vpc.rb +8 -7
- data/lib/ibm/cloud/sdk/vpc/floatingips.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/flowlogcollectors.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/http.rb +7 -0
- data/lib/ibm/cloud/sdk/vpc/http/vpc_collection.rb +82 -0
- data/lib/ibm/cloud/sdk/vpc/http/vpc_http.rb +29 -0
- data/lib/ibm/cloud/sdk/vpc/http/vpc_instance.rb +30 -0
- data/lib/ibm/cloud/sdk/vpc/ike_policies.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/images.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/instance/actions.rb +1 -1
- data/lib/ibm/cloud/sdk/vpc/instance/floating_ips.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/instance/network_interfaces.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/instance/volume_attachments.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/instance_profiles.rb +3 -3
- data/lib/ibm/cloud/sdk/vpc/instances.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/ipsec_policies.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/keys.rb +2 -24
- data/lib/ibm/cloud/sdk/vpc/load_balancer.rb +1 -1
- data/lib/ibm/cloud/sdk/vpc/load_balancer/listeners.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/load_balancer/members.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/load_balancer/policies.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/load_balancer/pools.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/load_balancer/rules.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/load_balancers.rb +1 -1
- data/lib/ibm/cloud/sdk/vpc/network_acls.rb +4 -4
- data/lib/ibm/cloud/sdk/vpc/operating_systems.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/public_gateways.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/regions.rb +4 -4
- data/lib/ibm/cloud/sdk/vpc/security_groups.rb +6 -6
- data/lib/ibm/cloud/sdk/vpc/subnets.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/volume_profiles.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/volumes.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/vpcs.rb +6 -6
- data/lib/ibm/cloud/sdk/vpc/vpn_gateway/connections.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/vpn_gateway/local_cidrs.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/vpn_gateway/peer_cidrs.rb +2 -2
- data/lib/ibm/cloud/sdk/vpc/vpn_gateways.rb +2 -2
- data/lib/ibm/cloud/sdk_http.rb +16 -0
- data/lib/ibm/cloud/sdk_http/base_collection.rb +121 -0
- data/lib/ibm/cloud/sdk_http/base_http_mixin.rb +63 -0
- data/lib/ibm/cloud/sdk_http/base_instance.rb +55 -0
- data/lib/ibm/cloud/sdk_http/connection.rb +32 -0
- data/lib/ibm/cloud/sdk_http/exceptions.rb +31 -0
- data/lib/ibm/cloud/{sdk/vpc/base_mixins → sdk_http}/has_child.rb +3 -7
- data/lib/ibm/cloud/sdk_http/iam_token.rb +53 -0
- data/lib/ibm/cloud/sdk_http/sdk_response.rb +132 -0
- data/lib/ibm/cloud_sdk.rb +39 -0
- metadata +21 -12
- data/lib/ibm/cloud/sdk/vpc/base_collection.rb +0 -107
- data/lib/ibm/cloud/sdk/vpc/base_instance.rb +0 -23
- data/lib/ibm/cloud/sdk/vpc/base_vpc.rb +0 -61
- data/lib/ibm/cloud/sdk/vpc/cloud_sdk.rb +0 -33
- data/lib/ibm/cloud/sdk/vpc/exceptions.rb +0 -33
- data/lib/ibm/cloud/sdk/vpc/helpers/connection.rb +0 -96
- data/lib/ibm/cloud/sdk/vpc/helpers/response.rb +0 -134
@@ -6,14 +6,14 @@ module IBM
|
|
6
6
|
module SDK
|
7
7
|
module VPC
|
8
8
|
# A list of IKEPolicy
|
9
|
-
class IKEPolicies <
|
9
|
+
class IKEPolicies < VPCCollection
|
10
10
|
def initialize(parent)
|
11
11
|
super(parent, 'ike_policies', child_class: IKEPolicy)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
# A single IKEPolicy
|
16
|
-
class IKEPolicy <
|
16
|
+
class IKEPolicy < VPCInstance
|
17
17
|
def connections
|
18
18
|
get('connections')
|
19
19
|
end
|
@@ -6,14 +6,14 @@ module IBM
|
|
6
6
|
module SDK
|
7
7
|
module VPC
|
8
8
|
# Work with multiple images.
|
9
|
-
class Images <
|
9
|
+
class Images < VPCCollection
|
10
10
|
def initialize(parent)
|
11
11
|
super(parent, 'images', child_class: Image)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
# Work with a single image.
|
16
|
-
class Image <
|
16
|
+
class Image < VPCInstance
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -7,14 +7,14 @@ module IBM
|
|
7
7
|
module VPC
|
8
8
|
module INSTANCE
|
9
9
|
# Get a Floating IP.
|
10
|
-
class FloatingIps <
|
10
|
+
class FloatingIps < VPCCollection
|
11
11
|
def initialize(parent)
|
12
12
|
super(parent, 'floating_ips', child_class: FloatingIp)
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
16
|
# Get a single floating IP.
|
17
|
-
class FloatingIp <
|
17
|
+
class FloatingIp < VPCInstance
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -9,14 +9,14 @@ module IBM
|
|
9
9
|
module VPC
|
10
10
|
module INSTANCE
|
11
11
|
# All netowrk interfaces.
|
12
|
-
class NetworkInterfaces <
|
12
|
+
class NetworkInterfaces < VPCCollection
|
13
13
|
def initialize(parent)
|
14
14
|
super(parent, 'network_interfaces', child_class: NetworkInterface)
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
18
|
# A single network insterface.
|
19
|
-
class NetworkInterface <
|
19
|
+
class NetworkInterface < VPCInstance
|
20
20
|
def floating_ips
|
21
21
|
FloatingIps.new(self)
|
22
22
|
end
|
@@ -7,14 +7,14 @@ module IBM
|
|
7
7
|
module VPC
|
8
8
|
module INSTANCE
|
9
9
|
# Get all attached volumes.
|
10
|
-
class VolumeAttachments <
|
10
|
+
class VolumeAttachments < VPCCollection
|
11
11
|
def initialize(parent)
|
12
12
|
super(parent, 'volume_attachments', child_class: VolumeAttachment)
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
16
|
# A single attached volume.
|
17
|
-
class VolumeAttachment <
|
17
|
+
class VolumeAttachment < VPCInstance
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -6,14 +6,14 @@ module IBM
|
|
6
6
|
module SDK
|
7
7
|
module VPC
|
8
8
|
# Work with multiple profiles.
|
9
|
-
class InstanceProfiles <
|
9
|
+
class InstanceProfiles < VPCCollection
|
10
10
|
def initialize(parent)
|
11
|
-
super(parent, 'instance/profiles', child_class:
|
11
|
+
super(parent, 'instance/profiles', child_class: InstanceProfile, array_key: 'profiles')
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
# Get a single profile.
|
16
|
-
class
|
16
|
+
class InstanceProfile < VPCInstance
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -11,7 +11,7 @@ module IBM
|
|
11
11
|
# Work with VPC instances.
|
12
12
|
module VPC
|
13
13
|
# Work with multiple VM instances.
|
14
|
-
class Instances <
|
14
|
+
class Instances < VPCCollection
|
15
15
|
def initialize(parent)
|
16
16
|
super(parent, 'instances', child_class: Instance)
|
17
17
|
end
|
@@ -37,7 +37,7 @@ module IBM
|
|
37
37
|
end
|
38
38
|
|
39
39
|
# Work with a single instance.
|
40
|
-
class Instance <
|
40
|
+
class Instance < VPCInstance
|
41
41
|
def actions
|
42
42
|
INSTANCE::Actions.new(self)
|
43
43
|
end
|
@@ -6,14 +6,14 @@ module IBM
|
|
6
6
|
module SDK
|
7
7
|
module VPC
|
8
8
|
# A list of IPSecPolicy
|
9
|
-
class IPSecPolicies <
|
9
|
+
class IPSecPolicies < VPCCollection
|
10
10
|
def initialize(parent)
|
11
11
|
super(parent, 'ike_policies', child_class: IPSecPolicy)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
# A single IPSecPolicy
|
16
|
-
class IPSecPolicy <
|
16
|
+
class IPSecPolicy < VPCInstance
|
17
17
|
def connections
|
18
18
|
get('connections')
|
19
19
|
end
|
@@ -6,36 +6,14 @@ module IBM
|
|
6
6
|
module SDK
|
7
7
|
module VPC
|
8
8
|
# A collection of SSH keys.
|
9
|
-
class Keys <
|
9
|
+
class Keys < VPCCollection
|
10
10
|
def initialize(parent)
|
11
11
|
super(parent, 'keys', child_class: Key)
|
12
12
|
end
|
13
|
-
|
14
|
-
def fetch(resource_id: nil)
|
15
|
-
params = {}
|
16
|
-
params['resource_group.id'] = resource_id if resource_id
|
17
|
-
get(params: params)
|
18
|
-
end
|
19
|
-
|
20
|
-
def all(resource_id = nil)
|
21
|
-
fetch(resource_id: resource_id).subkey(@array_key)
|
22
|
-
end
|
23
|
-
|
24
|
-
# :reek:FeatureEnvy
|
25
|
-
def create(name, public_key, resource_group: nil, type: nil)
|
26
|
-
payload = { name: name, public_key: public_key }
|
27
|
-
payload[:resource_group] = resource_group if resource_group
|
28
|
-
payload[:type] = type if type
|
29
|
-
post(payload)
|
30
|
-
end
|
31
|
-
|
32
|
-
def key(id)
|
33
|
-
Key.new(self, id)
|
34
|
-
end
|
35
13
|
end
|
36
14
|
|
37
15
|
# A single key.
|
38
|
-
class Key <
|
16
|
+
class Key < VPCInstance
|
39
17
|
end
|
40
18
|
end
|
41
19
|
end
|
@@ -9,7 +9,7 @@ module IBM
|
|
9
9
|
module VPC
|
10
10
|
module LOADBALANCER
|
11
11
|
# A list of Listener
|
12
|
-
class Listeners <
|
12
|
+
class Listeners < VPCCollection
|
13
13
|
def initialize(parent)
|
14
14
|
@array_key = 'listeners'
|
15
15
|
@instance = Listener
|
@@ -18,7 +18,7 @@ module IBM
|
|
18
18
|
end
|
19
19
|
|
20
20
|
# A single Listener
|
21
|
-
class Listener <
|
21
|
+
class Listener < VPCInstance
|
22
22
|
def policies
|
23
23
|
LOADBALANCER::Policies.new(self)
|
24
24
|
end
|
@@ -6,7 +6,7 @@ module IBM
|
|
6
6
|
module SDK
|
7
7
|
module VPC
|
8
8
|
# A list of Member
|
9
|
-
class Members <
|
9
|
+
class Members < VPCCollection
|
10
10
|
def initialize(parent)
|
11
11
|
@array_key = 'members'
|
12
12
|
@instance = Member
|
@@ -15,7 +15,7 @@ module IBM
|
|
15
15
|
end
|
16
16
|
|
17
17
|
# A single Member
|
18
|
-
class Member <
|
18
|
+
class Member < VPCInstance
|
19
19
|
end
|
20
20
|
end
|
21
21
|
end
|
@@ -9,7 +9,7 @@ module IBM
|
|
9
9
|
module VPC
|
10
10
|
module LOADBALANCER
|
11
11
|
# A list of Policies
|
12
|
-
class Policies <
|
12
|
+
class Policies < VPCCollection
|
13
13
|
def initialize(parent)
|
14
14
|
@array_key = 'policies'
|
15
15
|
@instance = Policy
|
@@ -18,7 +18,7 @@ module IBM
|
|
18
18
|
end
|
19
19
|
|
20
20
|
# A single Policy
|
21
|
-
class Policy <
|
21
|
+
class Policy < VPCInstance
|
22
22
|
def rules
|
23
23
|
Rules.new(self)
|
24
24
|
end
|
@@ -8,7 +8,7 @@ module IBM
|
|
8
8
|
module SDK
|
9
9
|
module VPC
|
10
10
|
# A list of Pool
|
11
|
-
class Pools <
|
11
|
+
class Pools < VPCCollection
|
12
12
|
def initialize(parent)
|
13
13
|
@array_key = 'pools'
|
14
14
|
@instance = Pool
|
@@ -17,7 +17,7 @@ module IBM
|
|
17
17
|
end
|
18
18
|
|
19
19
|
# A single Pool
|
20
|
-
class Pool <
|
20
|
+
class Pool < VPCInstance
|
21
21
|
def members
|
22
22
|
Members.new(self)
|
23
23
|
end
|
@@ -7,7 +7,7 @@ module IBM
|
|
7
7
|
module VPC
|
8
8
|
module LOADBALANCER
|
9
9
|
# A list of Rule
|
10
|
-
class Rules <
|
10
|
+
class Rules < VPCCollection
|
11
11
|
def initialize(parent)
|
12
12
|
@array_key = 'rules'
|
13
13
|
@instance = Rule
|
@@ -16,7 +16,7 @@ module IBM
|
|
16
16
|
end
|
17
17
|
|
18
18
|
# A single Rule
|
19
|
-
class Rule <
|
19
|
+
class Rule < VPCInstance
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
@@ -6,14 +6,14 @@ module IBM
|
|
6
6
|
module SDK
|
7
7
|
module VPC
|
8
8
|
# A list of NetworkACL
|
9
|
-
class NetworkACLs <
|
9
|
+
class NetworkACLs < VPCCollection
|
10
10
|
def initialize(parent)
|
11
11
|
super(parent, 'network_acls', child_class: NetworkACL)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
# A single NetworkACL
|
16
|
-
class NetworkACL <
|
16
|
+
class NetworkACL < VPCInstance
|
17
17
|
def rules
|
18
18
|
NETWORKACL::Rules.new(self)
|
19
19
|
end
|
@@ -21,7 +21,7 @@ module IBM
|
|
21
21
|
|
22
22
|
module NETWORKACL
|
23
23
|
# A list of NetworkACL
|
24
|
-
class Rules <
|
24
|
+
class Rules < VPCCollection
|
25
25
|
def initialize(parent)
|
26
26
|
@array_key = 'network_acls'
|
27
27
|
@instance = NetworkACL
|
@@ -30,7 +30,7 @@ module IBM
|
|
30
30
|
end
|
31
31
|
|
32
32
|
# A single NetworkACL
|
33
|
-
class Rule <
|
33
|
+
class Rule < VPCInstance
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
@@ -6,14 +6,14 @@ module IBM
|
|
6
6
|
module SDK
|
7
7
|
module VPC
|
8
8
|
# A list of OperatingSystem
|
9
|
-
class OperatingSystems <
|
9
|
+
class OperatingSystems < VPCCollection
|
10
10
|
def initialize(parent)
|
11
11
|
super(parent, 'operating_systems', child_class: OperatingSystem)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
# A single OperatingSystem
|
16
|
-
class OperatingSystem <
|
16
|
+
class OperatingSystem < VPCInstance
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -6,14 +6,14 @@ module IBM
|
|
6
6
|
module SDK
|
7
7
|
module VPC
|
8
8
|
# A list of PublicGateway
|
9
|
-
class PublicGateways <
|
9
|
+
class PublicGateways < VPCCollection
|
10
10
|
def initialize(parent)
|
11
11
|
super(parent, 'public_gateways', child_class: PublicGateway)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
# A single PublicGateway
|
16
|
-
class PublicGateway <
|
16
|
+
class PublicGateway < VPCInstance
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -6,28 +6,28 @@ module IBM
|
|
6
6
|
module SDK
|
7
7
|
module VPC
|
8
8
|
# Work with VPC reqions
|
9
|
-
class Regions <
|
9
|
+
class Regions < VPCCollection
|
10
10
|
def initialize(parent)
|
11
11
|
super(parent, 'regions', child_class: Region)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
# Work with a single region
|
16
|
-
class Region <
|
16
|
+
class Region < VPCInstance
|
17
17
|
def zones
|
18
18
|
Zones.new(self)
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
22
|
# Zones are included within a region.
|
23
|
-
class Zones <
|
23
|
+
class Zones < VPCCollection
|
24
24
|
def initialize(parent)
|
25
25
|
super(parent, 'zones', child_class: Zone)
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
29
|
# A single zone.
|
30
|
-
class Zone <
|
30
|
+
class Zone < VPCInstance
|
31
31
|
end
|
32
32
|
end
|
33
33
|
end
|
@@ -6,14 +6,14 @@ module IBM
|
|
6
6
|
module SDK
|
7
7
|
module VPC
|
8
8
|
# Work with VPC reqions
|
9
|
-
class SecurityGroups <
|
9
|
+
class SecurityGroups < VPCCollection
|
10
10
|
def initialize(parent)
|
11
11
|
super(parent, 'security_groups', child_class: SecurityGroup)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
# Work with VPC reqions
|
16
|
-
class SecurityGroup <
|
16
|
+
class SecurityGroup < VPCInstance
|
17
17
|
def network_interfaces
|
18
18
|
SECURITYGROUP::NetworkInterfaces.new(self)
|
19
19
|
end
|
@@ -21,25 +21,25 @@ module IBM
|
|
21
21
|
|
22
22
|
module SECURITYGROUP
|
23
23
|
# Work with interfaces associated with parent group.
|
24
|
-
class NetworkInterfaces <
|
24
|
+
class NetworkInterfaces < VPCCollection
|
25
25
|
def initialize(parent)
|
26
26
|
super(parent, 'network_interfaces', child_class: NetworkInterface)
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
30
|
# Work with a single rule.
|
31
|
-
class NetworkInterface <
|
31
|
+
class NetworkInterface < VPCInstance
|
32
32
|
end
|
33
33
|
|
34
34
|
# Work with rules associated with parent group.
|
35
|
-
class Rules <
|
35
|
+
class Rules < VPCCollection
|
36
36
|
def initialize(parent)
|
37
37
|
super(parent, 'rules', child_class: Rule)
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
41
|
# Work with a single rule.
|
42
|
-
class Rule <
|
42
|
+
class Rule < VPCInstance
|
43
43
|
end
|
44
44
|
end
|
45
45
|
end
|