aptible-api 1.0.1 → 1.2.3

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
- SHA1:
3
- metadata.gz: 0b9aca00e65a10a0f6f5ec98378e0d9aaf51e771
4
- data.tar.gz: 6c79292502af6b50002c02e1673d9302827f7947
2
+ SHA256:
3
+ metadata.gz: 8ae1bc084c3cd404f53f6c9881d8dff9fb166e149fe10affe48a622edb41a12a
4
+ data.tar.gz: 91ffae818c21a9058f1d34928f7dcffb5c80f0530d2964cc8fea9d4548751c8d
5
5
  SHA512:
6
- metadata.gz: fc93680fa36342b72c15508a9e1a539c27d8fd52aa97f8e331b88d9d960ae6e1e4ab85ce60af1b9e33a8d35f877597a537c83d49ea279f6fc15b26027e5e23ec
7
- data.tar.gz: 999c85267736b37829ed897d3c2eb5673b8ef06fba9257a5aba58662302b84ddffd321deaabad7dd8f5c22bcb8d0e9bf42fb3ed85e10ebd527c9d227671f371b
6
+ metadata.gz: 3bf20c90a080274edd1fdbf1f56d122995732572d41bc27859102406c532d0ab00571e0f366abc365338569489bee999ba2c627c743f21aadd56f0d8052bf889
7
+ data.tar.gz: 99aa25ed38f9638c48781b041dfc289b384ca1c717ab95cddf30e630b5cd1ab72186ec7a23833b3cb38ad2f4da93ff505497f66a717f76c776801d84d430fc44
@@ -0,0 +1 @@
1
+ * @almathew
@@ -1,6 +1,9 @@
1
1
  sudo: false
2
2
 
3
3
  rvm:
4
- - "2.0"
5
4
  - "2.1"
6
5
  - "2.2"
6
+ - "2.3"
7
+ - "2.4"
8
+ - "2.5"
9
+ - "2.6"
data/README.md CHANGED
@@ -61,6 +61,4 @@ end
61
61
 
62
62
  MIT License, see [LICENSE](LICENSE.md) for details.
63
63
 
