ibm-cloud-sdk 0.1.2 → 0.1.7

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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +32 -0
  3. data/Gemfile +2 -0
  4. data/ibm-cloud-sdk.gemspec +3 -1
  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 +181 -4
  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 +108 -0
  13. data/lib/ibm/cloud/sdk/vpc/base_instance.rb +23 -0
  14. data/lib/ibm/cloud/sdk/vpc/base_vpc.rb +61 -0
  15. data/lib/ibm/cloud/sdk/vpc/cloud_sdk.rb +33 -0
  16. data/lib/ibm/cloud/sdk/vpc/exceptions.rb +33 -0
  17. data/lib/ibm/cloud/sdk/vpc/floatingips.rb +20 -0
  18. data/lib/ibm/cloud/sdk/vpc/flowlogcollectors.rb +20 -0
  19. data/lib/ibm/cloud/sdk/vpc/helpers/connection.rb +96 -0
  20. data/lib/ibm/cloud/sdk/vpc/helpers/response.rb +134 -0
  21. data/lib/ibm/cloud/sdk/vpc/ike_policies.rb +24 -0
  22. data/lib/ibm/cloud/sdk/vpc/images.rb +21 -0
  23. data/lib/ibm/cloud/sdk/vpc/instance/actions.rb +19 -0
  24. data/lib/ibm/cloud/sdk/vpc/instance/floating_ips.rb +23 -0
  25. data/lib/ibm/cloud/sdk/vpc/instance/network_interfaces.rb +28 -0
  26. data/lib/ibm/cloud/sdk/vpc/instance/volume_attachments.rb +23 -0
  27. data/lib/ibm/cloud/sdk/vpc/instance_profiles.rb +21 -0
  28. data/lib/ibm/cloud/sdk/vpc/instances.rb +64 -0
  29. data/lib/ibm/cloud/sdk/vpc/ipsec_policies.rb +24 -0
  30. data/lib/ibm/cloud/sdk/vpc/keys.rb +43 -0
  31. data/lib/ibm/cloud/sdk/vpc/load_balancer.rb +23 -0
  32. data/lib/ibm/cloud/sdk/vpc/load_balancer/listeners.rb +30 -0
  33. data/lib/ibm/cloud/sdk/vpc/load_balancer/members.rb +23 -0
  34. data/lib/ibm/cloud/sdk/vpc/load_balancer/policies.rb +30 -0
  35. data/lib/ibm/cloud/sdk/vpc/load_balancer/pools.rb +28 -0
  36. data/lib/ibm/cloud/sdk/vpc/load_balancer/rules.rb +25 -0
  37. data/lib/ibm/cloud/sdk/vpc/load_balancers.rb +19 -0
  38. data/lib/ibm/cloud/sdk/vpc/network_acls.rb +39 -0
  39. data/lib/ibm/cloud/sdk/vpc/operating_systems.rb +21 -0
  40. data/lib/ibm/cloud/sdk/vpc/public_gateways.rb +21 -0
  41. data/lib/ibm/cloud/sdk/vpc/regions.rb +35 -0
  42. data/lib/ibm/cloud/sdk/vpc/security_groups.rb +48 -0
  43. data/lib/ibm/cloud/sdk/vpc/subnets.rb +21 -0
  44. data/lib/ibm/cloud/sdk/vpc/volume_profiles.rb +21 -0
  45. data/lib/ibm/cloud/sdk/vpc/volumes.rb +21 -0
  46. data/lib/ibm/cloud/sdk/vpc/vpcs.rb +60 -0
  47. data/lib/ibm/cloud/sdk/vpc/vpn_gateway/connections.rb +35 -0
  48. data/lib/ibm/cloud/sdk/vpc/vpn_gateway/local_cidrs.rb +32 -0
  49. data/lib/ibm/cloud/sdk/vpc/vpn_gateway/peer_cidrs.rb +32 -0
  50. data/lib/ibm/cloud/sdk/vpc/vpn_gateways.rb +25 -0
  51. metadata +60 -2
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module IBM
5
+ module Cloud
6
+ module SDK
7
+ module VPC
8
+ # Work with Volume Profiles.
9
+ class VolumeProfiles < BaseCollection
10
+ def initialize(parent)
11
+ super(parent, 'volume/profiles', child_class: VolumeProfile, array_key: 'profiles')
12
+ end
13
+ end
14
+
15
+ # Work with a single volume profile.
16
+ class VolumeProfile < BaseInstance
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module IBM
5
+ module Cloud
6
+ module SDK
7
+ module VPC
8
+ # Work with a collection of volumes.
9
+ class Volumes < BaseCollection
10
+ def initialize(parent)
11
+ super(parent, 'volumes', child_class: Volume)
12
+ end
13
+ end
14
+
15
+ # Work with a single volume.
16
+ class Volume < BaseInstance
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,60 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module IBM
5
+ module Cloud
6
+ module SDK
7
+ module VPC
8
+ # A list of Vpc
9
+ class Vpcs < BaseCollection
10
+ def initialize(parent)
11
+ super(parent, 'vpcs', child_class: VpcInstance)
12
+ end
13
+ end
14
+
15
+ # A single Vpc
16
+ class VpcInstance < BaseInstance
17
+ def default_network_acl
18
+ get('default_network_acl')
19
+ end
20
+
21
+ def default_security_group
22
+ get('default_security_group')
23
+ end
24
+
25
+ def address_prefixes
26
+ VPCS::AddressPrefixes.new(self)
27
+ end
28
+
29
+ def routes
30
+ VPCS::Routes.new(self)
31
+ end
32
+ end
33
+
34
+ module VPCS
35
+ # A list of Vpc
36
+ class AddressPrefixes < BaseCollection
37
+ def initialize(parent)
38
+ super(parent, 'address_prefixes', child_class: AddressPrefix)
39
+ end
40
+ end
41
+
42
+ # A single Vpc
43
+ class AddressPrefix < BaseInstance
44
+ end
45
+
46
+ # A list of Vpc
47
+ class Routes < BaseCollection
48
+ def initialize(parent)
49
+ super(parent, 'routes', child_class: Route)
50
+ end
51
+ end
52
+
53
+ # A single Vpc
54
+ class Route < BaseInstance
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,35 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ require_relative('local_cidrs')
5
+ require_relative('peer_cidrs')
6
+
7
+ module IBM
8
+ module Cloud
9
+ module SDK
10
+ module VPC
11
+ module VPNGATEWAY
12
+ # A list of Connection
13
+ class Connections < BaseCollection
14
+ def initialize(parent)
15
+ @array_key = 'connections'
16
+ @instance = Connection
17
+ super(parent, @array_key)
18
+ end
19
+ end
20
+
21
+ # A single Connection
22
+ class Connection < BaseInstance
23
+ def local_cidrs
24
+ LocalCIDRs.new(self)
25
+ end
26
+
27
+ def peer_cidrs
28
+ PeerCIDRs.new(self)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,32 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module IBM
5
+ module Cloud
6
+ module SDK
7
+ module VPC
8
+ module VPNGATEWAY
9
+ # A list of Connection
10
+ class LocalCIDRs < BaseCollection
11
+ def initialize(parent)
12
+ @array_key = 'local_cidrs'
13
+ @instance = Connection
14
+ super(parent, @array_key)
15
+ end
16
+
17
+ def instance(cidr_prefix, prefix_length)
18
+ super(self, "#{cidr_prefix}/#{prefix_length}")
19
+ end
20
+ end
21
+
22
+ # A single Connection
23
+ class LocalCIDR < BaseInstance
24
+ def update(payload)
25
+ put(payload)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module IBM
5
+ module Cloud
6
+ module SDK
7
+ module VPC
8
+ module VPNGATEWAY
9
+ # A list of Connection
10
+ class PeerCIDRs < BaseCollection
11
+ def initialize(parent)
12
+ @array_key = 'peer_cidrs'
13
+ @instance = Connection
14
+ super(parent, @array_key)
15
+ end
16
+
17
+ def instance(cidr_prefix, prefix_length)
18
+ super(self, "#{cidr_prefix}/#{prefix_length}")
19
+ end
20
+ end
21
+
22
+ # A single Connection
23
+ class PeerCIDR < BaseInstance
24
+ def update(payload)
25
+ put(payload)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,25 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module IBM
5
+ module Cloud
6
+ module SDK
7
+ module VPC
8
+ # A list of VPNGateway
9
+ class VPNGateways < BaseCollection
10
+ def initialize(parent)
11
+ super(parent, 'vpn_gateways', child_class: VPNGateway)
12
+ end
13
+ end
14
+
15
+ # A single VPNGateway
16
+ class VPNGateway < BaseInstance
17
+ # Get a lisst of connections asssociated with this gateway.
18
+ def connections
19
+ VPNGATEWAY::Connections.new(self)
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ibm-cloud-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - IBM Cloud Developers
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-08-12 00:00:00.000000000 Z
11
+ date: 2020-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: http
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  description: A Ruby gem for interacting with the various IBM Cloud services.
28
42
  email:
