initialize

in gems/aws-crt/lib/aws-crt/auth/credentials.rb [17:49]


        def initialize(access_key_id, secret_access_key,
                       session_token = nil, expiration = nil)
          if !access_key_id || access_key_id.empty?
            raise ArgumentError, 'access_key_id  must be set'
          end

          if !secret_access_key || secret_access_key.empty?
            raise ArgumentError, 'secret_access_key  must be set'
          end

          manage_native do
            Aws::Crt::Native.credentials_options_new
          end

          Aws::Crt::Native.credentials_options_set_access_key_id(
            native, access_key_id, access_key_id.length
          )

          Aws::Crt::Native.credentials_options_set_secret_access_key(
            native, secret_access_key, secret_access_key.length
          )

          if session_token && !session_token.empty?
            Aws::Crt::Native.credentials_options_set_session_token(
              native, session_token, session_token.length
            )
          end

          Aws::Crt::Native.credentials_options_set_expiration_timepoint_seconds(
            native, expiration&.to_i || UINT64_MAX
          )
        end