class Fastly::DomainInspectorHistoricalApi

Attributes

api_client[RW]

Public Class Methods

new(api_client = ApiClient.default) click to toggle source
# File lib/fastly/api/domain_inspector_historical_api.rb, line 17
def initialize(api_client = ApiClient.default)
  @api_client = api_client
end

Public Instance Methods

get_domain_inspector_historical(opts = {}) click to toggle source

Get historical domain data for a service Fetches historical domain metrics for a given Fastly service, optionally filtering and grouping the results by domain, region, or POP. @option opts [String] :service_id Alphanumeric string identifying the service. (required) @option opts [String] :start A valid ISO-8601-formatted date and time, or UNIX timestamp, indicating the inclusive start of the query time range. If not provided, a default is chosen based on the provided `downsample` value. @option opts [String] :_end A valid ISO-8601-formatted date and time, or UNIX timestamp, indicating the exclusive end of the query time range. If not provided, a default is chosen based on the provided `downsample` value. @option opts [String] :downsample Duration of sample windows. (default to ‘hour’) @option opts [String] :metric The metrics to retrieve. Multiple values should be comma-separated. (default to ‘edge_requests’) @option opts [String] :group_by Dimensions to return in the query. Multiple dimensions may be separated by commas. For example, `group_by=domain` will return one timeseries for every domain, as a total across all datacenters (POPs). @option opts [String] :limit Number of results per page. The maximum is 200. (default to ‘100’) @option opts [String] :cursor Cursor value from the `next_cursor` field of a previous response, used to retrieve the next page. To request the first page, this should be empty. @option opts [String] :region Limit query to one or more specific geographic regions. Values should be comma-separated. @option opts [String] :datacenter Limit query to one or more specific POPs. Values should be comma-separated. @option opts [String] :domain Limit query to one or more specific domains. Values should be comma-separated. @return [HistoricalDomainsResponse]

# File lib/fastly/api/domain_inspector_historical_api.rb, line 34
def get_domain_inspector_historical(opts = {})
  data, _status_code, _headers = get_domain_inspector_historical_with_http_info(opts)
  data
end
get_domain_inspector_historical_with_http_info(opts = {}) click to toggle source

Get historical domain data for a service Fetches historical domain metrics for a given Fastly service, optionally filtering and grouping the results by domain, region, or POP. @option opts [String] :service_id Alphanumeric string identifying the service. (required) @option opts [String] :start A valid ISO-8601-formatted date and time, or UNIX timestamp, indicating the inclusive start of the query time range. If not provided, a default is chosen based on the provided &#x60;downsample&#x60; value. @option opts [String] :_end A valid ISO-8601-formatted date and time, or UNIX timestamp, indicating the exclusive end of the query time range. If not provided, a default is chosen based on the provided &#x60;downsample&#x60; value. @option opts [String] :downsample Duration of sample windows. (default to ‘hour’) @option opts [String] :metric The metrics to retrieve. Multiple values should be comma-separated. (default to ‘edge_requests’) @option opts [String] :group_by Dimensions to return in the query. Multiple dimensions may be separated by commas. For example, &#x60;group_by&#x3D;domain&#x60; will return one timeseries for every domain, as a total across all datacenters (POPs). @option opts [String] :limit Number of results per page. The maximum is 200. (default to ‘100’) @option opts [String] :cursor Cursor value from the &#x60;next_cursor&#x60; field of a previous response, used to retrieve the next page. To request the first page, this should be empty. @option opts [String] :region Limit query to one or more specific geographic regions. Values should be comma-separated. @option opts [String] :datacenter Limit query to one or more specific POPs. Values should be comma-separated. @option opts [String] :domain Limit query to one or more specific domains. Values should be comma-separated. @return [Array<(HistoricalDomainsResponse, Integer, Hash)>] HistoricalDomainsResponse data, response status code and response headers

# File lib/fastly/api/domain_inspector_historical_api.rb, line 53
def get_domain_inspector_historical_with_http_info(opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: DomainInspectorHistoricalApi.get_domain_inspector_historical ...'
  end
  # unbox the parameters from the hash
  service_id = opts[:'service_id']
  # verify the required parameter 'service_id' is set
  if @api_client.config.client_side_validation && service_id.nil?
    fail ArgumentError, "Missing the required parameter 'service_id' when calling DomainInspectorHistoricalApi.get_domain_inspector_historical"
  end
  allowable_values = ["hour", "minute", "day"]
  if @api_client.config.client_side_validation && opts[:'downsample'] && !allowable_values.include?(opts[:'downsample'])
    fail ArgumentError, "invalid value for \"downsample\", must be one of #{allowable_values}"
  end
  allowable_values = ["domain", "datacenter", "region", "none"]
  if @api_client.config.client_side_validation && opts[:'group_by'] && !allowable_values.include?(opts[:'group_by'])
    fail ArgumentError, "invalid value for \"group_by\", must be one of #{allowable_values}"
  end
  allowable_values = ["usa", "europe", "asia", "asia_india", "asia_southkorea", "africa_std", "southamerica_std"]
  if @api_client.config.client_side_validation && opts[:'region'] && !allowable_values.include?(opts[:'region'])
    fail ArgumentError, "invalid value for \"region\", must be one of #{allowable_values}"
  end
  # resource path
  local_var_path = '/metrics/domains/services/{service_id}'.sub('{' + 'service_id' + '}', CGI.escape(service_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'start'] = opts[:'start'] if !opts[:'start'].nil?
  query_params[:'end'] = opts[:'_end'] if !opts[:'_end'].nil?
  query_params[:'downsample'] = opts[:'downsample'] if !opts[:'downsample'].nil?
  query_params[:'metric'] = opts[:'metric'] if !opts[:'metric'].nil?
  query_params[:'group_by'] = opts[:'group_by'] if !opts[:'group_by'].nil?
  query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
  query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
  query_params[:'region'] = opts[:'region'] if !opts[:'region'].nil?
  query_params[:'datacenter'] = opts[:'datacenter'] if !opts[:'datacenter'].nil?
  query_params[:'domain'] = opts[:'domain'] if !opts[:'domain'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'HistoricalDomainsResponse'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['token']

  new_options = opts.merge(
    :operation => :"DomainInspectorHistoricalApi.get_domain_inspector_historical",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: DomainInspectorHistoricalApi#get_domain_inspector_historical\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end