aptible-api 1.2.10 → 1.2.14

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 92af54c6e7fd7642fa023dc0ff1889781993642fdfb2f890083628c36100fdb0
4
- data.tar.gz: b528bc8bff6bdcdb441d18911339ff771f9671534ae5107533b3be70815ea1d5
3
+ metadata.gz: ac8da6599960ba21059c86ef28e9b67f851fe03437fa70b18dbb8229c55b1308
4
+ data.tar.gz: e1a9b2b6266974b94a24253537b98acf4b86ace0bc8e3f0f740ecd29c63a1607
5
5
  SHA512:
6
- metadata.gz: c627de812c0c608ce8a6acd0c073928f5d62ea4a34188ed4ec383d806774736cffabe9a0bfbdbdc0fb187d567bdb7164210e76d6f5dbf77b95d10dc23ef9eb3c
7
- data.tar.gz: fcb84c2146f728fc26697301898b347efe59396cd4bfec92a99ef627384ce2b72d405de84692f4285d333b34cd742beca43ab761752585354d25e8275ccc10a8
6
+ metadata.gz: 2accac9b48e66b6520d043fd84fca8bee9753de242411d73420b17da761468f8865e9ca71230dd84b4fc9de0fc4e66ce5a036e02dfcb5da809f3451eae875b6e
7
+ data.tar.gz: b27dcdaadaf34201af9dd237f3e56f5ecf168131925f4e68562ff5871a6849d3be9222a7da6525de3e84ab86d2e4c76077c4aa74d52645c0e2a855aa3960473f
@@ -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
@@ -4,8 +4,9 @@ module Aptible
4
4
  belongs_to :account
5
5
  belongs_to :database
6
6
  belongs_to :database_image
7
- has_many :operations
7
+ belongs_to :created_from_operation
8
8
 
9
+ has_many :operations
9
10
  has_one :copied_from
10
11
  has_many :copies
11
12
 
@@ -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
@@ -6,6 +6,11 @@ module Aptible
6
6
  has_many :operations
7
7
  has_many :containers
8
8
 
9
+ # Temporary until deploy-api renames this field
10
+ embeds_one :new_backend
11
+ # Necessary to avoid downtime when new_backend becomes backend
12
+ embeds_one :backend
13
+
9
14
  field :id
10
15
  field :handle
11
16
  field :drain_type
@@ -0,0 +1,17 @@
1
+ module Aptible
2
+ module Api
3
+ class LogDrainBackend < Resource
4
+ has_many :log_drains
5
+
6
+ field :id
7
+ field :current, type: Aptible::Resource::Boolean
8
+ field :channel
9
+ field :gentlemanjerry_image
10
+ field :gentlemanjerry_tag
11
+ field :joecool_image
12
+ field :joecool_tag
13
+ field :created_at, type: Time
14
+ field :updated_at, type: Time
15
+ end
16
+ end
17
+ end
@@ -27,7 +27,9 @@ 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'
32
+ require 'aptible/api/log_drain_backend'
31
33
  require 'aptible/api/operation'
32
34
  require 'aptible/api/permission'
33
35
  require 'aptible/api/release'
@@ -35,6 +37,7 @@ require 'aptible/api/service'
35
37
  require 'aptible/api/vhost'
36
38
  require 'aptible/api/ssh_portal_connection'
37
39
  require 'aptible/api/stack'
40
+ require 'aptible/api/stack_layer'
38
41
  require 'aptible/api/database_credential'
39
42
  require 'aptible/api/ephemeral_session'
40
43
  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.10'.freeze
3
+ VERSION = '1.2.14'.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.10
4
+ version: 1.2.14
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-04-30 00:00:00.000000000 Z
11
+ date: 2021-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aptible-auth
@@ -200,7 +200,9 @@ 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
205
+ - lib/aptible/api/log_drain_backend.rb
204
206
  - lib/aptible/api/metric_drain.rb
205
207
  - lib/aptible/api/operation.rb
206
208
  - lib/aptible/api/permission.rb
@@ -209,6 +211,7 @@ files:
209
211
  - lib/aptible/api/service.rb
210
212
  - lib/aptible/api/ssh_portal_connection.rb
211
213
  - lib/aptible/api/stack.rb
214
+ - lib/aptible/api/stack_layer.rb
212
215
  - lib/aptible/api/version.rb
213
216
  - lib/aptible/api/vhost.rb
214
217
  - spec/aptible/api/agent_spec.rb