29
43
  executables: []
@@ -33,6 +47,7 @@ files:
33
47
  - ".gitignore"
34
48
  - ".rspec"
35
49
  - ".travis.yml"
50
+ - CHANGELOG.md
36
51
  - Gemfile
37
52
  - LICENSE.txt
38
53
  - README.md
@@ -45,15 +60,58 @@ files:
45
60
  - lib/ibm/cloud/sdk/base_service.rb
46
61
  - lib/ibm/cloud/sdk/iam.rb
47
62
  - lib/ibm/cloud/sdk/iam/token.rb
63
+ - lib/ibm/cloud/sdk/logging.rb
64
+ - lib/ibm/cloud/sdk/null_logger.rb
48
65
  - lib/ibm/cloud/sdk/power_iaas.rb
49
66
  - lib/ibm/cloud/sdk/resource_controller.rb
50
67
  - lib/ibm/cloud/sdk/resource_controller/resource.rb
51
68
  - lib/ibm/cloud/sdk/version.rb
69
+ - lib/ibm/cloud/sdk/vpc.rb
70
+ - lib/ibm/cloud/sdk/vpc/base_collection.rb
71
+ - lib/ibm/cloud/sdk/vpc/base_instance.rb
72
+ - lib/ibm/cloud/sdk/vpc/base_vpc.rb
73
+ - lib/ibm/cloud/sdk/vpc/cloud_sdk.rb
74
+ - lib/ibm/cloud/sdk/vpc/exceptions.rb
75
+ - lib/ibm/cloud/sdk/vpc/floatingips.rb
76
+ - lib/ibm/cloud/sdk/vpc/flowlogcollectors.rb
77
+ - lib/ibm/cloud/sdk/vpc/helpers/connection.rb
78
+ - lib/ibm/cloud/sdk/vpc/helpers/response.rb
79
+ - lib/ibm/cloud/sdk/vpc/ike_policies.rb
80
+ - lib/ibm/cloud/sdk/vpc/images.rb
81
+ - lib/ibm/cloud/sdk/vpc/instance/actions.rb
82
+ - lib/ibm/cloud/sdk/vpc/instance/floating_ips.rb
83
+ - lib/ibm/cloud/sdk/vpc/instance/network_interfaces.rb
84
+ - lib/ibm/cloud/sdk/vpc/instance/volume_attachments.rb
85
+ - lib/ibm/cloud/sdk/vpc/instance_profiles.rb
86
+ - lib/ibm/cloud/sdk/vpc/instances.rb
87
+ - lib/ibm/cloud/sdk/vpc/ipsec_policies.rb
88
+ - lib/ibm/cloud/sdk/vpc/keys.rb
89
+ - lib/ibm/cloud/sdk/vpc/load_balancer.rb
90
+ - lib/ibm/cloud/sdk/vpc/load_balancer/listeners.rb
91
+ - lib/ibm/cloud/sdk/vpc/load_balancer/members.rb
92
+ - lib/ibm/cloud/sdk/vpc/load_balancer/policies.rb
93
+ - lib/ibm/cloud/sdk/vpc/load_balancer/pools.rb
94
+ - lib/ibm/cloud/sdk/vpc/load_balancer/rules.rb
95
+ - lib/ibm/cloud/sdk/vpc/load_balancers.rb
96
+ - lib/ibm/cloud/sdk/vpc/network_acls.rb
97
+ - lib/ibm/cloud/sdk/vpc/operating_systems.rb
98
+ - lib/ibm/cloud/sdk/vpc/public_gateways.rb
99
+ - lib/ibm/cloud/sdk/vpc/regions.rb
100
+ - lib/ibm/cloud/sdk/vpc/security_groups.rb
101
+ - lib/ibm/cloud/sdk/vpc/subnets.rb
102
+ - lib/ibm/cloud/sdk/vpc/volume_profiles.rb
103
+ - lib/ibm/cloud/sdk/vpc/volumes.rb
104
+ - lib/ibm/cloud/sdk/vpc/vpcs.rb
105
+ - lib/ibm/cloud/sdk/vpc/vpn_gateway/connections.rb
106
+ - lib/ibm/cloud/sdk/vpc/vpn_gateway/local_cidrs.rb
107
+ - lib/ibm/cloud/sdk/vpc/vpn_gateway/peer_cidrs.rb
108
+ - lib/ibm/cloud/sdk/vpc/vpn_gateways.rb
52
109
  homepage: https://github.com/IBM-Cloud/ibm-cloud-sdk-ruby
53
110
  licenses:
54
111
  - '"Apache-2.0"'
55
112
  metadata:
56
113
  homepage_uri: https://github.com/IBM-Cloud/ibm-cloud-sdk-ruby
114
+ changelog_uri: https://github.com/IBM-Cloud/ibm-cloud-sdk-ruby/blob/v0.1.7/CHANGELOG.md
57
115
  post_install_message:
58
116
  rdoc_options: []
59
117
  require_paths: