Class: DatadogAPIClient::V2::ContainersAPI
- Inherits:
-
Object
- Object
- DatadogAPIClient::V2::ContainersAPI
- Defined in:
- lib/datadog_api_client/v2/api/containers_api.rb
Instance Attribute Summary collapse
-
#api_client ⇒ Object
Returns the value of attribute api_client.
Instance Method Summary collapse
-
#initialize(api_client = DatadogAPIClient::APIClient.default) ⇒ ContainersAPI
constructor
A new instance of ContainersAPI.
-
#list_containers(opts = {}) ⇒ Object
Get All Containers.
-
#list_containers_with_http_info(opts = {}) ⇒ Array<(ContainersResponse, Integer, Hash)>
Get All Containers.
-
#list_containers_with_pagination(opts = {}) {|ContainerItem| ... } ⇒ Object
Get All Containers.
Constructor Details
#initialize(api_client = DatadogAPIClient::APIClient.default) ⇒ ContainersAPI
Returns a new instance of ContainersAPI.
22 23 24 |
# File 'lib/datadog_api_client/v2/api/containers_api.rb', line 22 def initialize(api_client = DatadogAPIClient::APIClient.default) @api_client = api_client end |
Instance Attribute Details
#api_client ⇒ Object
Returns the value of attribute api_client.
20 21 22 |
# File 'lib/datadog_api_client/v2/api/containers_api.rb', line 20 def api_client @api_client end |
Instance Method Details
#list_containers(opts = {}) ⇒ Object
Get All Containers.
29 30 31 32 |
# File 'lib/datadog_api_client/v2/api/containers_api.rb', line 29 def list_containers(opts = {}) data, _status_code, _headers = list_containers_with_http_info(opts) data end |
#list_containers_with_http_info(opts = {}) ⇒ Array<(ContainersResponse, Integer, Hash)>
Get All Containers.
Get all containers for your organization. Use group_by to return container groups with counts.
Grouped results are limited by page[size] and do not support pagination.
To get CPU or memory metrics, use a container data source query with /api/v2/query/scalar
or /api/v2/query/timeseries.
49 50 51 52 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 |
# File 'lib/datadog_api_client/v2/api/containers_api.rb', line 49 def list_containers_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: ContainersAPI.list_containers ...' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ContainersAPI.list_containers, must be smaller than or equal to 10000.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ContainersAPI.list_containers, must be greater than or equal to 1.' end # resource path local_var_path = '/api/v2/containers' # query parameters query_params = opts[:query_params] || {} query_params[:'filter[tags]'] = opts[:'filter_tags'] if !opts[:'filter_tags'].nil? query_params[:'group_by'] = opts[:'group_by'] if !opts[:'group_by'].nil? query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'page[cursor]'] = opts[:'page_cursor'] if !opts[:'page_cursor'].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] || 'ContainersResponse' # auth_names auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ] = opts.merge( :operation => :list_containers, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type, :api_version => "V2" ) data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: ContainersAPI#list_containers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |
#list_containers_with_pagination(opts = {}) {|ContainerItem| ... } ⇒ Object
Get All Containers.
Provide a paginated version of #list_containers, returning all items.
To use it you need to use a block: list_containers_with_pagination { |item| p item }
113 114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/datadog_api_client/v2/api/containers_api.rb', line 113 def list_containers_with_pagination(opts = {}) api_version = "V2" page_size = @api_client.get_attribute_from_path(opts, "page_size", 1000) @api_client.set_attribute_from_path(api_version, opts, "page_size", Integer, page_size) while true do response = list_containers(opts) @api_client.get_attribute_from_path(response, "data").each { |item| yield(item) } if @api_client.get_attribute_from_path(response, "data").length == 0 break end @api_client.set_attribute_from_path(api_version, opts, "page_cursor", String, @api_client.get_attribute_from_path(response, "meta.pagination.next_cursor")) end end |