Skip to content

Commit

Permalink
CPD-8525 | When in US regions, the api and worker should use AWS FIPS…
Browse files Browse the repository at this point in the history
… endpoints where available (#311)
  • Loading branch information
suvrat-joshi authored May 7, 2024
1 parent 2754047 commit 372e33c
Showing 1 changed file with 29 additions and 5 deletions.
34 changes: 29 additions & 5 deletions lib/moonshot/change_set.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# frozen_string_literal: true

module Moonshot
class ChangeSetTimeoutError < StandardError; end

class ChangeSet
attr_reader :name, :stack_name

Expand Down Expand Up @@ -77,12 +79,34 @@ def delete
end

def wait_for_change_set
@cf_client.wait_until(:change_set_create_complete,
stack_name: @stack_name,
change_set_name: @name)
wait_seconds = Moonshot.config.changeset_wait_time || 90

resp = @cf_client.describe_change_set({
stack_name: @stack_name,
change_set_name: @name
})

if %w(CREATE_COMPLETE FAILED).include?(resp.status)
@change_set = resp
return
end

started_at = Time.now
@cf_client.wait_until(:change_set_create_complete, {
stack_name: @stack_name,
change_set_name: @name
}, {
max_attempts: nil,
delay: 5,
before_wait: -> (attempts, response) do
raise ChangeSetTimeoutError, "ChangeSet did not complete creation within #{wait_seconds} seconds!" if Time.now - started_at > wait_seconds
end
})

@change_set = @cf_client.describe_change_set(stack_name: @stack_name,
change_set_name: @name)
@change_set = @cf_client.describe_change_set({
stack_name: @stack_name,
change_set_name: @name
})
end
end
end

0 comments on commit 372e33c

Please sign in to comment.