64
- Copyright (c) 2014 [Aptible](https://www.aptible.com) and contributors.
65
-
66
- [<img src="https://s.gravatar.com/avatar/9b58236204e844e3181e43e05ddb0809?s=60" style="border-radius: 50%;" alt="@sandersonet" />](https://github.com/sandersonet)
64
+ Copyright (c) 2019 [Aptible](https://www.aptible.com) and contributors.
data/Rakefile CHANGED
@@ -4,5 +4,5 @@ begin
4
4
  require 'aptible/tasks'
5
5
  Aptible::Tasks.load_tasks
6
6
  rescue LoadError
7
- $stderr.puts 'Skipping Aptible::Tasks initialization...'
7
+ warn 'Skipping Aptible::Tasks initialization...'
8
8
  end
@@ -1,4 +1,5 @@
1
1
  # encoding: utf-8
2
+
2
3
  lib = File.expand_path('../lib', __FILE__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
 
@@ -19,15 +20,16 @@ Gem::Specification.new do |spec|
19
20
  spec.test_files = spec.files.grep(%r{^spec/})
20
21
  spec.require_paths = ['lib']
21
22
 
22
- spec.add_dependency 'aptible-resource', '~> 1.0'
23
23
  spec.add_dependency 'aptible-auth', '~> 1.0'
24
+ spec.add_dependency 'aptible-resource', '~> 1.0'
24
25
  spec.add_dependency 'gem_config'
25
26
 
26
- spec.add_development_dependency 'bundler', '~> 1.3'
27
- spec.add_development_dependency 'aptible-tasks', '>= 0.2.0'
28
27
  spec.add_development_dependency 'activesupport'
29
- spec.add_development_dependency 'rake', '~> 10.5'
30
- spec.add_development_dependency 'rspec', '~> 2.0'
28
+ spec.add_development_dependency 'aptible-tasks', '>= 0.2.0'
29
+ spec.add_development_dependency 'bundler', '~> 1.3'
31
30
  spec.add_development_dependency 'foreman'
32
31
  spec.add_development_dependency 'pry'
32
+ spec.add_development_dependency 'rake', '~> 12.3.3'
33
+ spec.add_development_dependency 'rspec', '~> 3.9.0'
34
+ spec.add_development_dependency 'rspec-its', '~> 1.3.0'
33
35
  end
@@ -1,3 +1,5 @@
1
+ require 'tmpdir'
2
+
1
3
  require 'aptible/auth'
2
4
  require 'gem_config'
3
5
 
@@ -12,6 +12,8 @@ module Aptible
12
12
  has_many :disks
13
13
  has_many :services
14
14
  has_many :permissions
15
+ has_many :metric_drains
16
+ has_many :backup_retention_policy
15
17
  embeds_many :log_drains
16
18
 
17
19
  field :id
@@ -50,6 +52,7 @@ module Aptible
50
52
 
51
53
  def organization
52
54
  return @organization if @organization
55
+
53
56
  auth = Aptible::Auth::Organization.new(token: token, headers: headers)
54
57
  @organization = auth.find_by_url(organization_url)
55
58
  end
@@ -58,6 +61,14 @@ module Aptible
58
61
  rand = ('a'..'z').to_a.sample(8).join
59
62
  "#{organization_name.parameterize}-#{plan_id}-#{rand}"
60
63
  end
64
+
65
+ def each_orphaned_backup
66
+ base_href = "#{links['backups'].base_href}?orphaned=true"
67
+ Backup.each_page(href: base_href, headers: headers,
68
+ token: token) do |page|
69
+ page.each { |entry| yield entry }
70
+ end
71
+ end
61
72
  end
62
73
  end
63
74
  end
@@ -14,6 +14,11 @@ module Aptible
14
14
  field :aws_region
15
15
  field :created_at, type: Time
16
16
  field :updated_at, type: Time
17
+
18
+ def database_with_deleted
19
+ db_id = links['database'].href.split('/').last
20
+ Database.find(db_id, with_deleted: true, token: token, headers: headers)
21
+ end
17
22
  end
18
23
  end
19
24
  end
@@ -0,0 +1,16 @@
1
+ module Aptible
2
+ module Api
3
+ class BackupRetentionPolicy < Resource
4
+ belongs_to :account
5
+
6
+ field :id
7
+ field :daily
8
+ field :monthly
9
+ field :make_copy, type: Aptible::Resource::Boolean
10
+ field :created_at, type: Time
11
+ field :updated_at, type: Time
12
+ field :keep_final, type: Aptible::Resource::Boolean
13
+ field :account_id
14
+ end
15
+ end
16
+ end
@@ -4,6 +4,7 @@ module Aptible
4
4
  belongs_to :release
5
5
  belongs_to :vhost
6
6
  belongs_to :log_drain
7
+ belongs_to :metric_drain
7
8
 
8
9
  field :id
9
10
  field :host
@@ -16,6 +17,7 @@ module Aptible
16
17
  field :layer
17
18
  field :aws_instance_id
18
19
  field :port_mapping
20
+ field :mounts
19
21
  end
20
22
  end
21
23
  end
@@ -28,12 +28,27 @@ module Aptible
28
28
  def failed?
29
29
  # TODO: Add failed status at API level
30
30
  return false if provisioned?
31
+
31
32
  operations.select { |o| o.type == 'provision' }.all?(&:failed?)
32
33
  end
33
34
 
34
35
  def provisioned?
35
36
  status == 'provisioned'
36
37
  end
38
+
39
+ def current_configuration_with_deleted
40
+ id = links['current_configuration'].href.split('/').last
41
+ Aptible::Api::Configuration.find(
42
+ id, with_deleted: true, token: token, headers: headers
43
+ )
44
+ end
45
+
46
+ def disk_with_deleted
47
+ id = links['disk'].href.split('/').last
48
+ Aptible::Api::Disk.find(
49
+ id, with_deleted: true, token: token, headers: headers
50
+ )
51
+ end
37
52
  end
38
53
  end
39
54
  end
@@ -0,0 +1,28 @@
1
+ module Aptible
2
+ module Api
3
+ class MetricDrain < Resource
4
+ belongs_to :account
5
+ belongs_to :database
6
+ has_many :operations
7
+ has_many :containers
8
+
9
+ field :id
10
+
11
+ field :handle
12
+ field :status
13
+ field :drain_type
14
+ field :drain_configuration
15
+
16
+ field :aggregator_ca_certificate
17
+ field :aggregator_ca_private_key_blob
18
+ field :aggregator_host
19
+ field :aggregator_port_mapping
20
+ field :aggregator_docker_name
21
+ field :aggregator_instance_id
22
+ field :aggregator_allocation
23
+
24
+ field :created_at, type: Time
25
+ field :updated_at, type: Time
26
+ end
27
+ end
28
+ end
@@ -34,7 +34,7 @@ module Aptible
34
34
  def user
35
35
  auth = Aptible::Auth::User.new(token: token, headers: headers)
36
36
  auth.find_by_url(links['user'].href)
37
- rescue
37
+ rescue StandardError
38
38
  nil
39
39
  end
40
40
 
@@ -35,3 +35,5 @@ require 'aptible/api/stack'
35
35
  require 'aptible/api/database_credential'
36
36
  require 'aptible/api/ephemeral_session'
37
37
  require 'aptible/api/ephemeral_container'
38
+ require 'aptible/api/metric_drain'
39
+ require 'aptible/api/backup_retention_policy'
@@ -1,5 +1,5 @@
1
1
  module Aptible
2
2
  module Api
3
- VERSION = '1.0.1'.freeze
3
+ VERSION = '1.2.3'.freeze
4
4
  end
5
5
  end
@@ -9,6 +9,8 @@ end
9
9
  # Require library up front
10
10
  require 'aptible/api'
11
11
 
12
+ require 'rspec/its'
13
+
12
14
  RSpec.configure do |config|
13
15
  config.before { Aptible::Api.configuration.reset }
14
16
  end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aptible-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Frank Macreery
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-27 00:00:00.000000000 Z
11
+ date: 2020-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: aptible-resource
14
+ name: aptible-auth
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: aptible-auth
28
+ name: aptible-resource
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
@@ -53,19 +53,19 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: bundler
56
+ name: activesupport
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '1.3'
61
+ version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '1.3'
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: aptible-tasks
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +81,21 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: 0.2.0
83
83
  - !ruby/object:Gem::Dependency
84
- name: activesupport
84
+ name: bundler
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.3'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.3'
97
+ - !ruby/object:Gem::Dependency
98
+ name: foreman
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - ">="
@@ -95,61 +109,61 @@ dependencies:
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
- name: rake
112
+ name: pry
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - "~>"
115
+ - - ">="
102
116
  - !ruby/object:Gem::Version
103
- version: '10.5'
117
+ version: '0'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
- - - "~>"
122
+ - - ">="
109
123
  - !ruby/object:Gem::Version
110
- version: '10.5'
124
+ version: '0'
111
125
  - !ruby/object:Gem::Dependency
112
- name: rspec
126
+ name: rake
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: '2.0'
131
+ version: 12.3.3
118
132
  type: :development
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: '2.0'
138
+ version: 12.3.3
125
139
  - !ruby/object:Gem::Dependency
126
- name: foreman
140
+ name: rspec
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
- - - ">="
143
+ - - "~>"
130
144
  - !ruby/object:Gem::Version
131
- version: '0'
145
+ version: 3.9.0
132
146
  type: :development
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
- - - ">="
150
+ - - "~>"
137
151
  - !ruby/object:Gem::Version
138
- version: '0'
152
+ version: 3.9.0
139
153
  - !ruby/object:Gem::Dependency
140
- name: pry
154
+ name: rspec-its
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
- - - ">="
157
+ - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: '0'
159
+ version: 1.3.0
146
160
  type: :development
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
- - - ">="
164
+ - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: '0'
166
+ version: 1.3.0
153
167
  description: Ruby client for api.aptible.com
154
168
  email:
155
169
  - frank@macreery.com
@@ -157,6 +171,7 @@ executables: []
157
171
  extensions: []
158
172
  extra_rdoc_files: []
159
173
  files:
174
+ - ".github/CODEOWNERS"
160
175
  - ".gitignore"
161
176
  - ".rspec"
162
177
  - ".travis.yml"
@@ -171,6 +186,7 @@ files:
171
186
  - lib/aptible/api/agent.rb
172
187
  - lib/aptible/api/app.rb
173
188
  - lib/aptible/api/backup.rb
189
+ - lib/aptible/api/backup_retention_policy.rb
174
190
  - lib/aptible/api/certificate.rb
175
191
  - lib/aptible/api/configuration.rb
176
192
  - lib/aptible/api/container.rb
@@ -182,6 +198,7 @@ files:
182
198
  - lib/aptible/api/ephemeral_session.rb
183
199
  - lib/aptible/api/image.rb
184
200
  - lib/aptible/api/log_drain.rb
201
+ - lib/aptible/api/metric_drain.rb
185
202
  - lib/aptible/api/operation.rb
186
203
  - lib/aptible/api/permission.rb
187
204
  - lib/aptible/api/release.rb
@@ -201,7 +218,7 @@ homepage: https://github.com/aptible/aptible-api-ruby
201
218
  licenses:
202
219
  - MIT
203
220
  metadata: {}
204
- post_install_message:
221
+ post_install_message:
205
222
  rdoc_options: []
206
223
  require_paths:
207
224
  - lib
@@ -216,9 +233,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
216
233
  - !ruby/object:Gem::Version
217
234
  version: '0'
218
235
  requirements: []
219
- rubyforge_project:
220
- rubygems_version: 2.6.13
221
- signing_key:
236
+ rubygems_version: 3.0.3
237
+ signing_key:
222
238
  specification_version: 4
223
239
  summary: Ruby client for api.aptible.com
224
240
  test_files: