Class: Aws::STS::Presigner
- Inherits:
-
Object
- Object
- Aws::STS::Presigner
- Defined in:
- lib/aws-sdk-sts/presigner.rb
Overview
Allows you to create presigned URLs for STS operations.
Instance Method Summary collapse
-
#get_caller_identity_presigned_url(options = {}) ⇒ String
Returns a presigned url for get_caller_identity.
-
#initialize(options = {}) ⇒ Presigner
constructor
A new instance of Presigner.
Constructor Details
Instance Method Details
#get_caller_identity_presigned_url(options = {}) ⇒ String
Returns a presigned url for get_caller_identity.
This can be easily converted to a token used by the EKS service: https://ruby-doc.org/stdlib-2.3.1/libdoc/base64/rdoc/Base64.html#method-i-encode64 “k8s-aws-v1.” + Base64.urlsafe_encode64(url).chomp(“==”)
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/aws-sdk-sts/presigner.rb', line 40 def get_caller_identity_presigned_url( = {}) req = @client.build_request(:get_session_token, {}) param_list = Aws::Query::ParamList.new param_list.set('Action', 'GetCallerIdentity') param_list.set('Version', req.context.config.api.version) Aws::Query::EC2ParamBuilder.new(param_list) .apply(req.context.operation.input, {}) signer = Aws::Sigv4::Signer.new( service: 'sts', region: req.context.config.region, credentials_provider: req.context.config.credentials ) url = Aws::Partitions::EndpointProvider.resolve( req.context.config.region, 'sts', 'regional' ) url += "/?#{param_list}" signer.presign_url( http_method: 'GET', url: url, body: '', headers: [:headers] ).to_s end |