aptible-api 1.0.1 → 1.2.3
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 +5 -5
- data/.github/CODEOWNERS +1 -0
- data/.travis.yml +4 -1
- data/README.md +1 -3
- data/Rakefile +1 -1
- data/aptible-api.gemspec +7 -5
- data/lib/aptible/api.rb +2 -0
- data/lib/aptible/api/account.rb +11 -0
- data/lib/aptible/api/backup.rb +5 -0
- data/lib/aptible/api/backup_retention_policy.rb +16 -0
- data/lib/aptible/api/container.rb +2 -0
- data/lib/aptible/api/database.rb +15 -0
- data/lib/aptible/api/metric_drain.rb +28 -0
- data/lib/aptible/api/operation.rb +1 -1
- data/lib/aptible/api/resource.rb +2 -0
- data/lib/aptible/api/version.rb +1 -1
- data/spec/spec_helper.rb +2 -0
- metadata +49 -33
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8ae1bc084c3cd404f53f6c9881d8dff9fb166e149fe10affe48a622edb41a12a
|
4
|
+
data.tar.gz: 91ffae818c21a9058f1d34928f7dcffb5c80f0530d2964cc8fea9d4548751c8d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3bf20c90a080274edd1fdbf1f56d122995732572d41bc27859102406c532d0ab00571e0f366abc365338569489bee999ba2c627c743f21aadd56f0d8052bf889
|
7
|
+
data.tar.gz: 99aa25ed38f9638c48781b041dfc289b384ca1c717ab95cddf30e630b5cd1ab72186ec7a23833b3cb38ad2f4da93ff505497f66a717f76c776801d84d430fc44
|
data/.github/CODEOWNERS
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
* @almathew
|
data/.travis.yml
CHANGED
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)
|
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
data/aptible-api.gemspec
CHANGED
@@ -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 '
|
30
|
-
spec.add_development_dependency '
|
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
|
data/lib/aptible/api.rb
CHANGED
data/lib/aptible/api/account.rb
CHANGED
@@ -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
|
data/lib/aptible/api/backup.rb
CHANGED
@@ -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
|
data/lib/aptible/api/database.rb
CHANGED
@@ -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
|
data/lib/aptible/api/resource.rb
CHANGED
data/lib/aptible/api/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
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.
|
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:
|
11
|
+
date: 2020-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: aptible-
|
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-
|
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:
|
56
|
+
name: activesupport
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
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: '
|
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:
|
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:
|
112
|
+
name: pry
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
|
-
- - "
|
115
|
+
- - ">="
|
102
116
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
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: '
|
124
|
+
version: '0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
126
|
+
name: rake
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
129
|
- - "~>"
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
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:
|
138
|
+
version: 12.3.3
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
140
|
+
name: rspec
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
|
-
- - "
|
143
|
+
- - "~>"
|
130
144
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
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:
|
152
|
+
version: 3.9.0
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
154
|
+
name: rspec-its
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
142
156
|
requirements:
|
143
|
-
- - "
|
157
|
+
- - "~>"
|
144
158
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
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:
|
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
|
-
|
220
|
-
|
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:
|