class Aws::ClientSideMonitoring::RequestMetrics::ApiCallAttempt

Attributes

access_key[R]
api[R]
aws_exception[RW]
aws_exception_msg[RW]
client_id[R]
fqdn[RW]
http_status_code[RW]
region[RW]
request_latency[RW]
sdk_exception[RW]
sdk_exception_msg[RW]
service[R]
session_token[R]
timestamp[R]
user_agent[R]
version[R]
x_amz_id_2[RW]
x_amz_request_id[RW]
x_amzn_request_id[RW]

Public Class Methods

new( service, api, client_id, version, timestamp, fqdn, region, user_agent, access_key, session_token ) click to toggle source
# File lib/aws-sdk-core/client_side_monitoring/request_metrics.rb, line 133
def initialize(
  service,
  api,
  client_id,
  version,
  timestamp,
  fqdn,
  region,
  user_agent,
  access_key,
  session_token
)
  @service = service
  @api = api
  @client_id = client_id
  @version = version
  @timestamp = timestamp
  @fqdn = fqdn
  @region = region
  @user_agent = user_agent
  @access_key = access_key
  @session_token = session_token
end

Public Instance Methods

to_json(*a) click to toggle source
# File lib/aws-sdk-core/client_side_monitoring/request_metrics.rb, line 157
def to_json(*a)
  json = {
    "Type" => "ApiCallAttempt",
    "Service" => @service,
    "Api" => @api,
    "ClientId" => @client_id,
    "Timestamp" => @timestamp,
    "Version" => @version,
    "Fqdn" => @fqdn,
    "Region" => @region,
    "UserAgent" => @user_agent,
    "AccessKey" => @access_key
  }
  # Optional Fields
  json["SessionToken"] = @session_token if @session_token
  json["HttpStatusCode"] = @http_status_code if @http_status_code
  json["AwsException"] = @aws_exception if @aws_exception
  json["AwsExceptionMessage"] = @aws_exception_msg if @aws_exception_msg
  json["XAmznRequestId"] = @x_amzn_request_id if @x_amzn_request_id
  json["XAmzRequestId"] = @x_amz_request_id if @x_amz_request_id
  json["XAmzId2"] = @x_amz_id_2 if @x_amz_id_2
  json["AttemptLatency"] = @request_latency if @request_latency
  json["SdkException"] = @sdk_exception if @sdk_exception
  json["SdkExceptionMessage"] = @sdk_exception_msg if @sdk_exception_msg
  json = _truncate(json)
  json.to_json
end

Private Instance Methods

_truncate(document) click to toggle source
# File lib/aws-sdk-core/client_side_monitoring/request_metrics.rb, line 186
def _truncate(document)
  document.each do |key, value|
    limit = FIELD_MAX_LENGTH[key]
    if limit && value.to_s.length > limit
      document[key] = value.to_s.slice(0...limit)
    end
  end
  document
end