diff --git a/devops-service/providers/base_provider.rb b/devops-service/providers/base_provider.rb index d383208..bf9ef34 100644 --- a/devops-service/providers/base_provider.rb +++ b/devops-service/providers/base_provider.rb @@ -40,7 +40,7 @@ module Provider def set_server_tags server end - def set_stack_tags stack + def set_stack_tags stack, out="" end end diff --git a/devops-service/providers/ec2.rb b/devops-service/providers/ec2.rb index e6be751..8060dcf 100644 --- a/devops-service/providers/ec2.rb +++ b/devops-service/providers/ec2.rb @@ -231,7 +231,7 @@ module Provider ) stack.id = response.body['StackId'] out << "Stack id: #{stack.id}\n" - set_stack_tags(stack) + set_stack_tags(stack, out) out.flush rescue Excon::Errors::Conflict => e raise ProviderErrors::NameConflict @@ -249,7 +249,7 @@ module Provider end end - def set_stack_tags stack + def set_stack_tags stack, out="" tags = { "StackName" => stack.name, "cid:project" => stack.project, @@ -257,9 +257,16 @@ module Provider "cid:user" => stack.owner # "cid:remoteUser" => s.remote_user } - ids = stack_resources(stack).map {|resource| resource['PhysicalResourceId']} + #ids = stack_resources(stack).map {|resource| resource['PhysicalResourceId']} #ids << stack.id - compute.create_tags(ids, tags) + #compute.create_tags(ids, tags) + stack_resources(stack).each do |resource| + begin + compute.create_tags(resource['PhysicalResourceId'], tags) + rescue Fog::Compute::AWS::Error => e + out << "Error: " + e.message + end + end end def validate_stack_template template