fog-aws 3.6.4 → 3.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +69 -0
- data/CHANGELOG.md +82 -4
- data/Gemfile +1 -1
- data/README.md +20 -0
- data/lib/fog/aws.rb +1 -1
- data/lib/fog/aws/credential_fetcher.rb +54 -7
- data/lib/fog/aws/models/compute/flavors.rb +472 -32
- data/lib/fog/aws/models/compute/server.rb +4 -2
- data/lib/fog/aws/models/compute/servers.rb +2 -0
- data/lib/fog/aws/models/compute/vpc.rb +1 -1
- data/lib/fog/aws/models/storage/file.rb +125 -3
- data/lib/fog/aws/parsers/storage/upload_part_copy_object.rb +18 -0
- data/lib/fog/aws/requests/compute/request_spot_instances.rb +1 -1
- data/lib/fog/aws/requests/compute/run_instances.rb +20 -0
- data/lib/fog/aws/requests/compute/stop_instances.rb +11 -3
- data/lib/fog/aws/requests/storage/shared_mock_methods.rb +1 -0
- data/lib/fog/aws/requests/storage/upload_part_copy.rb +119 -0
- data/lib/fog/aws/storage.rb +2 -1
- data/lib/fog/aws/version.rb +1 -1
- data/tests/credentials_tests.rb +47 -0
- data/tests/requests/storage/multipart_copy_tests.rb +93 -0
- data/tests/requests/storage/object_tests.rb +7 -0
- metadata +9 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b7361a3fa82cc86bf32908aa54819a2efb8485e6639cbe9cd62a0e3bedb8e422
|
4
|
+
data.tar.gz: d0b4dea28aecb3a18b887ce40437baa868f38ebd83fa69e13ecf912d0aba3df8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d7602d22a1abab86581a0b4500c00b545af1264e46fac5648d70d0a2fc9dd157ffa37bf289b87aaa08836aa12d7f2cd67ea4437e2732796c7e089811ca2b029
|
7
|
+
data.tar.gz: 9e90b2ae4aeeb8170630825f49fa2500f56b45bcaa38dade2b72b7019a1db5d93d9634645301aa0706f1df25e118d03fe5b9e6a11e2a9f47e78e82dd9790cb7d
|
data/.travis.yml
CHANGED
@@ -19,8 +19,51 @@ matrix:
|
|
19
19
|
gemfile: Gemfile
|
20
20
|
- rvm: 2.5.0
|
21
21
|
gemfile: gemfiles/Gemfile-edge
|
22
|
+
- rvm: 2.6.6
|
23
|
+
gemfile: Gemfile
|
24
|
+
- rvm: 2.6.6
|
25
|
+
gemfile: gemfiles/Gemfile-edge
|
26
|
+
- rvm: 2.7.2
|
27
|
+
gemfile: Gemfile
|
28
|
+
- rvm: 2.7.2
|
29
|
+
gemfile: gemfiles/Gemfile-edge
|
30
|
+
- rvm: jruby-head
|
31
|
+
gemfile: Gemfile
|
32
|
+
# ppc64le specific changes
|
33
|
+
- rvm: 2.3.0
|
34
|
+
gemfile: Gemfile
|
35
|
+
arch: ppc64le
|
36
|
+
- rvm: 2.3.0
|
37
|
+
arch: ppc64le
|
38
|
+
gemfile: gemfiles/Gemfile-edge
|
39
|
+
- rvm: 2.4.0
|
40
|
+
arch: ppc64le
|
41
|
+
gemfile: Gemfile
|
42
|
+
- rvm: 2.4.0
|
43
|
+
arch: ppc64le
|
44
|
+
gemfile: gemfiles/Gemfile-edge
|
45
|
+
- rvm: 2.5.0
|
46
|
+
arch: ppc64le
|
47
|
+
gemfile: Gemfile
|
48
|
+
- rvm: 2.5.0
|
49
|
+
arch: ppc64le
|
50
|
+
gemfile: gemfiles/Gemfile-edge
|
51
|
+
- rvm: 2.6.6
|
52
|
+
arch: ppc64le
|
53
|
+
gemfile: Gemfile
|
54
|
+
- rvm: 2.6.6
|
55
|
+
arch: ppc64le
|
56
|
+
gemfile: gemfiles/Gemfile-edge
|
57
|
+
- rvm: 2.7.2
|
58
|
+
arch: ppc64le
|
59
|
+
gemfile: Gemfile
|
60
|
+
- rvm: 2.7.2
|
61
|
+
arch: ppc64le
|
62
|
+
gemfile: gemfiles/Gemfile-edge
|
22
63
|
- rvm: jruby-head
|
64
|
+
arch: ppc64le
|
23
65
|
gemfile: Gemfile
|
66
|
+
|
24
67
|
allow_failures:
|
25
68
|
- rvm: jruby-head
|
26
69
|
gemfile: Gemfile
|
@@ -32,6 +75,32 @@ matrix:
|
|
32
75
|
gemfile: gemfiles/Gemfile-edge
|
33
76
|
- rvm: 2.5.0
|
34
77
|
gemfile: gemfiles/Gemfile-edge
|
78
|
+
- rvm: 2.6.6
|
79
|
+
gemfile: gemfiles/Gemfile-edge
|
80
|
+
- rvm: 2.7.2
|
81
|
+
gemfile: gemfiles/Gemfile-edge
|
82
|
+
# ppc64le specific changes
|
83
|
+
- rvm: jruby-head
|
84
|
+
arch: ppc64le
|
85
|
+
gemfile: Gemfile
|
86
|
+
- rvm: 2.2.0
|
87
|
+
arch: ppc64le
|
88
|
+
gemfile: gemfiles/Gemfile-edge
|
89
|
+
- rvm: 2.3.0
|
90
|
+
arch: ppc64le
|
91
|
+
gemfile: gemfiles/Gemfile-edge
|
92
|
+
- rvm: 2.4.0
|
93
|
+
arch: ppc64le
|
94
|
+
gemfile: gemfiles/Gemfile-edge
|
95
|
+
- rvm: 2.5.0
|
96
|
+
arch: ppc64le
|
97
|
+
gemfile: gemfiles/Gemfile-edge
|
98
|
+
- rvm: 2.6.6
|
99
|
+
arch: ppc64le
|
100
|
+
gemfile: gemfiles/Gemfile-edge
|
101
|
+
- rvm: 2.7.2
|
102
|
+
arch: ppc64le
|
103
|
+
gemfile: gemfiles/Gemfile-edge
|
35
104
|
notifications:
|
36
105
|
email: false
|
37
106
|
irc:
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,82 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [v3.8.0](https://github.com/fog/fog-aws/tree/v3.8.0)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/fog/fog-aws/compare/v3.7.0...v3.8.0)
|
6
|
+
|
7
|
+
**Closed issues:**
|
8
|
+
|
9
|
+
- Getting Auth failure Exception for non enabled AWS regions in AWS account. [\#585](https://github.com/fog/fog-aws/issues/585)
|
10
|
+
|
11
|
+
**Merged pull requests:**
|
12
|
+
|
13
|
+
- Filter unknown UploadPartCopy paramaters [\#589](https://github.com/fog/fog-aws/pull/589) ([stanhu](https://github.com/stanhu))
|
14
|
+
- Fix NameError in multipart copy [\#588](https://github.com/fog/fog-aws/pull/588) ([stanhu](https://github.com/stanhu))
|
15
|
+
- Rewind pointer if file is eof on put\_object mock [\#587](https://github.com/fog/fog-aws/pull/587) ([ekulz](https://github.com/ekulz))
|
16
|
+
- Update .travis.yml [\#584](https://github.com/fog/fog-aws/pull/584) ([nageshlop](https://github.com/nageshlop))
|
17
|
+
|
18
|
+
## [v3.7.0](https://github.com/fog/fog-aws/tree/v3.7.0) (2020-12-01)
|
19
|
+
[Full Changelog](https://github.com/fog/fog-aws/compare/v3.6.7...v3.7.0)
|
20
|
+
|
21
|
+
**Closed issues:**
|
22
|
+
|
23
|
+
- File\#copy does not support files above 5 GB [\#577](https://github.com/fog/fog-aws/issues/577)
|
24
|
+
- fog-aws: AWS extended length resource ID issues \(8-\>18\) [\#517](https://github.com/fog/fog-aws/issues/517)
|
25
|
+
|
26
|
+
**Merged pull requests:**
|
27
|
+
|
28
|
+
- Add all m6gd, r6g, r6gd, c6g, and c6gd instance classes [\#582](https://github.com/fog/fog-aws/pull/582) ([calebwoofenden](https://github.com/calebwoofenden))
|
29
|
+
- Test Ruby v2.6.6 and v2.7.2 in CI [\#581](https://github.com/fog/fog-aws/pull/581) ([stanhu](https://github.com/stanhu))
|
30
|
+
- Add multi-threaded support for File\#copy [\#579](https://github.com/fog/fog-aws/pull/579) ([stanhu](https://github.com/stanhu))
|
31
|
+
- Add support for multipart Fog::AWS::Storage::File\#copy [\#578](https://github.com/fog/fog-aws/pull/578) ([stanhu](https://github.com/stanhu))
|
32
|
+
- Add AssumeRoleWithWebIdentity to fetch\_credentials [\#576](https://github.com/fog/fog-aws/pull/576) ([jpac-run](https://github.com/jpac-run))
|
33
|
+
|
34
|
+
## [v3.6.7](https://github.com/fog/fog-aws/tree/v3.6.7) (2020-08-26)
|
35
|
+
[Full Changelog](https://github.com/fog/fog-aws/compare/v3.6.6...v3.6.7)
|
36
|
+
|
37
|
+
**Merged pull requests:**
|
38
|
+
|
39
|
+
- S3 dot Region endpoint structure applied [\#574](https://github.com/fog/fog-aws/pull/574) ([gharutyunyan-vineti](https://github.com/gharutyunyan-vineti))
|
40
|
+
|
41
|
+
## [v3.6.6](https://github.com/fog/fog-aws/tree/v3.6.6) (2020-06-23)
|
42
|
+
[Full Changelog](https://github.com/fog/fog-aws/compare/v3.6.5...v3.6.6)
|
43
|
+
|
44
|
+
**Closed issues:**
|
45
|
+
|
46
|
+
- max\_keys param in storage.directories.get.... what am I missing? [\#568](https://github.com/fog/fog-aws/issues/568)
|
47
|
+
- Fog Logs? [\#561](https://github.com/fog/fog-aws/issues/561)
|
48
|
+
|
49
|
+
**Merged pull requests:**
|
50
|
+
|
51
|
+
- added missing region EU South \(Milan\) [\#570](https://github.com/fog/fog-aws/pull/570) ([saldan](https://github.com/saldan))
|
52
|
+
- Fix VPC model is\_default requires [\#567](https://github.com/fog/fog-aws/pull/567) ([biinari](https://github.com/biinari))
|
53
|
+
|
54
|
+
## [v3.6.5](https://github.com/fog/fog-aws/tree/v3.6.5) (2020-05-22)
|
55
|
+
[Full Changelog](https://github.com/fog/fog-aws/compare/v3.6.4...v3.6.5)
|
56
|
+
|
57
|
+
**Closed issues:**
|
58
|
+
|
59
|
+
- Fog::Compute::AWS is deprecated, please use Fog::AWS::Compute warning [\#565](https://github.com/fog/fog-aws/issues/565)
|
60
|
+
- Duplicate compute flavours [\#563](https://github.com/fog/fog-aws/issues/563)
|
61
|
+
- 3.6.4 does not fetch iam credentials using IMDSv2 when running from inside containers with IMDSv2 Defaults [\#560](https://github.com/fog/fog-aws/issues/560)
|
62
|
+
|
63
|
+
**Merged pull requests:**
|
64
|
+
|
65
|
+
- Fix naming of various AWS compute flavors [\#564](https://github.com/fog/fog-aws/pull/564) ([abrom](https://github.com/abrom))
|
66
|
+
- Gracefully handle failure of IMDSv2 and allow fallback to IMDSv1 [\#562](https://github.com/fog/fog-aws/pull/562) ([atyndall](https://github.com/atyndall))
|
67
|
+
|
68
|
+
## [v3.6.4](https://github.com/fog/fog-aws/tree/v3.6.4) (2020-05-14)
|
69
|
+
[Full Changelog](https://github.com/fog/fog-aws/compare/v3.6.3...v3.6.4)
|
70
|
+
|
71
|
+
**Closed issues:**
|
72
|
+
|
73
|
+
- Is fog-aws compatible with AWS Trust Services? [\#558](https://github.com/fog/fog-aws/issues/558)
|
74
|
+
|
75
|
+
**Merged pull requests:**
|
76
|
+
|
77
|
+
- Add support for IMDSv2 in CredentialFetcher [\#559](https://github.com/fog/fog-aws/pull/559) ([atyndall](https://github.com/atyndall))
|
78
|
+
- Don’t install development scripts [\#557](https://github.com/fog/fog-aws/pull/557) ([amarshall](https://github.com/amarshall))
|
79
|
+
|
3
80
|
## [v3.6.3](https://github.com/fog/fog-aws/tree/v3.6.3) (2020-04-22)
|
4
81
|
[Full Changelog](https://github.com/fog/fog-aws/compare/v3.6.2...v3.6.3)
|
5
82
|
|
@@ -20,6 +97,7 @@
|
|
20
97
|
|
21
98
|
**Merged pull requests:**
|
22
99
|
|
100
|
+
- hibernation option to compute [\#569](https://github.com/fog/fog-aws/pull/569) ([taniahagan](https://github.com/taniahagan))
|
23
101
|
- Adding two missing regions to Fog::AWS.regions [\#552](https://github.com/fog/fog-aws/pull/552) ([lvangool](https://github.com/lvangool))
|
24
102
|
- Adds missing param WebIdentityToken for the request to the AWS api [\#550](https://github.com/fog/fog-aws/pull/550) ([dgoradia](https://github.com/dgoradia))
|
25
103
|
- Fixes type in class name for STS assume\_role\_with\_web\_identity parser [\#549](https://github.com/fog/fog-aws/pull/549) ([dgoradia](https://github.com/dgoradia))
|
@@ -300,6 +378,7 @@
|
|
300
378
|
- Fog mock accuracy, fixes \#341 [\#344](https://github.com/fog/fog-aws/pull/344) ([easkay](https://github.com/easkay))
|
301
379
|
- Subnet [\#343](https://github.com/fog/fog-aws/pull/343) ([ehowe](https://github.com/ehowe))
|
302
380
|
- Fix multipart upload [\#340](https://github.com/fog/fog-aws/pull/340) ([nobmurakita](https://github.com/nobmurakita))
|
381
|
+
- credential\_fetcher: Mark AWS metadata calls as idempotent [\#329](https://github.com/fog/fog-aws/pull/329) ([mtekel](https://github.com/mtekel))
|
303
382
|
|
304
383
|
## [v1.2.0](https://github.com/fog/fog-aws/tree/v1.2.0) (2017-01-20)
|
305
384
|
[Full Changelog](https://github.com/fog/fog-aws/compare/v1.1.0...v1.2.0)
|
@@ -327,14 +406,13 @@
|
|
327
406
|
- Canada and London regions [\#333](https://github.com/fog/fog-aws/pull/333) ([mattheworiordan](https://github.com/mattheworiordan))
|
328
407
|
- Updated ELB Dual Stack hosted zone DNS records [\#332](https://github.com/fog/fog-aws/pull/332) ([mattheworiordan](https://github.com/mattheworiordan))
|
329
408
|
- Added support for attaching auto scaling groups to target groups [\#330](https://github.com/fog/fog-aws/pull/330) ([maf23](https://github.com/maf23))
|
330
|
-
-
|
409
|
+
- fix host header with another port on s3 [\#327](https://github.com/fog/fog-aws/pull/327) ([rodrigoapereira](https://github.com/rodrigoapereira))
|
331
410
|
|
332
411
|
## [v1.0.0](https://github.com/fog/fog-aws/tree/v1.0.0) (2016-12-12)
|
333
412
|
[Full Changelog](https://github.com/fog/fog-aws/compare/v0.13.0...v1.0.0)
|
334
413
|
|
335
414
|
**Merged pull requests:**
|
336
415
|
|
337
|
-
- fix host header with another port on s3 [\#327](https://github.com/fog/fog-aws/pull/327) ([rodrigoapereira](https://github.com/rodrigoapereira))
|
338
416
|
- Add new t2.xlarge, t2.2xlarge and r4 class instances. [\#326](https://github.com/fog/fog-aws/pull/326) ([rogersd](https://github.com/rogersd))
|
339
417
|
- Fix the bug that can't create fifo queue in SQS. [\#323](https://github.com/fog/fog-aws/pull/323) ([ebihara99999](https://github.com/ebihara99999))
|
340
418
|
- data pipeline mocks [\#318](https://github.com/fog/fog-aws/pull/318) ([ehowe](https://github.com/ehowe))
|
@@ -533,7 +611,7 @@
|
|
533
611
|
- make net/ssh require optional [\#197](https://github.com/fog/fog-aws/pull/197) ([geemus](https://github.com/geemus))
|
534
612
|
- Cache cluster security group parser [\#190](https://github.com/fog/fog-aws/pull/190) ([eherot](https://github.com/eherot))
|
535
613
|
- Allow region to be set for STS [\#189](https://github.com/fog/fog-aws/pull/189) ([fcheung](https://github.com/fcheung))
|
536
|
-
- add cn support for s3 [\#187](https://github.com/fog/fog-aws/pull/187) ([
|
614
|
+
- add cn support for s3 [\#187](https://github.com/fog/fog-aws/pull/187) ([ming535](https://github.com/ming535))
|
537
615
|
- mock instance stop and start properly [\#184](https://github.com/fog/fog-aws/pull/184) ([ehowe](https://github.com/ehowe))
|
538
616
|
- Disable idempotent option when block is passed to get\_object [\#183](https://github.com/fog/fog-aws/pull/183) ([ghost](https://github.com/ghost))
|
539
617
|
- Yield arguments to Mock\#get\_object block more similar to Excon [\#182](https://github.com/fog/fog-aws/pull/182) ([tdg5](https://github.com/tdg5))
|
@@ -857,4 +935,4 @@
|
|
857
935
|
## [fog-brightbox_v0.0.1](https://github.com/fog/fog-aws/tree/fog-brightbox_v0.0.1) (2014-02-19)
|
858
936
|
|
859
937
|
|
860
|
-
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
|
938
|
+
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -105,6 +105,26 @@ directory.files
|
|
105
105
|
directory.files.new(key: 'user/1/Gemfile').url(Time.now + 60)
|
106
106
|
```
|
107
107
|
|
108
|
+
#### Copying a file
|
109
|
+
|
110
|
+
```ruby
|
111
|
+
directory = s3.directories.new(key: 'gaudi-portal-dev')
|
112
|
+
file = directory.files.get('user/1/Gemfile')
|
113
|
+
file.copy("target-bucket", "user/2/Gemfile.copy")
|
114
|
+
```
|
115
|
+
|
116
|
+
To speed transfers of large files, the `concurrency` option can be used
|
117
|
+
to spawn multiple threads. Note that the file must be at least 5 MB for
|
118
|
+
multipart uploads to work. For example:
|
119
|
+
|
120
|
+
```ruby
|
121
|
+
directory = s3.directories.new(key: 'gaudi-portal-dev')
|
122
|
+
file = directory.files.get('user/1/Gemfile')
|
123
|
+
file.multipart_chunk_size = 10 * 1024 * 1024
|
124
|
+
file.concurrency = 10
|
125
|
+
file.copy("target-bucket", "user/2/Gemfile.copy")
|
126
|
+
```
|
127
|
+
|
108
128
|
## Documentation
|
109
129
|
|
110
130
|
See the [online documentation](http://www.rubydoc.info/github/fog/fog-aws) for a complete API reference.
|
data/lib/fog/aws.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Fog
|
2
4
|
module AWS
|
3
5
|
module CredentialFetcher
|
@@ -9,6 +11,8 @@ module Fog
|
|
9
11
|
|
10
12
|
CONTAINER_CREDENTIALS_HOST = "http://169.254.170.2"
|
11
13
|
|
14
|
+
STS_GLOBAL_ENDPOINT = "https://sts.amazonaws.com"
|
15
|
+
|
12
16
|
module ServiceMethods
|
13
17
|
def fetch_credentials(options)
|
14
18
|
if options[:use_iam_profile] && Fog.mocking?
|
@@ -23,29 +27,52 @@ module Fog
|
|
23
27
|
connection = options[:connection] || Excon.new(CONTAINER_CREDENTIALS_HOST)
|
24
28
|
credential_path = options[:credential_path] || ENV["AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"]
|
25
29
|
role_data = connection.get(:path => credential_path, :idempotent => true, :expects => 200).body
|
30
|
+
session = Fog::JSON.decode(role_data)
|
31
|
+
|
32
|
+
if region.nil?
|
33
|
+
connection = options[:metadata_connection] || Excon.new(INSTANCE_METADATA_HOST)
|
34
|
+
token_header = fetch_credentials_token_header(connection, options[:disable_imds_v2])
|
35
|
+
region = connection.get(:path => INSTANCE_METADATA_AZ, :idempotent => true, :expects => 200, :headers => token_header).body[0..-2]
|
36
|
+
end
|
37
|
+
elsif ENV["AWS_WEB_IDENTITY_TOKEN_FILE"]
|
38
|
+
params = {
|
39
|
+
:Action => "AssumeRoleWithWebIdentity",
|
40
|
+
:RoleArn => options[:role_arn] || ENV.fetch("AWS_ROLE_ARN"),
|
41
|
+
:RoleSessionName => options[:role_session_name] || ENV.fetch("AWS_ROLE_SESSION_NAME"),
|
42
|
+
:WebIdentityToken => File.read(options[:aws_web_identity_token_file] || ENV.fetch("AWS_WEB_IDENTITY_TOKEN_FILE")),
|
43
|
+
:Version => "2011-06-15",
|
44
|
+
}
|
45
|
+
connection = options[:connection] || Excon.new(STS_GLOBAL_ENDPOINT, :query => params)
|
46
|
+
document = Nokogiri::XML(connection.get(:idempotent => true, :expects => 200).body)
|
47
|
+
|
48
|
+
session = {
|
49
|
+
"AccessKeyId" => document.css("AccessKeyId").children.text,
|
50
|
+
"SecretAccessKey" => document.css("SecretAccessKey").children.text,
|
51
|
+
"Token" => document.css("SessionToken").children.text,
|
52
|
+
"Expiration" => document.css("Expiration").children.text,
|
53
|
+
}
|
26
54
|
|
27
55
|
if region.nil?
|
28
56
|
connection = options[:metadata_connection] || Excon.new(INSTANCE_METADATA_HOST)
|
29
|
-
|
30
|
-
token_header = { "X-aws-ec2-metadata-token" => token }
|
57
|
+
token_header = fetch_credentials_token_header(connection, options[:disable_imds_v2])
|
31
58
|
region = connection.get(:path => INSTANCE_METADATA_AZ, :idempotent => true, :expects => 200, :headers => token_header).body[0..-2]
|
32
59
|
end
|
33
60
|
else
|
34
61
|
connection = options[:connection] || Excon.new(INSTANCE_METADATA_HOST)
|
35
|
-
|
36
|
-
token_header = { "X-aws-ec2-metadata-token" => token }
|
62
|
+
token_header = fetch_credentials_token_header(connection, options[:disable_imds_v2])
|
37
63
|
role_name = connection.get(:path => INSTANCE_METADATA_PATH, :idempotent => true, :expects => 200, :headers => token_header).body
|
38
64
|
role_data = connection.get(:path => INSTANCE_METADATA_PATH+role_name, :idempotent => true, :expects => 200, :headers => token_header).body
|
65
|
+
session = Fog::JSON.decode(role_data)
|
66
|
+
|
39
67
|
region ||= connection.get(:path => INSTANCE_METADATA_AZ, :idempotent => true, :expects => 200, :headers => token_header).body[0..-2]
|
40
68
|
end
|
41
|
-
|
42
|
-
session = Fog::JSON.decode(role_data)
|
69
|
+
|
43
70
|
credentials = {}
|
44
71
|
credentials[:aws_access_key_id] = session['AccessKeyId']
|
45
72
|
credentials[:aws_secret_access_key] = session['SecretAccessKey']
|
46
73
|
credentials[:aws_session_token] = session['Token']
|
47
74
|
credentials[:aws_credentials_expire_at] = Time.xmlschema session['Expiration']
|
48
|
-
|
75
|
+
|
49
76
|
# set region by default to the one the instance is in.
|
50
77
|
credentials[:region] = region
|
51
78
|
#these indicate the metadata service is unavailable or has no profile setup
|
@@ -58,6 +85,26 @@ module Fog
|
|
58
85
|
super
|
59
86
|
end
|
60
87
|
end
|
88
|
+
|
89
|
+
def fetch_credentials_token_header(connection, disable_imds_v2)
|
90
|
+
return nil if disable_imds_v2
|
91
|
+
|
92
|
+
token = connection.put(
|
93
|
+
:path => INSTANCE_METADATA_TOKEN,
|
94
|
+
:idempotent => true,
|
95
|
+
:expects => 200,
|
96
|
+
:retry_interval => 1,
|
97
|
+
:retry_limit => 3,
|
98
|
+
:read_timeout => 1,
|
99
|
+
:write_timeout => 1,
|
100
|
+
:connect_timeout => 1,
|
101
|
+
:headers => { "X-aws-ec2-metadata-token-ttl-seconds" => "300" }
|
102
|
+
).body
|
103
|
+
|
104
|
+
{ "X-aws-ec2-metadata-token" => token }
|
105
|
+
rescue Excon::Error
|
106
|
+
nil
|
107
|
+
end
|
61
108
|
end
|
62
109
|
|
63
110
|
module ConnectionMethods
|
@@ -68,7 +68,7 @@ module Fog
|
|
68
68
|
},
|
69
69
|
{
|
70
70
|
:id => 't1.micro',
|
71
|
-
:name => 'Micro Instance',
|
71
|
+
:name => 'T1 Micro Instance',
|
72
72
|
:bits => 32,
|
73
73
|
:cores => 1,
|
74
74
|
:disk => 0,
|
@@ -88,7 +88,7 @@ module Fog
|
|
88
88
|
},
|
89
89
|
{
|
90
90
|
:id => 't2.micro',
|
91
|
-
:name => 'Micro Instance',
|
91
|
+
:name => 'T2 Micro Instance',
|
92
92
|
:bits => 64,
|
93
93
|
:cores => 1,
|
94
94
|
:disk => 0,
|
@@ -98,7 +98,7 @@ module Fog
|
|
98
98
|
},
|
99
99
|
{
|
100
100
|
:id => 't2.small',
|
101
|
-
:name => 'Small Instance',
|
101
|
+
:name => 'T2 Small Instance',
|
102
102
|
:bits => 64,
|
103
103
|
:cores => 1,
|
104
104
|
:disk => 0,
|
@@ -108,7 +108,7 @@ module Fog
|
|
108
108
|
},
|
109
109
|
{
|
110
110
|
:id => 't2.medium',
|
111
|
-
:name => 'Medium Instance',
|
111
|
+
:name => 'T2 Medium Instance',
|
112
112
|
:bits => 64,
|
113
113
|
:cores => 2,
|
114
114
|
:disk => 0,
|
@@ -118,7 +118,7 @@ module Fog
|
|
118
118
|
},
|
119
119
|
{
|
120
120
|
:id => 't2.large',
|
121
|
-
:name => 'Large Instance',
|
121
|
+
:name => 'T2 Large Instance',
|
122
122
|
:bits => 64,
|
123
123
|
:cores => 2,
|
124
124
|
:disk => 0,
|
@@ -128,7 +128,7 @@ module Fog
|
|
128
128
|
},
|
129
129
|
{
|
130
130
|
:id => 't2.xlarge',
|
131
|
-
:name => 'Extra Large Instance',
|
131
|
+
:name => 'T2 Extra Large Instance',
|
132
132
|
:bits => 64,
|
133
133
|
:cores => 4,
|
134
134
|
:disk => 0,
|
@@ -138,7 +138,7 @@ module Fog
|
|
138
138
|
},
|
139
139
|
{
|
140
140
|
:id => 't2.2xlarge',
|
141
|
-
:name => 'Double Extra Large Instance',
|
141
|
+
:name => 'T2 Double Extra Large Instance',
|
142
142
|
:bits => 64,
|
143
143
|
:cores => 8,
|
144
144
|
:disk => 0,
|
@@ -366,9 +366,109 @@ module Fog
|
|
366
366
|
:ebs_optimized_available => true,
|
367
367
|
:instance_store_volumes => 0
|
368
368
|
},
|
369
|
+
{
|
370
|
+
:id => 'm6g.metal',
|
371
|
+
:name => 'M6G Metal',
|
372
|
+
:bits => 64,
|
373
|
+
:cores => 64,
|
374
|
+
:disk => 0,
|
375
|
+
:ram => 274878,
|
376
|
+
:ebs_optimized_available => true,
|
377
|
+
:instance_store_volumes => 0
|
378
|
+
},
|
379
|
+
{
|
380
|
+
:id => 'm6gd.medium',
|
381
|
+
:name => 'M6GD Medium',
|
382
|
+
:bits => 64,
|
383
|
+
:cores => 1,
|
384
|
+
:disk => 59,
|
385
|
+
:ram => 4295,
|
386
|
+
:ebs_optimized_available => true,
|
387
|
+
:instance_store_volumes => 1
|
388
|
+
},
|
389
|
+
{
|
390
|
+
:id => 'm6gd.large',
|
391
|
+
:name => 'M6GD Large',
|
392
|
+
:bits => 64,
|
393
|
+
:cores => 2,
|
394
|
+
:disk => 118,
|
395
|
+
:ram => 8590,
|
396
|
+
:ebs_optimized_available => true,
|
397
|
+
:instance_store_volumes => 1
|
398
|
+
},
|
399
|
+
{
|
400
|
+
:id => 'm6gd.xlarge',
|
401
|
+
:name => 'M6GD Extra Large',
|
402
|
+
:bits => 64,
|
403
|
+
:cores => 4,
|
404
|
+
:disk => 237,
|
405
|
+
:ram => 17180,
|
406
|
+
:ebs_optimized_available => true,
|
407
|
+
:instance_store_volumes => 1
|
408
|
+
},
|
409
|
+
{
|
410
|
+
:id => 'm6gd.2xlarge',
|
411
|
+
:name => 'M6GD Double Extra Large',
|
412
|
+
:bits => 64,
|
413
|
+
:cores => 8,
|
414
|
+
:disk => 474,
|
415
|
+
:ram => 34360,
|
416
|
+
:ebs_optimized_available => true,
|
417
|
+
:instance_store_volumes => 1
|
418
|
+
},
|
419
|
+
{
|
420
|
+
:id => 'm6gd.4xlarge',
|
421
|
+
:name => 'M6GD Quadruple Extra Large',
|
422
|
+
:bits => 64,
|
423
|
+
:cores => 16,
|
424
|
+
:disk => 950,
|
425
|
+
:ram => 68719,
|
426
|
+
:ebs_optimized_available => true,
|
427
|
+
:instance_store_volumes => 1
|
428
|
+
},
|
429
|
+
{
|
430
|
+
:id => 'm6gd.8xlarge',
|
431
|
+
:name => 'M6GD Octuple Extra Large',
|
432
|
+
:bits => 64,
|
433
|
+
:cores => 32,
|
434
|
+
:disk => 1900,
|
435
|
+
:ram => 137439,
|
436
|
+
:ebs_optimized_available => true,
|
437
|
+
:instance_store_volumes => 1
|
438
|
+
},
|
439
|
+
{
|
440
|
+
:id => 'm6gd.12xlarge',
|
441
|
+
:name => 'M6GD Twelve Extra Large',
|
442
|
+
:bits => 64,
|
443
|
+
:cores => 48,
|
444
|
+
:disk => 2850,
|
445
|
+
:ram => 206158,
|
446
|
+
:ebs_optimized_available => true,
|
447
|
+
:instance_store_volumes => 2
|
448
|
+
},
|
449
|
+
{
|
450
|
+
:id => 'm6gd.16xlarge',
|
451
|
+
:name => 'M6GD Sixteen Extra Large',
|
452
|
+
:bits => 64,
|
453
|
+
:cores => 64,
|
454
|
+
:disk => 3800,
|
455
|
+
:ram => 274878,
|
456
|
+
:ebs_optimized_available => true,
|
457
|
+
:instance_store_volumes => 2
|
458
|
+
},
|
459
|
+
{
|
460
|
+
:id => 'm6gd.metal',
|
461
|
+
:name => 'M6GD Metal',
|
462
|
+
:bits => 64,
|
463
|
+
:cores => 64,
|
464
|
+
:disk => 3800,
|
465
|
+
:ram => 274878,
|
466
|
+
:ebs_optimized_available => true,
|
467
|
+
:instance_store_volumes => 2
|
468
|
+
},
|
369
469
|
{
|
370
470
|
:id => 'm1.small',
|
371
|
-
:name => 'Small Instance',
|
471
|
+
:name => 'M1 Small Instance',
|
372
472
|
:bits => 32,
|
373
473
|
:cores => 1,
|
374
474
|
:disk => 160,
|
@@ -378,7 +478,7 @@ module Fog
|
|
378
478
|
},
|
379
479
|
{
|
380
480
|
:id => 'm1.medium',
|
381
|
-
:name => 'Medium Instance',
|
481
|
+
:name => 'M1 Medium Instance',
|
382
482
|
:bits => 32,
|
383
483
|
:cores => 1,
|
384
484
|
:disk => 400,
|
@@ -388,7 +488,7 @@ module Fog
|
|
388
488
|
},
|
389
489
|
{
|
390
490
|
:id => 'm1.large',
|
391
|
-
:name => 'Large Instance',
|
491
|
+
:name => 'M1 Large Instance',
|
392
492
|
:bits => 64,
|
393
493
|
:cores => 2,
|
394
494
|
:disk => 850,
|
@@ -398,7 +498,7 @@ module Fog
|
|
398
498
|
},
|
399
499
|
{
|
400
500
|
:id => 'm1.xlarge',
|
401
|
-
:name => 'Extra Large Instance',
|
501
|
+
:name => 'M1 Extra Large Instance',
|
402
502
|
:bits => 64,
|
403
503
|
:cores => 4,
|
404
504
|
:disk => 1690,
|
@@ -776,6 +876,186 @@ module Fog
|
|
776
876
|
:ebs_optimized_available => true,
|
777
877
|
:instance_store_volumes => 0
|
778
878
|
},
|
879
|
+
{
|
880
|
+
:id => 'c6g.medium',
|
881
|
+
:name => 'C6G Medium',
|
882
|
+
:bits => 64,
|
883
|
+
:cores => 1,
|
884
|
+
:disk => 0,
|
885
|
+
:ram => 2147,
|
886
|
+
:ebs_optimized_available => true,
|
887
|
+
:instance_store_volumes => 0
|
888
|
+
},
|
889
|
+
{
|
890
|
+
:id => 'c6g.large',
|
891
|
+
:name => 'C6G Large',
|
892
|
+
:bits => 64,
|
893
|
+
:cores => 2,
|
894
|
+
:disk => 0,
|
895
|
+
:ram => 4295,
|
896
|
+
:ebs_optimized_available => true,
|
897
|
+
:instance_store_volumes => 0
|
898
|
+
},
|
899
|
+
{
|
900
|
+
:id => 'c6g.xlarge',
|
901
|
+
:name => 'C6G Extra Large',
|
902
|
+
:bits => 64,
|
903
|
+
:cores => 4,
|
904
|
+
:disk => 0,
|
905
|
+
:ram => 8590,
|
906
|
+
:ebs_optimized_available => true,
|
907
|
+
:instance_store_volumes => 0
|
908
|
+
},
|
909
|
+
{
|
910
|
+
:id => 'c6g.2xlarge',
|
911
|
+
:name => 'C6G Double Extra Large',
|
912
|
+
:bits => 64,
|
913
|
+
:cores => 8,
|
914
|
+
:disk => 0,
|
915
|
+
:ram => 17180,
|
916
|
+
:ebs_optimized_available => true,
|
917
|
+
:instance_store_volumes => 0
|
918
|
+
},
|
919
|
+
{
|
920
|
+
:id => 'c6g.4xlarge',
|
921
|
+
:name => 'C6G Quadruple Extra Large',
|
922
|
+
:bits => 64,
|
923
|
+
:cores => 16,
|
924
|
+
:disk => 0,
|
925
|
+
:ram => 34360,
|
926
|
+
:ebs_optimized_available => true,
|
927
|
+
:instance_store_volumes => 0
|
928
|
+
},
|
929
|
+
{
|
930
|
+
:id => 'c6g.8xlarge',
|
931
|
+
:name => 'C6G Octuple Extra Large',
|
932
|
+
:bits => 64,
|
933
|
+
:cores => 32,
|
934
|
+
:disk => 0,
|
935
|
+
:ram => 68719,
|
936
|
+
:ebs_optimized_available => true,
|
937
|
+
:instance_store_volumes => 0
|
938
|
+
},
|
939
|
+
{
|
940
|
+
:id => 'c6g.12xlarge',
|
941
|
+
:name => 'C6G Twelve Extra Large',
|
942
|
+
:bits => 64,
|
943
|
+
:cores => 48,
|
944
|
+
:disk => 0,
|
945
|
+
:ram => 103079,
|
946
|
+
:ebs_optimized_available => true,
|
947
|
+
:instance_store_volumes => 0
|
948
|
+
},
|
949
|
+
{
|
950
|
+
:id => 'c6g.16xlarge',
|
951
|
+
:name => 'C6G Sixteen Extra Large',
|
952
|
+
:bits => 64,
|
953
|
+
:cores => 64,
|
954
|
+
:disk => 0,
|
955
|
+
:ram => 137439,
|
956
|
+
:ebs_optimized_available => true,
|
957
|
+
:instance_store_volumes => 0
|
958
|
+
},
|
959
|
+
{
|
960
|
+
:id => 'c6g.metal',
|
961
|
+
:name => 'C6G Metal',
|
962
|
+
:bits => 64,
|
963
|
+
:cores => 64,
|
964
|
+
:disk => 0,
|
965
|
+
:ram => 137439,
|
966
|
+
:ebs_optimized_available => true,
|
967
|
+
:instance_store_volumes => 0
|
968
|
+
},
|
969
|
+
{
|
970
|
+
:id => 'c6gd.medium',
|
971
|
+
:name => 'C6GD Medium',
|
972
|
+
:bits => 64,
|
973
|
+
:cores => 1,
|
974
|
+
:disk => 59,
|
975
|
+
:ram => 2147,
|
976
|
+
:ebs_optimized_available => true,
|
977
|
+
:instance_store_volumes => 1
|
978
|
+
},
|
979
|
+
{
|
980
|
+
:id => 'c6gd.large',
|
981
|
+
:name => 'C6GD Large',
|
982
|
+
:bits => 64,
|
983
|
+
:cores => 2,
|
984
|
+
:disk => 118,
|
985
|
+
:ram => 4295,
|
986
|
+
:ebs_optimized_available => true,
|
987
|
+
:instance_store_volumes => 1
|
988
|
+
},
|
989
|
+
{
|
990
|
+
:id => 'c6gd.xlarge',
|
991
|
+
:name => 'C6GD Extra Large',
|
992
|
+
:bits => 64,
|
993
|
+
:cores => 4,
|
994
|
+
:disk => 237,
|
995
|
+
:ram => 8590,
|
996
|
+
:ebs_optimized_available => true,
|
997
|
+
:instance_store_volumes => 1
|
998
|
+
},
|
999
|
+
{
|
1000
|
+
:id => 'c6gd.2xlarge',
|
1001
|
+
:name => 'C6GD Double Extra Large',
|
1002
|
+
:bits => 64,
|
1003
|
+
:cores => 8,
|
1004
|
+
:disk => 474,
|
1005
|
+
:ram => 17180,
|
1006
|
+
:ebs_optimized_available => true,
|
1007
|
+
:instance_store_volumes => 1
|
1008
|
+
},
|
1009
|
+
{
|
1010
|
+
:id => 'c6gd.4xlarge',
|
1011
|
+
:name => 'C6GD Quadruple Extra Large',
|
1012
|
+
:bits => 64,
|
1013
|
+
:cores => 16,
|
1014
|
+
:disk => 950,
|
1015
|
+
:ram => 34360,
|
1016
|
+
:ebs_optimized_available => true,
|
1017
|
+
:instance_store_volumes => 1
|
1018
|
+
},
|
1019
|
+
{
|
1020
|
+
:id => 'c6gd.8xlarge',
|
1021
|
+
:name => 'C6GD Octuple Extra Large',
|
1022
|
+
:bits => 64,
|
1023
|
+
:cores => 32,
|
1024
|
+
:disk => 1900,
|
1025
|
+
:ram => 68719,
|
1026
|
+
:ebs_optimized_available => true,
|
1027
|
+
:instance_store_volumes => 1
|
1028
|
+
},
|
1029
|
+
{
|
1030
|
+
:id => 'c6gd.12xlarge',
|
1031
|
+
:name => 'C6GD Twelve Extra Large',
|
1032
|
+
:bits => 64,
|
1033
|
+
:cores => 48,
|
1034
|
+
:disk => 2850,
|
1035
|
+
:ram => 103079,
|
1036
|
+
:ebs_optimized_available => true,
|
1037
|
+
:instance_store_volumes => 2
|
1038
|
+
},
|
1039
|
+
{
|
1040
|
+
:id => 'c6gd.16xlarge',
|
1041
|
+
:name => 'C6GD Sixteen Extra Large',
|
1042
|
+
:bits => 64,
|
1043
|
+
:cores => 64,
|
1044
|
+
:disk => 3800,
|
1045
|
+
:ram => 137439,
|
1046
|
+
:ebs_optimized_available => true,
|
1047
|
+
:instance_store_volumes => 2
|
1048
|
+
},
|
1049
|
+
{
|
1050
|
+
:id => 'c6gd.metal',
|
1051
|
+
:name => 'C6GD Metal',
|
1052
|
+
:bits => 64,
|
1053
|
+
:cores => 64,
|
1054
|
+
:disk => 3800,
|
1055
|
+
:ram => 137439,
|
1056
|
+
:ebs_optimized_available => true,
|
1057
|
+
:instance_store_volumes => 2
|
1058
|
+
},
|
779
1059
|
{
|
780
1060
|
:id => 'g2.2xlarge',
|
781
1061
|
:name => 'GPU Double Extra Large',
|
@@ -1276,16 +1556,6 @@ module Fog
|
|
1276
1556
|
:ebs_optimized_available => true,
|
1277
1557
|
:instance_store_volumes => 0
|
1278
1558
|
},
|
1279
|
-
{
|
1280
|
-
:id => 'r5.8xlarge',
|
1281
|
-
:name => 'R5 Eight Extra Large',
|
1282
|
-
:bits => 64,
|
1283
|
-
:cores => 32,
|
1284
|
-
:disk => 0,
|
1285
|
-
:ram => 274878,
|
1286
|
-
:ebs_optimized_available => true,
|
1287
|
-
:instance_store_volumes => 0
|
1288
|
-
},
|
1289
1559
|
{
|
1290
1560
|
:id => "r5.8xlarge",
|
1291
1561
|
:name => "R5 Octuple Extra Large",
|
@@ -1306,16 +1576,6 @@ module Fog
|
|
1306
1576
|
:ebs_optimized_available => true,
|
1307
1577
|
:instance_store_volumes => 0
|
1308
1578
|
},
|
1309
|
-
{
|
1310
|
-
:id => "r5.12xlarge",
|
1311
|
-
:name => "R5 Sixteen Extra Large",
|
1312
|
-
:bits => 64,
|
1313
|
-
:cores => 64,
|
1314
|
-
:ram => 549756,
|
1315
|
-
:disk => 0,
|
1316
|
-
:ebs_optimized_available => true,
|
1317
|
-
:instance_store_volumes => 0
|
1318
|
-
},
|
1319
1579
|
{
|
1320
1580
|
:id => "r5.16xlarge",
|
1321
1581
|
:name => "R5 Sixteen Extra Large",
|
@@ -1716,6 +1976,186 @@ module Fog
|
|
1716
1976
|
:ebs_optimized_available => true,
|
1717
1977
|
:instance_store_volumes => 4
|
1718
1978
|
},
|
1979
|
+
{
|
1980
|
+
:id => 'r6g.medium',
|
1981
|
+
:name => 'R6G Medium',
|
1982
|
+
:bits => 64,
|
1983
|
+
:cores => 1,
|
1984
|
+
:disk => 0,
|
1985
|
+
:ram => 8590,
|
1986
|
+
:ebs_optimized_available => true,
|
1987
|
+
:instance_store_volumes => 0
|
1988
|
+
},
|
1989
|
+
{
|
1990
|
+
:id => 'r6g.large',
|
1991
|
+
:name => 'R6G Large',
|
1992
|
+
:bits => 64,
|
1993
|
+
:cores => 2,
|
1994
|
+
:disk => 0,
|
1995
|
+
:ram => 17180,
|
1996
|
+
:ebs_optimized_available => true,
|
1997
|
+
:instance_store_volumes => 0
|
1998
|
+
},
|
1999
|
+
{
|
2000
|
+
:id => 'r6g.xlarge',
|
2001
|
+
:name => 'R6G Extra Large',
|
2002
|
+
:bits => 64,
|
2003
|
+
:cores => 4,
|
2004
|
+
:disk => 0,
|
2005
|
+
:ram => 34360,
|
2006
|
+
:ebs_optimized_available => true,
|
2007
|
+
:instance_store_volumes => 0
|
2008
|
+
},
|
2009
|
+
{
|
2010
|
+
:id => 'r6g.2xlarge',
|
2011
|
+
:name => 'R6G Double Extra Large',
|
2012
|
+
:bits => 64,
|
2013
|
+
:cores => 8,
|
2014
|
+
:disk => 0,
|
2015
|
+
:ram => 68719,
|
2016
|
+
:ebs_optimized_available => true,
|
2017
|
+
:instance_store_volumes => 0
|
2018
|
+
},
|
2019
|
+
{
|
2020
|
+
:id => 'r6g.4xlarge',
|
2021
|
+
:name => 'R6G Quadruple Extra Large',
|
2022
|
+
:bits => 64,
|
2023
|
+
:cores => 16,
|
2024
|
+
:disk => 0,
|
2025
|
+
:ram => 137439,
|
2026
|
+
:ebs_optimized_available => true,
|
2027
|
+
:instance_store_volumes => 0
|
2028
|
+
},
|
2029
|
+
{
|
2030
|
+
:id => 'r6g.8xlarge',
|
2031
|
+
:name => 'R6G Octuple Extra Large',
|
2032
|
+
:bits => 64,
|
2033
|
+
:cores => 32,
|
2034
|
+
:disk => 0,
|
2035
|
+
:ram => 274878,
|
2036
|
+
:ebs_optimized_available => true,
|
2037
|
+
:instance_store_volumes => 0
|
2038
|
+
},
|
2039
|
+
{
|
2040
|
+
:id => 'r6g.12xlarge',
|
2041
|
+
:name => 'R6G Twelve Extra Large',
|
2042
|
+
:bits => 64,
|
2043
|
+
:cores => 48,
|
2044
|
+
:disk => 0,
|
2045
|
+
:ram => 412317,
|
2046
|
+
:ebs_optimized_available => true,
|
2047
|
+
:instance_store_volumes => 0
|
2048
|
+
},
|
2049
|
+
{
|
2050
|
+
:id => 'r6g.16xlarge',
|
2051
|
+
:name => 'R6G Sixteen Extra Large',
|
2052
|
+
:bits => 64,
|
2053
|
+
:cores => 64,
|
2054
|
+
:disk => 0,
|
2055
|
+
:ram => 549756,
|
2056
|
+
:ebs_optimized_available => true,
|
2057
|
+
:instance_store_volumes => 0
|
2058
|
+
},
|
2059
|
+
{
|
2060
|
+
:id => 'r6g.metal',
|
2061
|
+
:name => 'R6G Metal',
|
2062
|
+
:bits => 64,
|
2063
|
+
:cores => 64,
|
2064
|
+
:disk => 0,
|
2065
|
+
:ram => 549756,
|
2066
|
+
:ebs_optimized_available => true,
|
2067
|
+
:instance_store_volumes => 0
|
2068
|
+
},
|
2069
|
+
{
|
2070
|
+
:id => 'r6gd.medium',
|
2071
|
+
:name => 'R6GD Medium',
|
2072
|
+
:bits => 64,
|
2073
|
+
:cores => 1,
|
2074
|
+
:disk => 59,
|
2075
|
+
:ram => 8590,
|
2076
|
+
:ebs_optimized_available => true,
|
2077
|
+
:instance_store_volumes => 1
|
2078
|
+
},
|
2079
|
+
{
|
2080
|
+
:id => 'r6gd.large',
|
2081
|
+
:name => 'R6GD Large',
|
2082
|
+
:bits => 64,
|
2083
|
+
:cores => 2,
|
2084
|
+
:disk => 118,
|
2085
|
+
:ram => 17180,
|
2086
|
+
:ebs_optimized_available => true,
|
2087
|
+
:instance_store_volumes => 1
|
2088
|
+
},
|
2089
|
+
{
|
2090
|
+
:id => 'r6gd.xlarge',
|
2091
|
+
:name => 'R6GD Extra Large',
|
2092
|
+
:bits => 64,
|
2093
|
+
:cores => 4,
|
2094
|
+
:disk => 237,
|
2095
|
+
:ram => 34360,
|
2096
|
+
:ebs_optimized_available => true,
|
2097
|
+
:instance_store_volumes => 1
|
2098
|
+
},
|
2099
|
+
{
|
2100
|
+
:id => 'r6gd.2xlarge',
|
2101
|
+
:name => 'R6GD Double Extra Large',
|
2102
|
+
:bits => 64,
|
2103
|
+
:cores => 8,
|
2104
|
+
:disk => 474,
|
2105
|
+
:ram => 68719,
|
2106
|
+
:ebs_optimized_available => true,
|
2107
|
+
:instance_store_volumes => 1
|
2108
|
+
},
|
2109
|
+
{
|
2110
|
+
:id => 'r6gd.4xlarge',
|
2111
|
+
:name => 'R6GD Quadruple Extra Large',
|
2112
|
+
:bits => 64,
|
2113
|
+
:cores => 16,
|
2114
|
+
:disk => 950,
|
2115
|
+
:ram => 137439,
|
2116
|
+
:ebs_optimized_available => true,
|
2117
|
+
:instance_store_volumes => 1
|
2118
|
+
},
|
2119
|
+
{
|
2120
|
+
:id => 'r6gd.8xlarge',
|
2121
|
+
:name => 'R6GD Octuple Extra Large',
|
2122
|
+
:bits => 64,
|
2123
|
+
:cores => 32,
|
2124
|
+
:disk => 1900,
|
2125
|
+
:ram => 274878,
|
2126
|
+
:ebs_optimized_available => true,
|
2127
|
+
:instance_store_volumes => 1
|
2128
|
+
},
|
2129
|
+
{
|
2130
|
+
:id => 'r6gd.12xlarge',
|
2131
|
+
:name => 'R6GD Twelve Extra Large',
|
2132
|
+
:bits => 64,
|
2133
|
+
:cores => 48,
|
2134
|
+
:disk => 2850,
|
2135
|
+
:ram => 412317,
|
2136
|
+
:ebs_optimized_available => true,
|
2137
|
+
:instance_store_volumes => 2
|
2138
|
+
},
|
2139
|
+
{
|
2140
|
+
:id => 'r6gd.16xlarge',
|
2141
|
+
:name => 'R6GD Sixteen Extra Large',
|
2142
|
+
:bits => 64,
|
2143
|
+
:cores => 64,
|
2144
|
+
:disk => 3800,
|
2145
|
+
:ram => 549756,
|
2146
|
+
:ebs_optimized_available => true,
|
2147
|
+
:instance_store_volumes => 2
|
2148
|
+
},
|
2149
|
+
{
|
2150
|
+
:id => 'r6gd.metal',
|
2151
|
+
:name => 'R6GD Metal',
|
2152
|
+
:bits => 64,
|
2153
|
+
:cores => 64,
|
2154
|
+
:disk => 3800,
|
2155
|
+
:ram => 549756,
|
2156
|
+
:ebs_optimized_available => true,
|
2157
|
+
:instance_store_volumes => 2
|
2158
|
+
},
|
1719
2159
|
{
|
1720
2160
|
:id => "x1.16xlarge",
|
1721
2161
|
:name => "X1 Sixteen Extra Large",
|
@@ -1798,7 +2238,7 @@ module Fog
|
|
1798
2238
|
},
|
1799
2239
|
{
|
1800
2240
|
:id => "u-6tb1.metal",
|
1801
|
-
:name => "
|
2241
|
+
:name => "U 6TB Metal",
|
1802
2242
|
:bits => 64,
|
1803
2243
|
:cores => 448,
|
1804
2244
|
:ram => 6597071,
|