Class: AzureBlob::InstanceMetadataService
- Inherits:
-
Object
- Object
- AzureBlob::InstanceMetadataService
- Defined in:
- lib/azure_blob/instance_metadata_service.rb
Overview
:nodoc:
Constant Summary collapse
- IDENTITY_ENDPOINT =
ENV["IDENTITY_ENDPOINT"] || "http://169.254.169.254/metadata/identity/oauth2/token"
- API_VERSION =
ENV["IDENTITY_ENDPOINT"] ? "2019-08-01" : "2018-02-01"
- RESOURCE_URI =
"https://storage.azure.com/"
Instance Method Summary collapse
- #expiration(response) ⇒ Object
-
#initialize(principal_id: nil) ⇒ InstanceMetadataService
constructor
A new instance of InstanceMetadataService.
- #request ⇒ Object
Constructor Details
#initialize(principal_id: nil) ⇒ InstanceMetadataService
Returns a new instance of InstanceMetadataService.
7 8 9 10 11 12 13 14 15 |
# File 'lib/azure_blob/instance_metadata_service.rb', line 7 def initialize(principal_id: nil) @identity_uri = URI.parse(IDENTITY_ENDPOINT) params = { 'api-version': API_VERSION, resource: RESOURCE_URI, } params[:principal_id] = principal_id if principal_id @identity_uri.query = URI.encode_www_form(params) end |
Instance Method Details
#expiration(response) ⇒ Object
24 25 26 |
# File 'lib/azure_blob/instance_metadata_service.rb', line 24 def expiration(response) Time.at(response["expires_on"].to_i) end |
#request ⇒ Object
17 18 19 20 21 22 |
# File 'lib/azure_blob/instance_metadata_service.rb', line 17 def request headers = { "Metadata" => "true" } headers["X-IDENTITY-HEADER"] = ENV["IDENTITY_HEADER"] if ENV["IDENTITY_HEADER"] AzureBlob::Http.new(@identity_uri, headers).get end |