Class: Fastly::OriginInspectorHistoricalApi

Inherits:
Object
  • Object
show all
Defined in:
lib/fastly/api/origin_inspector_historical_api.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_client = ApiClient.default) ⇒ OriginInspectorHistoricalApi



17
18
19
# File 'lib/fastly/api/origin_inspector_historical_api.rb', line 17

def initialize(api_client = ApiClient.default)
  @api_client = api_client
end

Instance Attribute Details

#api_clientObject

Returns the value of attribute api_client.



15
16
17
# File 'lib/fastly/api/origin_inspector_historical_api.rb', line 15

def api_client
  @api_client
end

Instance Method Details

#get_origin_inspector_historical(opts = {}) ⇒ HistoricalOriginsResponse

Get historical origin data for a service Fetches historical origin metrics for a given Fastly service, optionally filtering and grouping the results by origin host, region, or POP.

Options Hash (opts):

  • :service_id (String)

    Alphanumeric string identifying the service. (required)

  • :start (String)

    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.

  • :_end (String)

    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.

  • :downsample (String)

    Duration of sample windows. (default to ‘hour’)

  • :metric (String)

    The metrics to retrieve. Multiple values should be comma-separated. (default to ‘responses’)

  • :group_by (String)

    Dimensions to return in the query. Multiple dimensions may be separated by commas. For example, `group_by=host` will return one timeseries for every origin host, as a total across all POPs.

  • :limit (String)

    Number of results per page. The maximum is 200. (default to ‘100’)

  • :cursor (String)

    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.

  • :region (String)

    Limit query to one or more specific geographic regions. Values should be comma-separated.

  • :datacenter (String)

    Limit query to one or more specific POPs. Values should be comma-separated.

  • :host (String)

    Limit query to one or more specific origin hosts. Values should be comma-separated.



34
35
36
37
# File 'lib/fastly/api/origin_inspector_historical_api.rb', line 34

def get_origin_inspector_historical(opts = {})
  data, _status_code, _headers = get_origin_inspector_historical_with_http_info(opts)
  data
end

#get_origin_inspector_historical_with_http_info(opts = {}) ⇒ Array<(HistoricalOriginsResponse, Integer, Hash)>

Get historical origin data for a service Fetches historical origin metrics for a given Fastly service, optionally filtering and grouping the results by origin host, region, or POP.

Options Hash (opts):

  • :service_id (String)

    Alphanumeric string identifying the service. (required)

  • :start (String)

    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.

  • :_end (String)

    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.

  • :downsample (String)

    Duration of sample windows. (default to ‘hour’)

  • :metric (String)

    The metrics to retrieve. Multiple values should be comma-separated. (default to ‘responses’)

  • :group_by (String)

    Dimensions to return in the query. Multiple dimensions may be separated by commas. For example, &#x60;group_by&#x3D;host&#x60; will return one timeseries for every origin host, as a total across all POPs.

  • :limit (String)

    Number of results per page. The maximum is 200. (default to ‘100’)

  • :cursor (String)

    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.

  • :region (String)

    Limit query to one or more specific geographic regions. Values should be comma-separated.

  • :datacenter (String)

    Limit query to one or more specific POPs. Values should be comma-separated.

  • :host (String)

    Limit query to one or more specific origin hosts. Values should be comma-separated.



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/fastly/api/origin_inspector_historical_api.rb', line 53

def get_origin_inspector_historical_with_http_info(opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: OriginInspectorHistoricalApi.get_origin_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 OriginInspectorHistoricalApi.get_origin_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 = ["host", "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/origins/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[:'host'] = opts[:'host'] if !opts[:'host'].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] || 'HistoricalOriginsResponse'

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

  new_options = opts.merge(
    :operation => :"OriginInspectorHistoricalApi.get_origin_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: OriginInspectorHistoricalApi#get_origin_inspector_historical\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end