get

in utilities/aws-codedeploy-session-helper/lib/STSCredentialsProvider.rb [41:61]


    def get
        configure_aws_client()
        resp = get_session_creds()

        if resp.nil? or resp.credentials.nil? or resp.credentials.access_key_id.nil? or resp.credentials.secret_access_key.nil? or resp.credentials.session_token.nil?
            raise RuntimeError.new("Unexpected response from call to AWS STS, did not have expected fields, response: #{resp.inspect}")
        end

        puts resp.assumed_role_user.arn if @output_arn

        str = "[default]\naws_access_key_id = #{resp.credentials.access_key_id}\naws_secret_access_key = #{resp.credentials.secret_access_key}\naws_session_token = #{resp.credentials.session_token}\n"
        begin
            file = File.open(@creds_file, "w")
            file.write(str)
        rescue IOError => e
            raise RuntimeError.new("Unable to write to file " + @creds_file + ". Error: #{e}")
        ensure
            file.close unless file.nil?
        end
    end