jackal-cfn 0.2.0 → 0.2.2

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: 2a04e966cfce6d4c347d5ff5d227a53fe7a71245
4
- data.tar.gz: bf1d3a7f3b402780bd0d4fbe1ff0a86b7f2f35d0
3
+ metadata.gz: 82ce644625dd07609c7f577d4aac80ad289ce94b
4
+ data.tar.gz: 3052efa5fbc0b06279e2adb15a5e829cf36c41df
5
5
  SHA512:
6
- metadata.gz: 820460a2f614387d2237923f7bbafa28854ef7e325f461a5ff167de3a70a048c91733d859571ecb9865f462d535570cefdb048798668db935d74f3aa2e47679d
7
- data.tar.gz: 1ead2a327e6c07abf88038b234721ab5f4eaba20bd07531fd7891ec2c4443bf14bec4319616c925ec684ba01e87126029a853bb92cf9b1fcbdfc28693a6d95e9
6
+ metadata.gz: bb1df43542af6ed17f680cbc28482fd4270f00b27a9487e20097f714131b61a009db69a94d1e65aa2c6bb096db5e32564919e30b9c247da9dec51f91c68a169c
7
+ data.tar.gz: 77b196a91a89cafb1c1ee1d1a7f2e7ca700d4d0ee813b87b5c4a195b66cf8a718e99cac5aa01d524f2f4d6124a2a683d576068e137962ac94730252a4c5f347c
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # v0.2.2
2
+ * Fix credentials location in configuration
3
+ * Fix namespacing when access fog constants
4
+
1
5
  # v0.2.0
2
6
  * Move builtin resources under single namespace
3
7
  * Add custom failure wrap to resource to provide auto failure notification
@@ -33,6 +33,11 @@ module Jackal
33
33
 
34
34
  PHYSICAL_ID_JOINER = '__-__'
35
35
 
36
+ # Ensure fog library is loaded
37
+ def setup(*_)
38
+ require 'fog'
39
+ end
40
+
36
41
  # Process message, send value back to CFN
37
42
  #
38
43
  # @param message [Carnivore::Message]
@@ -42,7 +47,7 @@ module Jackal
42
47
  properties = rekey_hash(cfn_resource[:resource_properties])
43
48
  parameters = rekey_hash(properties[:parameters])
44
49
  cfn_response = build_response(cfn_resource)
45
- case cfn_resource[:request_type]
50
+ case cfn_resource[:request_type].to_sym
46
51
  when :create
47
52
  ami_response_update(cfn_response, parameters)
48
53
  when :delete
@@ -50,8 +55,8 @@ module Jackal
50
55
  when :update
51
56
  else
52
57
  error "Unknown request type received: #{cfn_resource[:request_type].inspect}"
53
- response['Status'] = 'FAILED'
54
- response['Reason'] = 'Unknown request type received'
58
+ cfn_response['Status'] = 'FAILED'
59
+ cfn_response['Reason'] = 'Unknown request type received'
55
60
  end
56
61
  respond_to_stack(cfn_response, cfn_resource[:response_url])
57
62
  job_completed(:jackal_cfn, payload, message)
@@ -81,11 +86,11 @@ module Jackal
81
86
  ami_id = payload[:physical_resource_id].split(PHYSICAL_ID_JOINER).last
82
87
  begin
83
88
  compute_api(parameters[:region]).deregister_image(ami_id)
84
- rescue Fog::Compute::AWS::Error => e
85
- warn "Non-fatal error encountered on AMI removal: #{e.class}: #{e}"
86
- response['Reason'] = e.message
89
+ rescue ::Fog::Compute::AWS::Error => e
90
+ warn "Failed to remove AMI: #{e.class}: #{e}"
91
+ response['Reason'] = "Failed to remove AMI resource: #{e}. Ignoring."
87
92
  rescue => e
88
- error "Failed to remove AMI: #{e.class}: #{e}"
93
+ error "Unexpected error removing AMI: #{e.class}: #{e}"
89
94
  response['Status'] = 'FAILED'
90
95
  response['Reason'] = e.message
91
96
  end
@@ -97,9 +102,9 @@ module Jackal
97
102
  # @param region [String] AWS region ami exists
98
103
  # @return [Fog::Compute]
99
104
  def compute_api(region)
100
- Fog::Compute.new(
105
+ ::Fog::Compute.new(
101
106
  {:provider => :aws}.merge(
102
- config.fetch(:ami, :credentials, :compute).merge(
107
+ config.get(:ami, :credentials, :compute).merge(
103
108
  :region => region
104
109
  )
105
110
  )
@@ -14,7 +14,7 @@ module Jackal
14
14
  # @return [Fog::Service]
15
15
  # @note extracts credentials from confg at :api -> [type | :default]
16
16
  def api_for(type)
17
- klass = Fog.constants.detect do |const|
17
+ klass = ::Fog.constants.detect do |const|
18
18
  snakecase(const).to_s == type.to_s
19
19
  end
20
20
  if(klass)
@@ -27,7 +27,7 @@ module Jackal
27
27
  key = credentials.to_a.flatten.push(klass).sort.hash
28
28
  Thread.current[:cfn_apis] ||= Smash.new
29
29
  unless(Thread.current[:cfn_apis][key])
30
- Thread.current[:cfn_apis][key] = Fog.const_get(klass).new(credentials)
30
+ Thread.current[:cfn_apis][key] = ::Fog.const_get(klass).new(credentials)
31
31
  end
32
32
  Thread.current[:cfn_apis][key]
33
33
  else
@@ -52,7 +52,7 @@ module Jackal
52
52
  [var, api.instance_variable_get(var)]
53
53
  end.flatten.compact.map(&:to_s).push(api.service_name).sort.hash
54
54
  if(Thread.current[:cfn_assume_apis].get(key, :expires).to_i < Time.now.to_i + 5)
55
- sts = Fog::AWS::STS.new(
55
+ sts = ::Fog::AWS::STS.new(
56
56
  config.fetch(
57
57
  :api, :sts, config.get(
58
58
  :api, :default
@@ -1,6 +1,6 @@
1
1
  module Jackal
2
2
  module Cfn
3
3
  # Current version
4
- VERSION = Gem::Version.new('0.2.0')
4
+ VERSION = Gem::Version.new('0.2.2')
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jackal-cfn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Roberts
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-10 00:00:00.000000000 Z
11
+ date: 2015-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jackal