ufo 6.3.5 → 6.3.8

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
  SHA256:
3
- metadata.gz: c7412fed5f36c54bd78f76bfb6debb841d3f867ea25ef4625a31c9e205a1e955
4
- data.tar.gz: a0d91c95a050d2fbce2731c10387651fb2909c3dc65a4e2af60a6cf780d3e1b7
3
+ metadata.gz: 1629eaa759c7bae3106f8abd862e0be399ede5e53723ee6e97570cc047f93069
4
+ data.tar.gz: e214fa1a5e92d8d8989a91a2bbe5490d40e33d65870563938153c0432c1d7aa1
5
5
  SHA512:
6
- metadata.gz: 6ee413ef0571f90417c37327d78fbb86c8fab10584746dfcbec86d292ce3f8dad8d31d53d3a939db6b9a2f91639d50ed4f876262d84c40c453ad22e610a7b46f
7
- data.tar.gz: c8fe10ab749b98820faa9105584175b1c97cfcd7ecee92a1bf75e7d1623ed158c86b2ac32a834a8f4b617e252dca6c28682f8a3e4664f8dac03785117ab26bb8
6
+ metadata.gz: e574a93ce4a006be8fd020b3f3efd69bb58eb3290d1215ea34a73b6ac429b997d142ab7474c9a0f1f073ba80c94f73782a1498ad4b15a8116d5a2a27be506e6a
7
+ data.tar.gz: 51864fd98e59b9bdaee578dc877e6b3e6c258ca5c0c379c35ee9f0222f07cc7e7f46e0f49c2809272ac4f9839da5e4c50e708ac57f24c9f72772b4ecb18e7992
data/CHANGELOG.md CHANGED
@@ -3,6 +3,15 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  This project *tries* to adhere to [Semantic Versioning](http://semver.org/), even before v1.0.
5
5
 
6
+ ## [6.3.8] - 2022-05-02
7
+ - [#174](https://github.com/tongueroo/ufo/pull/174) fix update rollback failed user friendly error message
8
+
9
+ ## [6.3.7] - 2022-04-29
10
+ - [#173](https://github.com/tongueroo/ufo/pull/173) fix when ssl certs not used
11
+
12
+ ## [6.3.6] - 2022-04-29
13
+ - [#172](https://github.com/tongueroo/ufo/pull/172) support multiple ssl certs
14
+
6
15
  ## [6.3.5] - 2022-04-28
7
16
  - [#171](https://github.com/tongueroo/ufo/pull/171) default unhealthy_threshold_count = 3
8
17
 
@@ -0,0 +1,32 @@
1
+ class Ufo::Cfn::Stack::Builder::Resources
2
+ class ListenerCertificate < ListenerSsl
3
+ def build
4
+ return unless certificates && certificates.size >= 1 # already removed firt cert
5
+ {
6
+ Type: "AWS::ElasticLoadBalancingV2::ListenerCertificate",
7
+ Condition: "CreateElbIsTrue",
8
+ Properties: properties,
9
+ }
10
+ end
11
+
12
+ def properties
13
+ {
14
+ Certificates: certificates,
15
+ ListenerArn: {Ref: "ListenerSsl"}
16
+ }
17
+ end
18
+
19
+ def certificates
20
+ ssl = Ufo.config.elb.ssl
21
+ if ssl.certificates
22
+ certs = normalize(ssl.certificates)
23
+ # CloudFormation has weird interface
24
+ # Only one cert allowed at the AWS::ElasticLoadBalancingV2::Listener
25
+ # https://stackoverflow.com/questions/54447250/how-to-set-multiple-certificates-for-awselasticloadbalancingv2listener
26
+ # Also note the docs say "You can specify one certificate per resource."
27
+ # But tested and multiple certs here work
28
+ certs[1..-1] # dont include the first one
29
+ end
30
+ end
31
+ end
32
+ end
@@ -7,7 +7,10 @@ class Ufo::Cfn::Stack::Builder::Resources
7
7
 
8
8
  def properties
9
9
  props = super
10
- props[:Certificates] = certificates
10
+ # CloudFormation has weird interface
11
+ # Only one cert allowed at the AWS::ElasticLoadBalancingV2::Listener
12
+ # https://stackoverflow.com/questions/54447250/how-to-set-multiple-certificates-for-awselasticloadbalancingv2listener
13
+ props[:Certificates] = [certificates.first] # first one only
11
14
  props
12
15
  end
13
16
 
@@ -10,6 +10,7 @@ class Ufo::Cfn::Stack::Builder
10
10
  ElbSecurityGroup: SecurityGroup::Elb.build(@options),
11
11
  ExecutionRole: IamRoles::ExecutionRole.build(@options),
12
12
  Listener: Listener.build(@options),
13
+ ListenerCertificate: ListenerCertificate.build(@options),
13
14
  ListenerSsl: ListenerSsl.build(@options),
14
15
  TargetGroup: TargetGroup.build(@options),
15
16
  TaskDefinition: TaskDefinition.build(@options),
data/lib/ufo/cfn/stack.rb CHANGED
@@ -110,7 +110,7 @@ module Ufo::Cfn
110
110
  when /state and can not be updated/
111
111
  logger.info "The #{@stack_name} stack is in a state that cannot be updated. Deleted the stack and try again."
112
112
  logger.info "ERROR: #{e.message}"
113
- if message.include?('UPDATE_ROLLBACK_FAILED')
113
+ if e.message.include?('UPDATE_ROLLBACK_FAILED')
114
114
  logger.info "You might be able to do a 'Continue Update Rollback' and skip some resources to get the stack back into a good state."
115
115
  end
116
116
  url = "https://console.aws.amazon.com/cloudformation/home?region=#{region}"
data/lib/ufo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ufo
2
- VERSION = "6.3.5"
2
+ VERSION = "6.3.8"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ufo
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.3.5
4
+ version: 6.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-28 00:00:00.000000000 Z
11
+ date: 2022-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-logs
@@ -516,6 +516,7 @@ files:
516
516
  - lib/ufo/cfn/stack/builder/resources/iam_roles/execution_role.rb
517
517
  - lib/ufo/cfn/stack/builder/resources/iam_roles/task_role.rb
518
518
  - lib/ufo/cfn/stack/builder/resources/listener.rb
519
+ - lib/ufo/cfn/stack/builder/resources/listener_certificate.rb
519
520
  - lib/ufo/cfn/stack/builder/resources/listener_ssl.rb
520
521
  - lib/ufo/cfn/stack/builder/resources/scaling/base.rb
521
522
  - lib/ufo/cfn/stack/builder/resources/scaling/policy.rb