aptible-api 1.2.12 → 1.2.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cd4de766f468b353f1832390ef3a198c38ab58d7e89ce5ca5eae20f29cdad866
4
- data.tar.gz: 17a39ba6a14e52acf66be88431cabcae78160f7c13581386e02759c85cb70099
3
+ metadata.gz: 0b57c1a6d2049fb2e1edb9bcd14afecd8502ca142e78dec0114ef685bfd6fd72
4
+ data.tar.gz: 0666abf930478a16660e70cc5f57c51b9be693bc6da976fa25e11eb1502e0580
5
5
  SHA512:
6
- metadata.gz: c6ece0d1f34d21f8976df897d9f40935366038c7d65540e1de1df0fa46ef49180cd976b922f248eb9f549c394e6c64f2d1513a7dc84d61c564e4aeec873f64e6
7
- data.tar.gz: 789b6d60b712f5632ef737132ae68b2f9c4a0ae858da271abc62e7fabf76903f55ab03f92320727753b94b1f5c103ca180c044c5ca88f68669d0fe56a68c40c2
6
+ metadata.gz: 60453213ffcd4ad145b09782f7249e23cc66d5574cd73f58949340c0b905bfb0625977d3858b5e4de7af8e41420a961fbb308f08c1619008f47b7651f2ea8ae1
7
+ data.tar.gz: 98cc67ff26b323b7cd00363224bfa2739b2411f41806725c4fa492ddc5fed7e3b7aa381bddc4f19bedb922b459ce8c71ab048960f653abf58016e9f1c00157a7
@@ -4,6 +4,7 @@ module Aptible
4
4
  belongs_to :stack
5
5
  belongs_to :ami
6
6
  has_many :operations
7
+ has_many :instance_layer_memberships
7
8
  embeds_many :databases
8
9
 
9
10
  field :id
@@ -11,10 +12,21 @@ module Aptible
11
12
  field :instance_type
12
13
  field :availability_zone
13
14
  field :name
14
- field :layers
15
15
  field :status
16
16
  field :created_at, type: Time
17
17
  field :updated_at, type: Time
18
+
19
+ def stack_layers
20
+ instance_layer_memberships.map(&:links)
21
+ .map(&:stack_layer)
22
+ .uniq(&:href)
23
+ .map(&:get)
24
+ end
25
+
26
+ # Layers as an array of strings
27
+ def layers
28
+ stack_layers.map(&:name)
29
+ end
18
30
  end
19
31
  end
20
32
  end
@@ -0,0 +1,8 @@
1
+ module Aptible
2
+ module Api
3
+ class InstanceLayerMembership < Resource
4
+ belongs_to :stack_layer
5
+ belongs_to :aws_instance
6
+ end
7
+ end
8
+ end
@@ -27,6 +27,7 @@ require 'aptible/api/database'
27
27
  require 'aptible/api/database_image'
28
28
  require 'aptible/api/disk'
29
29
  require 'aptible/api/image'
30
+ require 'aptible/api/instance_layer_membership'
30
31
  require 'aptible/api/log_drain'
31
32
  require 'aptible/api/operation'
32
33
  require 'aptible/api/permission'
@@ -35,6 +36,7 @@ require 'aptible/api/service'
35
36
  require 'aptible/api/vhost'
36
37
  require 'aptible/api/ssh_portal_connection'
37
38
  require 'aptible/api/stack'
39
+ require 'aptible/api/stack_layer'
38
40
  require 'aptible/api/database_credential'
39
41
  require 'aptible/api/ephemeral_session'
40
42
  require 'aptible/api/ephemeral_container'
@@ -2,6 +2,8 @@ module Aptible
2
2
  module Api
3
3
  class Stack < Resource
4
4
  has_many :aws_instances
5
+ has_many :stack_layers
6
+ has_many :operations
5
7
 
6
8
  field :id
7
9
  field :type
@@ -16,6 +18,10 @@ module Aptible
16
18
  field :ssh_portal_port
17
19
  field :created_at, type: Time
18
20
  field :updated_at, type: Time
21
+
22
+ def dns_layers
23
+ stack_layers.reject! { |l| l.dns_name.blank? }
24
+ end
19
25
  end
20
26
  end
21
27
  end
@@ -0,0 +1,27 @@
1
+ module Aptible
2
+ module Api
3
+ class StackLayer < Resource
4
+ belongs_to :stack
5
+ belongs_to :lead_instance
6
+ has_many :instance_layer_memberships
7
+
8
+ field :id
9
+ field :name
10
+ field :opsworks_layer_id
11
+ field :lead_instance_hostname
12
+ field :dns, type: Aptible::Resource::Boolean
13
+ field :internal_only_dns, type: Aptible::Resource::Boolean
14
+ field :dns_name
15
+ field :dns_provisioned_instance_id
16
+ field :outbound, type: Aptible::Resource::Boolean
17
+ field :created_at, type: Time
18
+ field :updated_at, type: Time
19
+
20
+ def dns_provisioned?
21
+ !dns_provisioned_instance_id.nil? &&
22
+ !lead_instance.nil? &&
23
+ lead_instance.id == dns_provisioned_instance_id
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,5 +1,5 @@
1
1
  module Aptible
2
2
  module Api
3
- VERSION = '1.2.12'.freeze
3
+ VERSION = '1.2.13'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aptible-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.12
4
+ version: 1.2.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Frank Macreery
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-27 00:00:00.000000000 Z
11
+ date: 2021-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aptible-auth
@@ -200,6 +200,7 @@ files:
200
200
  - lib/aptible/api/ephemeral_container.rb
201
201
  - lib/aptible/api/ephemeral_session.rb
202
202
  - lib/aptible/api/image.rb
203
+ - lib/aptible/api/instance_layer_membership.rb
203
204
  - lib/aptible/api/log_drain.rb
204
205
  - lib/aptible/api/metric_drain.rb
205
206
  - lib/aptible/api/operation.rb
@@ -209,6 +210,7 @@ files:
209
210
  - lib/aptible/api/service.rb
210
211
  - lib/aptible/api/ssh_portal_connection.rb
211
212
  - lib/aptible/api/stack.rb
213
+ - lib/aptible/api/stack_layer.rb
212
214
  - lib/aptible/api/version.rb
213
215
  - lib/aptible/api/vhost.rb
214
216
  - spec/aptible/api/agent_spec.rb
@@ -236,7 +238,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
236
238
  - !ruby/object:Gem::Version
237
239
  version: '0'
238
240
  requirements: []
239
- rubygems_version: 3.0.3
241
+ rubygems_version: 3.0.9
240
242
  signing_key:
241
243
  specification_version: 4
242
244
  summary: Ruby client for api.aptible.com