configure-s3-website 2.2.0 → 2.3.0

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
  SHA1:
3
- metadata.gz: 08b5066bdcecf96cf6e4e9f2d0c4e1f4a8ed6023
4
- data.tar.gz: 0b40908190a3ca1bb15a02f6fd0f1d53b765a47b
3
+ metadata.gz: e24e80677d4bf2df5bb592886165792ace426fe0
4
+ data.tar.gz: 7301fa4fd9f3fd6d3c0fbdebc1c72d87015703d7
5
5
  SHA512:
6
- metadata.gz: c2d26e2b560294b0655e1ffc7fe6052ceb6bad7a8da2140af9da6fdfa95acdb2f6555a003a9c182c8a972354a1f26e7703b6033764a0acf5c2299e9182c7a232
7
- data.tar.gz: 801dc529a403eab16e13f4213d0d65cfa9ed9d823b68eae9a2d91bf8fc262523aaca7f15e780a24052a4eb848e7a83f6a5998ecc020d46e9c2dcea127258cc48
6
+ metadata.gz: dd9c294392739927e55a655a6c6cde97404aa6f62f020895d76cec341abae8e345a8622f7860bae3b905da7c9c8ec331b062cf4f3aebc3ab921148fb9f6ab371
7
+ data.tar.gz: fcf99bf599d895177d639e42d57b98daff56eb34b1724212443938957505e2a13fcf3632f37c9127e23a63322a421d638a0c2354a261f2496c3a973fd586a0ce
data/README.md CHANGED
@@ -31,6 +31,12 @@ s3_secret: your-aws-secret-key
31
31
  s3_bucket: name-of-your-bucket
32
32
  ```
33
33
 
34
+ **or** you may omit the `profile` and `s3_id` keys to use the system's default credentials.
35
+ This requires [configuring AWS credentials](http://docs.aws.amazon.com/sdk-for-ruby/v2/developer-guide/setup-config.html#aws-ruby-sdk-setting-credentials).
36
+ Options include [setting environment variables](http://docs.aws.amazon.com/sdk-for-ruby/v2/developer-guide/setup-config.html#aws-ruby-sdk-credentials-environment),
37
+ using a [shared credentials file](http://docs.aws.amazon.com/sdk-for-ruby/v2/developer-guide/setup-config.html#aws-ruby-sdk-credentials-shared),
38
+ or running an [EC2 instance with IAM roles](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingIAM.html#UsingIAMrolesWithAmazonEC2Instances).
39
+
34
40
  Save the file (as *config.yml*, for example). Now you are ready to go. Run the
35
41
  following command:
36
42
 
@@ -2,6 +2,10 @@
2
2
 
3
3
  This project uses [Semantic Versioning](http://semver.org).
4
4
 
5
+ ## 2.3.0
6
+
7
+ * Add support for default credentials providers
8
+
5
9
  ## 2.2.0
6
10
 
7
11
  * Convert `http_error_code_returned_equals` value to string
@@ -82,11 +82,6 @@ module ConfigureS3Website
82
82
  if not config.keys.include?'s3_bucket'
83
83
  raise "File #{yaml_file_path} does not contain the required key 's3_bucket'"
84
84
  end
85
-
86
- # check that either s3_id or profile is configured
87
- if not (config.keys.include?'s3_id' or config.keys.include?'profile')
88
- raise "File #{yaml_file_path} does not contain either 's3_id' or 'profile'"
89
- end
90
85
  end
91
86
  end
92
87
  end
@@ -27,11 +27,15 @@ module ConfigureS3Website
27
27
  access_key_id: config_source.s3_access_key_id,
28
28
  secret_access_key: config_source.s3_secret_access_key
29
29
  )
30
- else
30
+ elsif config_source.profile
31
31
  Aws::S3::Client.new(
32
32
  region: config_source.s3_endpoint,
33
33
  profile: config_source.profile,
34
34
  )
35
+ else
36
+ Aws::S3::Client.new(
37
+ region: config_source.s3_endpoint,
38
+ )
35
39
  end
36
40
  end
37
41
 
@@ -1,3 +1,3 @@
1
1
  module ConfigureS3Website
2
- VERSION = '2.2.0'
2
+ VERSION = '2.3.0'
3
3
  end
@@ -21,6 +21,14 @@ describe ConfigureS3Website::FileConfigSource do
21
21
  expect(config_source.description).to eq(yaml_file_path)
22
22
  end
23
23
 
24
+ it 'does not require s3_id, s3_secret or profile ' do
25
+ config_no_credentials = ConfigureS3Website::FileConfigSource.new('spec/sample_files/_config_file_no_credentials.yml')
26
+ expect(config_no_credentials.s3_access_key_id).to be_nil
27
+ expect(config_no_credentials.s3_secret_access_key).to be_nil
28
+ expect(config_no_credentials.profile).to be_nil
29
+ expect(config_no_credentials.s3_bucket_name).to eq('my-bucket')
30
+ end
31
+
24
32
  describe 'setter for cloudfront_distribution_id' do
25
33
  let(:original_yaml_contents) {
26
34
  %Q{
@@ -144,4 +144,19 @@ describe ConfigureS3Website::S3Client do
144
144
  ConfigureS3Website::S3Client.configure_website({config_source: config_source})
145
145
  end
146
146
  end
147
+
148
+ context 's3_id, s3_secret and profile not required' do
149
+ let(:config_source) {
150
+ ConfigureS3Website::FileConfigSource.new('spec/sample_files/_config_file_no_credentials.yml')
151
+ }
152
+
153
+ it 'calls the S3 API successfully' do
154
+ allow_any_instance_of(Aws::S3::Client).to receive(:put_bucket_website).with(
155
+ hash_including(
156
+ :bucket => "my-bucket"
157
+ )
158
+ )
159
+ ConfigureS3Website::S3Client.configure_website({config_source: config_source})
160
+ end
161
+ end
147
162
  end
@@ -0,0 +1 @@
1
+ s3_bucket: my-bucket
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: configure-s3-website
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lauri Lehmijoki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-04 00:00:00.000000000 Z
11
+ date: 2017-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: deep_merge
@@ -112,6 +112,7 @@ files:
112
112
  - spec/s3_client_spec.rb
113
113
  - spec/sample_files/_config_file.yml
114
114
  - spec/sample_files/_config_file_EU.yml
115
+ - spec/sample_files/_config_file_no_credentials.yml
115
116
  - spec/sample_files/_config_file_oregon.yml
116
117
  - spec/sample_files/_config_file_with_eruby.yml
117
118
  - spec/sample_files/_custom_index_and_error_docs.yml