diff options
author | GitLab Release Tools Bot <delivery-team+release-tools@gitlab.com> | 2020-09-02 12:39:03 +0000 |
---|---|---|
committer | GitLab Release Tools Bot <delivery-team+release-tools@gitlab.com> | 2020-09-02 12:39:03 +0000 |
commit | 90432d32acd69cf91e647fc508045659cae26b1a (patch) | |
tree | 2b2da74ca70007a0343a131ed187dcdbdbfeb7dd /app/services/clusters/aws | |
parent | f4a969f7f495978a7e656c69c929c9fdac111cff (diff) | |
parent | 417a126de5e49fb7c63bb3f23b22bc4a484ac359 (diff) | |
download | gitlab-ce-90432d32acd69cf91e647fc508045659cae26b1a.tar.gz |
Merge remote-tracking branch 'dev/13-3-stable' into 13-3-stable
Diffstat (limited to 'app/services/clusters/aws')
-rw-r--r-- | app/services/clusters/aws/authorize_role_service.rb | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/app/services/clusters/aws/authorize_role_service.rb b/app/services/clusters/aws/authorize_role_service.rb index fb620f77b9f..2712a4b05bb 100644 --- a/app/services/clusters/aws/authorize_role_service.rb +++ b/app/services/clusters/aws/authorize_role_service.rb @@ -9,6 +9,7 @@ module Clusters ERRORS = [ ActiveRecord::RecordInvalid, + ActiveRecord::RecordNotFound, Clusters::Aws::FetchCredentialsService::MissingRoleError, ::Aws::Errors::MissingCredentialsError, ::Aws::STS::Errors::ServiceError @@ -20,7 +21,8 @@ module Clusters end def execute - @role = create_or_update_role! + ensure_role_exists! + update_role_arn! Response.new(:ok, credentials) rescue *ERRORS => e @@ -33,14 +35,12 @@ module Clusters attr_reader :role, :params - def create_or_update_role! - if role = user.aws_role - role.update!(params) + def ensure_role_exists! + @role = ::Aws::Role.find_by_user_id!(user.id) + end - role - else - user.create_aws_role!(params) - end + def update_role_arn! + role.update!(params) end def credentials |