Python client for the Datadog API

Overview

datadog-api-client-python

This repository contains a Python API client for the Datadog API. The code is generated using openapi-generator and apigentools.

Requirements

Building and using the API client library requires Python 3.6+.

Installation

To install the API client library, simply execute:

pip install datadog-api-client

Getting Started

Please follow the installation instruction and execute the following Python code:

: "], host_tags=[" : "], role_name="DatadogAWSIntegrationRole", secret_access_key="secret_access_key_example", ) # AWSAccount | AWS Request Object # example passing only required values which don't have defaults set try: # Create an AWS integration api_response = api_instance.create_aws_account(body) pprint(api_response) except datadog_api_client.v1.ApiException as e: print("Exception when calling AWSIntegrationApi->create_aws_account: %s\n" % e)">
import os
from dateutil.parser import parse as dateutil_parser
import datadog_api_client.v1
from datadog_api_client.v1.api import aws_integration_api
from datadog_api_client.v1.models import *
from pprint import pprint

# Defining the host is optional and defaults to https://api.datadoghq.com
# See configuration.py for a list of all supported configuration parameters.
configuration = datadog_api_client.v1.Configuration(
    host = "https://api.datadoghq.com"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure API key authorization: apiKeyAuth
configuration.api_key['apiKeyAuth'] = os.getenv('DD_CLIENT_API_KEY')

# Configure API key authorization: appKeyAuth
configuration.api_key['appKeyAuth'] = os.getenv('DD_CLIENT_APP_KEY')

# Enter a context with an instance of the API client
with datadog_api_client.v1.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = aws_integration_api.AWSIntegrationApi(api_client)
    body = AWSAccount(
        access_key_id="access_key_id_example",
        account_id="1234567",
        account_specific_namespace_rules={
            "key": True,
        },
        excluded_regions=["us-east-1","us-west-2"],
        filter_tags=["
      
       :
       
        "
       
      ],
        host_tags=["
      
       :
       
        "
       
      ],
        role_name="DatadogAWSIntegrationRole",
        secret_access_key="secret_access_key_example",
    ) # AWSAccount | AWS Request Object

    # example passing only required values which don't have defaults set
    try:
        # Create an AWS integration
        api_response = api_instance.create_aws_account(body)
        pprint(api_response)
    except datadog_api_client.v1.ApiException as e:
        print("Exception when calling AWSIntegrationApi->create_aws_account: %s\n" % e)

Unstable Endpoints

This client includes access to Datadog API endpoints while they are in an unstable state and may undergo breaking changes. An extra configuration step is required to enable these endpoints:

"] = True">
configuration.unstable_operations["
    
     "
    ] = True

where is the name of the method used to interact with that endpoint. For example: list_log_indexes, or get_logs_index

Changing Server

When talking to a different server, like the eu instance, change the server_variables on your configuration object:

configuration.server_variables["site"] = "datadoghq.eu"

Disable compressed payloads

If you want to disable GZIP compressed responses, set the compress flag on your configuration object:

configuration.compress = False

Enable requests tracing

If you want to enable requests tracing, set the debug flag on your configuration object:

configuration.debug = True

Documentation for API Endpoints and Models

Documentation for API endpoints and models can be found under the docs subdirectories, in v1 and v2.

It's also available on readthedocs.

Documentation for Authorization

Authenticate with the API by providing your API and Application keys in the configuration:

configuration.api_key["apiKeyAuth"] = "YOUR_API_KEY"
configuration.api_key["appKeyAuth"] = "YOUR_APPLICATION_KEY"

Author

[email protected]

Comments
  • Test scenarios

    Test scenarios

    What does this PR do?

    This is an example implementation for test scenarios.

    Additional Notes

    Review checklist

    Please check relevant items below:

    • [ ] This PR includes all newly recorded cassettes for any modified tests.

    • [ ] This PR does not rely on API client schema changes.

      • [ ] The CI should be fully passing.
    • [ ] Or, this PR relies on API schema changes and this is a Draft PR to include tests for that new functionality.

      • Note: CI shouldn't be run on this Draft PR, as its expected to fail without the corresponding schema changes.
    changelog/no-changelog dev/testing 
    opened by jirikuncar 71
  • New Python library version returning AttributeError: 'NoneType' object has no attribute '_composed_schemas'

    New Python library version returning AttributeError: 'NoneType' object has no attribute '_composed_schemas'

    Describe the bug

    Error AttributeError: 'NoneType' object has no attribute '_composed_schemas' after upgrading DD Python libs to datadog==0.40.1 and datadog-api-client==1.0.0b6, when querying MetricsAPI.

    To Reproduce Steps to reproduce the behavior:

    1. Create your new Venv
    2. Install the latest DD libs (versions stated above)
    3. Follow the exact documentation for search query, as here https://docs.datadoghq.com/api/latest/metrics/#search-metrics, but a slightly change:
    with ApiClient(configuration) as api_client:
        # Create an instance of the API class
        api_instance = metrics_api.MetricsApi(api_client)
        _from = datetime(2021, 2, 1).strftime('%s')  # int | Start of the queried time period, seconds since the Unix epoch.
        to = datetime(2021, 3, 1).strftime('%s')  # int | End of the queried time period, seconds since the Unix epoch.
        query = 'avg:aws.apigateway.latency{component:tag-tag-tag,sla:true}'  # str | Query string.
    
        print(_from, to)
        print(api_instance)
        # example passing only required values which don't have defaults set
        try:
            # Query timeseries points
            api_response = api_instance.query_metrics(_from, to, query)
        except ApiException as e:
            print("Exception when calling MetricsApi->query_metrics: %s\n" % e)
    

    Expected behavior The correct object returned in console

    Screenshots Error:

    Traceback (most recent call last):
      File "ddn.py", line 30, in <module>
        pprint(api_response)
      File "/usr/lib/python3.8/pprint.py", line 53, in pprint
        printer.pprint(object)
      File "/usr/lib/python3.8/pprint.py", line 148, in pprint
        self._format(object, self._stream, 0, 0, {}, 0)
      File "/usr/lib/python3.8/pprint.py", line 170, in _format
        rep = self._repr(object, context, level)
      File "/usr/lib/python3.8/pprint.py", line 404, in _repr
        repr, readable, recursive = self.format(object, context.copy(),
      File "/usr/lib/python3.8/pprint.py", line 417, in format
        return _safe_repr(object, context, maxlevels, level, self._sort_dicts)
      File "/usr/lib/python3.8/pprint.py", line 569, in _safe_repr
        rep = repr(object)
      File "/home/ab000113/workspace/venv-test/lib/python3.8/site-packages/datadog_api_client/v1/model_utils.py", line 135, in __repr__
        return self.to_str()
      File "/home/ab000113/workspace/venv-test/lib/python3.8/site-packages/datadog_api_client/v1/model_utils.py", line 347, in to_str
        return pprint.pformat(self.to_dict())
      File "/home/ab000113/workspace/venv-test/lib/python3.8/site-packages/datadog_api_client/v1/model_utils.py", line 343, in to_dict
        return model_to_dict(self, serialize=False)
      File "/home/ab000113/workspace/venv-test/lib/python3.8/site-packages/datadog_api_client/v1/model_utils.py", line 1410, in model_to_dict
        result[attr] = [model_to_dict(x, serialize=serialize) for x in value]
      File "/home/ab000113/workspace/venv-test/lib/python3.8/site-packages/datadog_api_client/v1/model_utils.py", line 1410, in <listcomp>
        result[attr] = [model_to_dict(x, serialize=serialize) for x in value]
      File "/home/ab000113/workspace/venv-test/lib/python3.8/site-packages/datadog_api_client/v1/model_utils.py", line 1410, in model_to_dict
        result[attr] = [model_to_dict(x, serialize=serialize) for x in value]
      File "/home/ab000113/workspace/venv-test/lib/python3.8/site-packages/datadog_api_client/v1/model_utils.py", line 1410, in <listcomp>
        result[attr] = [model_to_dict(x, serialize=serialize) for x in value]
      File "/home/ab000113/workspace/venv-test/lib/python3.8/site-packages/datadog_api_client/v1/model_utils.py", line 1395, in model_to_dict
        if model_instance._composed_schemas:
    AttributeError: 'NoneType' object has no attribute '_composed_schemas'
    

    Environment and Versions (please complete the following information): A clear and precise description of your setup: Working version as tested here: datadog==0.39.0, datadog-api-client==1.0.0b5 Broken version: datadog==0.40.1, datadog-api-client==1.0.0b6 Python ver: 3.8.5 Ubuntu: 20.04

    Additional context Add any other context about the problem here.

    stale kind/bug 
    opened by diego-duarte-wcar 8
  • Getting an exception while fetching JSON log from Datadog

    Getting an exception while fetching JSON log from Datadog

    Getting an exception while fetching JSON log from Datadog We are having JSON and RAW logs pushed to Datadog from our application. While fetching RAW log using list_logs_get method, it is able to fetch successfully whereas the API call throws exception with JSON logs.

    severity/high

    To Reproduce Steps to reproduce the behavior:

    1. Upload JSON logs to Datadog
    2. Fetch logs using list_logs_get method in Python client with filter_from and filter_to parameters
    3. Getting below exceptions: calendar.IllegalMonthError: bad month number 0; must be 1-12

    Expected behavior It should work similarly to RAW logs

    Screenshots NA

    Environment and Versions (please complete the following information): A clear and precise description of your setup:

    • datadog==0.42.0
    • Executing similar to https://docs.datadoghq.com/api/latest/logs/#get-a-list-of-logs

    Exception Logs filter_query=@cliIP:198.18.39.124, filter_index=main, filter_from=2021-09-07 11:01:28+00:00, filter_to=2021-09-07 12:47:17+00:00, sort=timestamp, page_limit=1000 /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/api_client.py:787: UserWarning: Using unstable operation 'list_logs_get' warnings.warn("Using unstable operation '{0}'".format(self.settings["operation_id"])) Exception occured: unsupported operand type(s) for +: 'int' and 'str' Retrying with different search filter: @accLang:DATADOG_PERF_TEST_0907123306%20SPACE%20IN%20THE%20ACCEPT%20LANGUAGE Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/dateutil/parser/_parser.py", line 655, in parse ret = self._build_naive(res, default) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/dateutil/parser/_parser.py", line 1238, in _build_naive if cday > monthrange(cyear, cmonth)[1]: File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/calendar.py", line 124, in monthrange raise IllegalMonthError(month) calendar.IllegalMonthError: bad month number 0; must be 1-12

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "/Users/vechandr/git_repo/mdsqa_python3_automation/DSL_Automation/util/DatadogUtil.py", line 50, in fetch_data_from_datadog api_response = api_instance.list_logs_get(filter_query=filter_query, filter_index=filter_index, filter_from=filter_from, filter_to=filter_to, sort=sort, page_limit=page_limit) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/api/logs_api.py", line 307, in list_logs_get return self._list_logs_get_endpoint.call_with_http_info(**kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/api_client.py", line 844, in call_with_http_info return self.api_client.call_api( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/api_client.py", line 386, in call_api return self.__call_api( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/api_client.py", line 214, in __call_api return_data = self.deserialize(response_data, response_type, _check_type) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/api_client.py", line 307, in deserialize deserialized_data = validate_and_convert_types( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1552, in validate_and_convert_types converted_instance = attempt_convert_item( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1439, in attempt_convert_item return deserialize_model( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1355, in deserialize_model return model_class._new_from_openapi_data(**kw_args) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 40, in wrapped_init return fn(_self, *args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 313, in _new_from_openapi_data return cls._from_openapi_data(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 40, in wrapped_init return fn(_self, *args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model/logs_list_response.py", line 140, in _from_openapi_data self = super(LogsListResponse, cls)._from_openapi_data(kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 583, in _from_openapi_data setattr(self, var_name, var_value) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 168, in setattr self[attr] = value File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 509, in setitem self.set_attribute(name, value) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 137, in set_attribute value = validate_and_convert_types( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1602, in validate_and_convert_types validate_and_convert_types( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1552, in validate_and_convert_types converted_instance = attempt_convert_item( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1439, in attempt_convert_item return deserialize_model( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1355, in deserialize_model return model_class._new_from_openapi_data(**kw_args) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 40, in wrapped_init return fn(_self, *args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 313, in _new_from_openapi_data return cls._from_openapi_data(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 40, in wrapped_init return fn(_self, *args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model/log.py", line 138, in _from_openapi_data self = super(Log, cls)._from_openapi_data(kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 583, in _from_openapi_data setattr(self, var_name, var_value) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 168, in setattr self[attr] = value File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 509, in setitem self.set_attribute(name, value) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 137, in set_attribute value = validate_and_convert_types( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1552, in validate_and_convert_types converted_instance = attempt_convert_item( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1439, in attempt_convert_item return deserialize_model( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1355, in deserialize_model return model_class._new_from_openapi_data(**kw_args) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 40, in wrapped_init return fn(_self, *args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 313, in _new_from_openapi_data return cls._from_openapi_data(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 40, in wrapped_init return fn(_self, *args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model/log_attributes.py", line 141, in _from_openapi_data self = super(LogAttributes, cls)._from_openapi_data(kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 583, in _from_openapi_data setattr(self, var_name, var_value) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 168, in setattr self[attr] = value File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 509, in setitem self.set_attribute(name, value) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 137, in set_attribute value = validate_and_convert_types( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1622, in validate_and_convert_types result[inner_key] = validate_and_convert_types( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1573, in validate_and_convert_types converted_instance = attempt_convert_item( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1444, in attempt_convert_item return deserialize_primitive(input_value, valid_class, path_to_item) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1235, in deserialize_primitive parsed_datetime = parse(data) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/dateutil/parser/_parser.py", line 1374, in parse return DEFAULTPARSER.parse(timestr, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/dateutil/parser/_parser.py", line 657, in parse six.raise_from(ParserError(e.args[0] + ": %s", timestr), e) TypeError: unsupported operand type(s) for +: 'int' and 'str'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/dateutil/parser/_parser.py", line 655, in parse ret = self._build_naive(res, default) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/dateutil/parser/_parser.py", line 1238, in _build_naive if cday > monthrange(cyear, cmonth)[1]: File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/calendar.py", line 124, in monthrange raise IllegalMonthError(month) calendar.IllegalMonthError: bad month number 0; must be 1-12

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "/Users/vechandr/git_repo/mdsqa_python3_automation/DSL_Automation/util/DatadogUtil.py", line 108, in fetch_data_from_datadog(filter_query,filter_from,filter_to,expected_log_lines,unique_string) File "/Users/vechandr/git_repo/mdsqa_python3_automation/DSL_Automation/util/DatadogUtil.py", line 53, in fetch_data_from_datadog api_response = api_instance.list_logs_get(filter_query=filter_query_unique_string, File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/api/logs_api.py", line 307, in list_logs_get return self._list_logs_get_endpoint.call_with_http_info(**kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/api_client.py", line 844, in call_with_http_info return self.api_client.call_api( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/api_client.py", line 386, in call_api return self.__call_api( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/api_client.py", line 214, in __call_api return_data = self.deserialize(response_data, response_type, _check_type) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/api_client.py", line 307, in deserialize deserialized_data = validate_and_convert_types( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1552, in validate_and_convert_types converted_instance = attempt_convert_item( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1439, in attempt_convert_item return deserialize_model( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1355, in deserialize_model return model_class._new_from_openapi_data(**kw_args) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 40, in wrapped_init return fn(_self, *args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 313, in _new_from_openapi_data return cls._from_openapi_data(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 40, in wrapped_init return fn(_self, *args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model/logs_list_response.py", line 140, in _from_openapi_data self = super(LogsListResponse, cls)._from_openapi_data(kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 583, in _from_openapi_data setattr(self, var_name, var_value) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 168, in setattr self[attr] = value File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 509, in setitem self.set_attribute(name, value) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 137, in set_attribute value = validate_and_convert_types( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1602, in validate_and_convert_types validate_and_convert_types( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1552, in validate_and_convert_types converted_instance = attempt_convert_item( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1439, in attempt_convert_item return deserialize_model( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1355, in deserialize_model return model_class._new_from_openapi_data(**kw_args) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 40, in wrapped_init return fn(_self, *args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 313, in _new_from_openapi_data return cls._from_openapi_data(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 40, in wrapped_init return fn(_self, *args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model/log.py", line 138, in _from_openapi_data self = super(Log, cls)._from_openapi_data(kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 583, in _from_openapi_data setattr(self, var_name, var_value) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 168, in setattr self[attr] = value File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 509, in setitem self.set_attribute(name, value) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 137, in set_attribute value = validate_and_convert_types( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1552, in validate_and_convert_types converted_instance = attempt_convert_item( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1439, in attempt_convert_item return deserialize_model( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1355, in deserialize_model return model_class._new_from_openapi_data(**kw_args) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 40, in wrapped_init return fn(_self, *args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 313, in _new_from_openapi_data return cls._from_openapi_data(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 40, in wrapped_init return fn(_self, *args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model/log_attributes.py", line 141, in _from_openapi_data self = super(LogAttributes, cls)._from_openapi_data(kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 583, in _from_openapi_data setattr(self, var_name, var_value) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 168, in setattr self[attr] = value File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 509, in setitem self.set_attribute(name, value) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 137, in set_attribute value = validate_and_convert_types( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1622, in validate_and_convert_types result[inner_key] = validate_and_convert_types( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1573, in validate_and_convert_types converted_instance = attempt_convert_item( File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1444, in attempt_convert_item return deserialize_primitive(input_value, valid_class, path_to_item) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/datadog_api_client/v2/model_utils.py", line 1235, in deserialize_primitive parsed_datetime = parse(data) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/dateutil/parser/_parser.py", line 1374, in parse return DEFAULTPARSER.parse(timestr, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/dateutil/parser/_parser.py", line 657, in parse six.raise_from(ParserError(e.args[0] + ": %s", timestr), e) TypeError: unsupported operand type(s) for +: 'int' and 'str'

    Process finished with exit code 1

    kind/bug 
    opened by venkatc70 7
  • HostsApi.lists_hosts can't parse Macos/Darwin hosts

    HostsApi.lists_hosts can't parse Macos/Darwin hosts

    Describe the bug

    Calling HostsApi.list_hosts() will fail if one or more of the hosts is of type Macos/Darwin. This is because the library expects the nix_v metadata field to not be None. However that field only seems to be set on linux hosts.

    To Reproduce

    1. Run the datadog agent on a macos host
    2. Confirm the host shows up in your infrastructure list
    3. Run the basic list_host example

    Expected behavior A response is returned without errors

    Actual behavior

    The stack trace I consistently get when the library fails to convert the None values.

    Traceback (most recent call last):
      File "/home/user/Code/datadog-cost-allocation/src/hack/get_untagged_hosts.py", line 41, in main
        response = api_instance.list_hosts(count=1000)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/v1/api/hosts_api.py", line 254, in list_hosts
        return self._list_hosts_endpoint.call_with_http_info(**kwargs)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/api_client.py", line 738, in call_with_http_info
        return self.api_client.call_api(
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/api_client.py", line 362, in call_api
        return self._call_api(
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/api_client.py", line 152, in _call_api
        return_data = self.deserialize(response_data, response_type, _check_type)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/api_client.py", line 242, in deserialize
        deserialized_data = validate_and_convert_types(
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 1593, in validate_and_convert_types
        return attempt_convert_item(
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 1492, in attempt_convert_item
        raise conversion_exc
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 1484, in attempt_convert_item
        return deserialize_model(
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 1403, in deserialize_model
        return model_class._new_from_openapi_data(**kw_args)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 42, in wrapped_init
        return fn(_self, *args, **kwargs)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 341, in _new_from_openapi_data
        return cls._from_openapi_data(*args, **kwargs)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/v1/model/host_list_response.py", line 55, in _from_openapi_data
        self = super(HostListResponse, cls)._from_openapi_data(kwargs)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 642, in _from_openapi_data
        setattr(self, var_name, var_value)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 196, in __setattr__
        self[attr] = value
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 567, in __setitem__
        self.set_attribute(name, value)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 165, in set_attribute
        value = validate_and_convert_types(
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 1639, in validate_and_convert_types
        validate_and_convert_types(
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 1593, in validate_and_convert_types
        return attempt_convert_item(
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 1492, in attempt_convert_item
        raise conversion_exc
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 1484, in attempt_convert_item
        return deserialize_model(
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 1403, in deserialize_model
        return model_class._new_from_openapi_data(**kw_args)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 42, in wrapped_init
        return fn(_self, *args, **kwargs)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 341, in _new_from_openapi_data
        return cls._from_openapi_data(*args, **kwargs)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/v1/model/host.py", line 112, in _from_openapi_data
        self = super(Host, cls)._from_openapi_data(kwargs)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 642, in _from_openapi_data
        setattr(self, var_name, var_value)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 196, in __setattr__
        self[attr] = value
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 567, in __setitem__
        self.set_attribute(name, value)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 165, in set_attribute
        value = validate_and_convert_types(
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 1593, in validate_and_convert_types
        return attempt_convert_item(
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 1492, in attempt_convert_item
        raise conversion_exc
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 1484, in attempt_convert_item
        return deserialize_model(
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 1403, in deserialize_model
        return model_class._new_from_openapi_data(**kw_args)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 42, in wrapped_init
        return fn(_self, *args, **kwargs)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 341, in _new_from_openapi_data
        return cls._from_openapi_data(*args, **kwargs)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/v1/model/host_meta.py", line 117, in _from_openapi_data
        self = super(HostMeta, cls)._from_openapi_data(kwargs)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 642, in _from_openapi_data
        setattr(self, var_name, var_value)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 196, in __setattr__
        self[attr] = value
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 567, in __setitem__
        self.set_attribute(name, value)
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 165, in set_attribute
        value = validate_and_convert_types(
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 1639, in validate_and_convert_types
        validate_and_convert_types(
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 1593, in validate_and_convert_types
        return attempt_convert_item(
      File "/home/user/.cache/pypoetry/virtualenvs/datadog-cost-allocation-8apYjUwq-py3.9/lib/python3.9/site-packages/datadog_api_client/model_utils.py", line 1497, in attempt_convert_item
        raise get_type_error(input_value, path_to_item, valid_classes, key_type=key_type)
    datadog_api_client.exceptions.ApiTypeError: Invalid type for variable '0'. Required value type is str and passed type was NoneType at ['received_data']['host_list'][526]['meta']['nix_v'][0]
    

    Screenshots

    Not sure if this helps :man_shrugging: screenshot-1657137957

    Environment and Versions (please complete the following information):

    [[package]]
    name = "datadog-api-client"
    version = "1.11.0"
    
    • python3.9
    • debian

    Additional context

    The null value first shows up here: https://github.com/DataDog/datadog-api-client-python/blob/master/src/datadog_api_client/model_utils.py#L1603 The exception happens here https://github.com/DataDog/datadog-api-client-python/blob/1.11.0/src/datadog_api_client/model_utils.py#L1497 since must_convert is True. Maybe the conversion should be optional?

    stale kind/bug 
    opened by ls-devon-hakel-kinko 6
  • Package cannot be built from release tarball

    Package cannot be built from release tarball

    Describe the bug I am trying to build this library from the source tarball on the release page (https://github.com/DataDog/datadog-api-client-python/releases/tag/1.9.0) and it is unbuildable due to not being a git checkout:

    LookupError: setuptools-scm was unable to detect version for '/tmp/datadog-api-client-python-1.9.0'.
    
    Make sure you're either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub's tarballs, a git checkout without the .git folder) don't contain the necessary metadata and will not work.
    
    For example, if you're using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg=proj
    

    While I can obviously work around this by doing a git checkout instead or by using the wheel from PyPI, this strikes me as a bug. Either building should "just work" from the tarball or there should be a way to override setuptools-scm.

    To Reproduce Steps to reproduce the behavior:

    1. Download tarball from https://github.com/DataDog/datadog-api-client-python/archive/refs/tags/1.9.0.tar.gz
    2. Extract the tarball and cd into it.
    3. Run python setup.py install
    4. See error

    Expected behavior Package should build

    Environment and Versions (please complete the following information): Debian bullseye running python 3.9

    kind/bug 
    opened by ssgelm 6
  • Setup Code Scanning on datadog-api-client-python

    Setup Code Scanning on datadog-api-client-python

    Static code analysis on datadog-api-client-python using Github's Code Scanning.

    This PR has Github workflow configs to trigger the Code Scanning on every PR and on push to master branch. As of now only default security based CodeQL queries are configured. We can gradually add queries for Code Quality later.

    changelog/no-changelog 
    opened by ganeshkumarsv 4
  • certificate verify failed (_ssl.c:897)

    certificate verify failed (_ssl.c:897)

    from datadog_api_client.v1 import ApiClient, Configuration
    from datadog_api_client.v1.api.tags_api import TagsApi
    from datadog_api_client.v1.model.host_tags import HostTags
    
    
    DD_APP_KEY="xxxx" 
    DD_API_KEY="xxxxx" 
    DD_SITE="xxxx"
    
    #configuration = Configuration()
    with ApiClient(configuration) as api_client:
        api_instance = TagsApi(api_client)
        response = api_instance.list_host_tags()
        print(response)
    

    python3.6 1.py

    Traceback (most recent call last):
      File "/usr/lib/python3.6/site-packages/urllib3/connectionpool.py", line 600, in urlopen
        chunked=chunked)
      File "/usr/lib/python3.6/site-packages/urllib3/connectionpool.py", line 343, in _make_request
        self._validate_conn(conn)
      File "/usr/lib/python3.6/site-packages/urllib3/connectionpool.py", line 839, in _validate_conn
        conn.connect()
      File "/usr/lib/python3.6/site-packages/urllib3/connection.py", line 358, in connect
        ssl_context=context)
      File "/usr/lib/python3.6/site-packages/urllib3/util/ssl_.py", line 354, in ssl_wrap_socket
        return context.wrap_socket(sock, server_hostname=server_hostname)
      File "/usr/lib64/python3.6/ssl.py", line 365, in wrap_socket
        _context=self, _session=session)
      File "/usr/lib64/python3.6/ssl.py", line 776, in __init__
        self.do_handshake()
      File "/usr/lib64/python3.6/ssl.py", line 1036, in do_handshake
        self._sslobj.do_handshake()
      File "/usr/lib64/python3.6/ssl.py", line 648, in do_handshake
        self._sslobj.do_handshake()
    ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:897)
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "1.py", line 17, in <module>
        response = api_instance.list_host_tags()
      File "/usr/local/lib/python3.6/site-packages/datadog_api_client/v1/api/tags_api.py", line 346, in list_host_tags
        return self._list_host_tags_endpoint.call_with_http_info(**kwargs)
      File "/usr/local/lib/python3.6/site-packages/datadog_api_client/v1/api_client.py", line 788, in call_with_http_info
        collection_formats=params["collection_format"],
      File "/usr/local/lib/python3.6/site-packages/datadog_api_client/v1/api_client.py", line 382, in call_api
        _check_type,
      File "/usr/local/lib/python3.6/site-packages/datadog_api_client/v1/api_client.py", line 133, in _call_api
        _request_timeout=_request_timeout,
      File "/usr/local/lib/python3.6/site-packages/datadog_api_client/v1/rest.py", line 197, in request
        method, url, fields=query_params, preload_content=_preload_content, timeout=timeout, headers=headers
      File "/usr/lib/python3.6/site-packages/urllib3/request.py", line 68, in request
        **urlopen_kw)
      File "/usr/lib/python3.6/site-packages/urllib3/request.py", line 89, in request_encode_url
        return self.urlopen(method, url, **extra_kw)
      File "/usr/lib/python3.6/site-packages/urllib3/poolmanager.py", line 324, in urlopen
        response = conn.urlopen(method, u.request_uri, **kw)
      File "/usr/lib/python3.6/site-packages/urllib3/connectionpool.py", line 667, in urlopen
        **response_kw)
      File "/usr/lib/python3.6/site-packages/urllib3/connectionpool.py", line 667, in urlopen
        **response_kw)
      File "/usr/lib/python3.6/site-packages/urllib3/connectionpool.py", line 667, in urlopen
        **response_kw)
      File "/usr/lib/python3.6/site-packages/urllib3/connectionpool.py", line 638, in urlopen
        _stacktrace=sys.exc_info()[2])
      File "/usr/lib/python3.6/site-packages/urllib3/util/retry.py", line 399, in increment
        raise MaxRetryError(_pool, url, error or ResponseError(cause))
    urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.datadoghq.com', port=443): Max retries exceeded with url: /api/v1/tags/hosts (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:897)'),))
    
    kind/bug 
    opened by kakaNo1 4
  • Unable to pull synthetic tests to to invalid type - edge.laptop_large

    Unable to pull synthetic tests to to invalid type - edge.laptop_large

    Describe the bug

    Getting the following error:

    Invalid value for `value` (edge.laptop_large), must be one of ['laptop_large', 'tablet', 'mobile_small', 'chrome.laptop_large', 'chrome.tablet', 'chrome.mobile_small', 'firefox.laptop_large', 'firefox.tablet', 'firefox.mobile_small']
    

    It looks like the recent addition of edge broke clients due to the strict validity.

    To Reproduce

    Set up synthetic browser test with one of the edge types selected. And then call list_tests() on the API instance.

    api_instance = synthetics_api.SyntheticsApi(api_client)
    res = api_instance.list_tests()
    

    Expected behavior

    All synthetic tests are listed, including ones with edge.

    Screenshots

    image

    Environment and Versions (please complete the following information):

    Python 3.9 with both 1.1.0 API client or master

    Additional context

    Looks to be related to this validation https://github.com/DataDog/datadog-api-client-python/blob/cdd884303b2c2d7959cff6890a7a36d1173bd0b6/src/datadog_api_client/v1/model/synthetics_device_id.py#L45

    stale kind/bug 
    opened by inverse 4
  • Release 1.0.0b8

    Release 1.0.0b8

    • [Added] Add reflow_type property to dashboard object. See #372.
    • [Added] Add security track and formulas and functions support for geomap dashboard widget. See #370.
    • [Added] Generate intake endpoints. See #367.
    • [Added] Add endpoint for listing all downtimes for the specified monitor. See #361.
    • [Added] Add modified_at attribute to user response v2 schema. See #352.
    • [Added] Add default environment loading in clients. See #347.
    • [Added] Add passed, noSavingResponseBody, noScreenshot, and disableCors fields to Synthetics. See #346.
    • [Added] Add compliance usage endpoint and compliance host statistics. See #342.
    • [Added] Add tag filter options for /api/v{1,2}/metrics. See #340.
    • [Added] Add usage fields for Heroku and OpenTelemetry. See #337.
    • [Added] Add global_time_target field to SLO widget. See #335.
    • [Added] Add method to export an API test in Synthetics. See #334.
    • [Added] Add metadata to usage top average metrics response. See #333.
    • [Added] Add median as valid aggregator for formulas and functions. See #328.
    • [Fixed] Fix Python template for exclusiveMinimum/Maximum. See #377.
    • [Fixed] Make python fail properly when invalid key is passed. See #350.
    • [Fixed] Fix parsing of oneOf attributes. See #344.
    • [Fixed] Browser Test message required. See #330.
    • [Changed] Return correct object in GetBrowserTest endpoint. See #359.
    • [Changed] Change python API model. See #351.
    • [Changed] Add agent rules in security monitoring rules queries. See #336.
    documentation changelog/no-changelog 
    opened by jirikuncar 4
  • LogsAggregateRequest fails due to multiple oneOf exception

    LogsAggregateRequest fails due to multiple oneOf exception

    Description

    The request for aggregated logs below always fails with this error:

    • "datadog_api_client.v2.exceptions.ApiValueError: Invalid inputs given to generate an instance of LogsAggregateBucketValue. Multiple oneOf schemas matched the inputs, but a max of one is allowed."
    api = logs_api.LogsApi(client)
    
    body = LogsAggregateRequest(
            compute=[
                LogsCompute(
                    aggregation=LogsAggregationFunction("count"),
                ),
            ],
            filter=LogsQueryFilter(
                query='env:production @path:"/v1/graphql" @response_time_ms:[1 TO 10000] @request_body.query:*',
            ),
            group_by=[
                LogsGroupBy(
                    facet="@request_body.query",
                    limit=1000,
                ),
            ]
        )
    
    api.aggregate_logs(body)
    

    Expected behavior I expect to get aggregated logs.

    Environment and Versions (please complete the following information):

    • MacOS Big Sur v11.2.1
    • Python v3.9.0
    • datadog-api-client v1.0.0-beta.5
    stale kind/bug 
    opened by brandonmailhiot 4
  • Explicitly install volume mounted copy of client for testing

    Explicitly install volume mounted copy of client for testing

    There are two copies of the client in the Docker image we build for testing:

    • one is a copy of the client at the time the image is built
    • the other is a volume mounted copy of the generated client. Previously we were pip install ing the first but not the second.

    Since we use setuptools_scm, the client needs to be installed to have the version file, so the user_agent method doesn't raise an exception

    changelog/no-changelog 
    opened by api-clients-generation-pipeline[bot] 4
Releases(2.8.0)
  • 2.8.0(Jan 5, 2023)

    What's Changed

    Fixed

    • Remove incorrect required fields from CloudConfigurationComplianceRuleOptions by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1276
    • Update CI Visibility types of BucketResponse schema by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1278
    • Fix logs aggregate integer facets by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1285

    Added

    • Add support for query scalar and timeseries endpoints by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1274
    • Add estimated rum sessions usage types to UA enums by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1269
    • Update API spec to allow primary timeframe, target, and warning by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1280
    • Add Usage Metering Cont Usage fields by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1281
    • Add secure field to synthetics config variables by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1283
    • Expose helper method to retrieve oneOf instance by @skarimo in https://github.com/DataDog/datadog-api-client-python/pull/1284

    Full Changelog: https://github.com/DataDog/datadog-api-client-python/compare/2.7.0...2.8.0

    Source code(tar.gz)
    Source code(zip)
  • 2.7.0(Dec 20, 2022)

    What's Changed

    Fixed

    • Add missing response fields to MTD usage attribution endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1259
    • Fix missing field in Synthetics tests authentication configuration by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1263
    • Mark hosts response version fields as nullable by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1261

    Added

    • Add fields for CSPM GCP usage by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1237
    • Add offset and limit parameter to SLO correction API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1241
    • Add documentation for Logs Pipelines ReferenceTableLogsLookupProcessor by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1240
    • Adding new field for the usage metering infra hosts by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1244
    • Add include_percentiles field in Logs Custom Metrics by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1224
    • Add OAuth support for Synthetics tests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1247
    • Add new billable summary fields by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1257
    • RUM Applications Management API add client_token by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1243
    • Support GRPC unary calls in Synthetics by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1253
    • Add style object to dashboard widget formulas by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1266
    • Add enable_samples monitor option by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1267
    • Update security_monitoring endpoints for cloud_configuration rules by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1268
    • Add support for sensitive data scanner APIs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1265
    • Add synthetics_parallel_testing to Usage Metering API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1270
    • Synthetics add pagination params to get all tests endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1271

    Full Changelog: https://github.com/DataDog/datadog-api-client-python/compare/2.6.0...2.7.0

    Source code(tar.gz)
    Source code(zip)
  • 2.6.0(Nov 16, 2022)

    What's Changed

    Fixed

    • Fix service catalog schema change by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1232

    Added

    • Add support for CI Visibility API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1210
    • Add support for querying logs in Online Archives by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1199
    • Add new SDS fields to usage API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1211
    • Remove Beta status for SLO history endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1212
    • Update formula and function monitor enum datasource by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1215
    • Update formula and function monitor enum datasource by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1217
    • Add scheduling_options to monitor definition by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1218
    • Appsec Fargate Public Documentation by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1221
    • Adds noScreenshot to SyntheticsStep by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1223
    • Add support for xpath assertions in synthetics tests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1204
    • Add bodyType to Synthetics request by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1229

    Full Changelog: https://github.com/DataDog/datadog-api-client-python/compare/2.5.0...2.6.0

    Source code(tar.gz)
    Source code(zip)
  • 2.5.0(Oct 24, 2022)

    What's Changed

    Fixed

    • Add Default Rule ID in SignalRuleResponseQuery by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1196
    • Remove incident's resolved attribute from update requests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1197
    • Fix event monitor created_at by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1198
    • Fix spectral rules by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1202

    Added

    • Add notify_by monitor option by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1189
    • Add support for service definitions APIs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1203
    • Add support for confluent cloud integration by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1143
    • Add type annotations to models by @therve in https://github.com/DataDog/datadog-api-client-python/pull/1200

    Deprecated

    • Deprecate metric field of Security Monitoring Rules by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1208

    Full Changelog: https://github.com/DataDog/datadog-api-client-python/compare/2.4.0...2.5.0

    Source code(tar.gz)
    Source code(zip)
  • 2.4.0(Oct 3, 2022)

    What's Changed

    Fixed

    • Refactor RuleQuery models by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1183
    • Fix SearchSLO response structure by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1184
    • Handle deprecation of APIs and attributes by @therve in https://github.com/DataDog/datadog-api-client-python/pull/1170

    Added

    • Add ListActiveConfigurations endpoint and add new filter[queried] param to list tag configurations endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1120
    • Improve enum handling by @therve in https://github.com/DataDog/datadog-api-client-python/pull/1159
    • Support proxy in async client by @therve in https://github.com/DataDog/datadog-api-client-python/pull/1162
    • Add doesNotExist to synthetics operator enum by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1153
    • Add TopologyMapWidget to dashboard schema by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1157
    • Add Overall Status support to SLO Search API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1158
    • Add APM Fargate to Usage Metering API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1152
    • Add support for template variable multiselect in dashboards by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1163
    • Add storage option to widget query definitions by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1167
    • Add support for retrieving a security signal by ID by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1175
    • Add support for signal correlation API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1168
    • Add support for SLO List widget by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1174
    • Add new historical_cost endpoint, and update estimate_cost by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1166
    • Add support for incident attachment APIs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1181

    New Contributors

    • @nkzou made their first contribution in https://github.com/DataDog/datadog-api-client-python/pull/1151
    • @dependabot made their first contribution in https://github.com/DataDog/datadog-api-client-python/pull/1171

    Full Changelog: https://github.com/DataDog/datadog-api-client-python/compare/2.3.0...2.4.0

    Source code(tar.gz)
    Source code(zip)
  • 2.3.0(Aug 31, 2022)

    What's Changed

    Fixed

    • Update Pagerduty operation DeletePagerDutyIntegrationService response status code by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1114
    • Fix oneOf primitive objects creation by @therve in https://github.com/DataDog/datadog-api-client-python/pull/1125

    Added

    • Add support for digest auth in synthetics tests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1121
    • Add support for RUM application endpoints by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1122
    • add priority parameters for dashboard monitor summary widget by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1127
    • Add logs_pattern_stream to list_stream widget source by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1129
    • Add group_retention_duration and on_missing_data monitor options by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1124
    • Expose CSPM aws host count in Usage Metering API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1141
    • Add estimated ingested logs attribution by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1115
    • Add org region to usage summary and billable usage summary by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1136
    • add compression methods to metric payloads by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1112
    • Add role relationships to RoleUpdateData by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1138
    • Add ci_tests enum to FormulaAndFunctionEventsDataSource by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1137
    • Add missing options and request option to synthetics test by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1128
    • Add support for global variable from multistep synthetics tests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1100

    Changed

    • update deprecated usage attribution API docs to direct users to migra… by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1130
    • [Synthetics] remove started form eventType enum by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1132

    Full Changelog: https://github.com/DataDog/datadog-api-client-python/compare/2.2.0...2.3.0

    Source code(tar.gz)
    Source code(zip)
  • 2.2.0(Aug 1, 2022)

    What's Changed

    Added

    • docs(dataviz): update Treemap widget definition with deprecated properties + updated description [VIZZ-2305] by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1099
    • Add hourly usage v2 endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1084
    • Add metrics field in the RuleQuery by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1085
    • Add support for Events V2 endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1057
    • [RQ-2492]: Add custom_events to list of product families in hourly-usage api. by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1108
    • Re-introduce Estimated Cost API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1116

    Full Changelog: https://github.com/DataDog/datadog-api-client-python/compare/2.1.0...2.2.0

    Source code(tar.gz)
    Source code(zip)
  • 2.1.0(Jul 19, 2022)

    What's Changed

    Fixed

    • Remove include_percentiles default by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1065
    • Mark message as required for Synthetics tests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1059
    • Add synthetics results api replay only tests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1098

    Added

    • New usage metering endpoint for estimated cost by org by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1069
    • Add estimated indexed spans usage attribution by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1068
    • Handle raw json for additionalProperties in typescript by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1040
    • Add Application Security Monitoring Hosts Attribution by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1070
    • Add support for security monitoring rule dynamic criticality by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1054
    • Update IP ranges with synthetics private locations section by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1075
    • Add typing information to pagination methods by @therve in https://github.com/DataDog/datadog-api-client-python/pull/1078
    • Add new products to billable summary by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1080
    • Update usage attribution enums by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1071
    • Add estimated ingested spans to usage attribution by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1089
    • Add v2 Security monitoring signals triage operations. by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1081

    Changed

    • Add typing to API arguments by @therve in https://github.com/DataDog/datadog-api-client-python/pull/1076
    • Update metric intake v2 accept response by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1077
    • Add description of metric type enums by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1090
    • remove x-unstable property for usage attribution endpoints by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1097

    New Contributors

    • @ganeshkumarsv made their first contribution in https://github.com/DataDog/datadog-api-client-python/pull/1095

    Full Changelog: https://github.com/DataDog/datadog-api-client-python/compare/2.0.0...2.1.0

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0(Jun 24, 2022)

    What's Changed

    Fixed

    • AuthN Mapping spec cleanup to match implementation by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1006
    • Fix compress call by @therve in https://github.com/DataDog/datadog-api-client-python/pull/1028
    • Add cls to the list of keywords by @therve in https://github.com/DataDog/datadog-api-client-python/pull/1038
    • Fix additionalProperties on SyntheticsAPITestResultData by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1036
    • Fix synthetics vitals type by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1039

    Added

    • Add connection to synthetics assertion type enum by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1010
    • Add grpc subtype to synthetics tests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/985
    • Add support for zstd1 Content-Encoding by @jirikuncar in https://github.com/DataDog/datadog-api-client-python/pull/946
    • Add include descendants to monthly and hourly usage attribution APIs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1032
    • Add v2 endpoints for Opsgenie Integration by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1021
    • Add distribution points intake endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1019
    • Add height and width params to graph snapshot by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1048
    • Add support for defining histogram requests in Distribution widgets by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1030
    • Add DowngradeOrg endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1050
    • Add new options for new value detection type on security monitoring rules by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1042
    • Add ci execution rule in Synthetics options by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1043
    • Add SLO Search API endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/949

    Changed

    • Remove unstable marker from SLO corrections API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1020
    • Remove unstable/beta note since Metrics Without Limits is GA by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1029
    • Refactor API client by @therve in https://github.com/DataDog/datadog-api-client-python/pull/1018
    • Remove unstable marker on security list signal endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1047

    New Contributors

    • @jybp made their first contribution in https://github.com/DataDog/datadog-api-client-python/pull/1063

    Full Changelog: https://github.com/DataDog/datadog-api-client-python/compare/1.12...2.0.0

    Source code(tar.gz)
    Source code(zip)
  • 1.12(May 23, 2022)

    What's Changed

    Fixed

    • Remove duplicated lazy imports by @therve in https://github.com/DataDog/datadog-api-client-python/pull/983
    • Remove unused pararameter from authn mapping by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/986

    Added

    • Expose v2 usage endpoint for application security monitoring by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/978
    • Add rehydration_max_scan_size_in_gb field to Logs Archives by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/973
    • Add mute_first_recovery_notification option to downtime by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/942
    • Add lambda traced invocations usage endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/984
    • Expose new usage field for react sessions by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/987
    • Add missing option and enum value for SecurityMonitoringRule by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/993
    • Adds docs for metric estimate endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/975
    • Allow additional log attributes by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/966
    • Add v2 endpoint for submitting series by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/911
    • Add ci-tests monitor type by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/992
    • Add RUM settings schema to synthetics tests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/1001
    • Add v1 signal triage endpoints by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/997

    Deprecated

    • Deprecate old usage apis by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/989

    Full Changelog: https://github.com/DataDog/datadog-api-client-python/compare/1.11.0...1.12

    Source code(tar.gz)
    Source code(zip)
  • 1.11.0(Apr 27, 2022)

    What's Changed

    Fixed

    • Fix type for date field in LogsByRetentionMonthlyUsage by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/864
    • Fix org name maximum by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/894
    • Fix pagination for top avg metrics endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/899
    • Rename models and operations with mixed cases by @therve in https://github.com/DataDog/datadog-api-client-python/pull/904
    • Fix generation of oneOf types by @jirikuncar in https://github.com/DataDog/datadog-api-client-python/pull/921
    • Allow bool coercion/conversion by @therve in https://github.com/DataDog/datadog-api-client-python/pull/922
    • Fix type of nullable additionalProperties by @jirikuncar in https://github.com/DataDog/datadog-api-client-python/pull/926
    • Make type optional for synthetics basic auth model by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/933
    • Fix camel case version of ListSLOs by @jirikuncar in https://github.com/DataDog/datadog-api-client-python/pull/955
    • Serialize body in async client by @therve in https://github.com/DataDog/datadog-api-client-python/pull/952
    • Set correct type for tags property by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/950

    Added

    • Add impossible travel detection method by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/855
    • Add CI App usage endpoint and usage summary columns by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/860
    • [RUM] Add search endpoints by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/859
    • Add support for getting online archive usage by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/868
    • Add endpoint for retrieving audit logs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/866
    • Add support for Error Tracking monitors by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/896
    • Add support for ci-pipelines monitor using Formulas and Functions by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/906
    • Add aggregate endpoint for RUM by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/919
    • Add median aggregation functions to RUM and logs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/931
    • Add endpoint for validation of existing monitors by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/932
    • Create new ListStreamSource types in order to deprecate ISSUE_STREAM by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/939
    • [Query Value Widget] Add the timeseries background by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/930
    • Add restricted_roles to Synthetics tests and private locations by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/941
    • Add v2 SAML config IdP Metadata upload endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/948
    • Support pagination in Python by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/957
    • Add Usage API endpoint for observability-pipelines and add properties to v1 GetUsageSummary by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/928
    • Add Historical Chargeback Summary endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/967

    Changed

    • Move shared modules outside of versions by @therve in https://github.com/DataDog/datadog-api-client-python/pull/870
    • Bump minimum python by @therve in https://github.com/DataDog/datadog-api-client-python/pull/883
    • Migrate to a global configuration by @therve in https://github.com/DataDog/datadog-api-client-python/pull/900

    Removed

    • Remove lambda_usage and lambda_percentage from usage API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/914
    • [dashboards] Removed issue_stream type from ListStreamSource by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/944

    Deprecated

    • [monitors] Deprecate locked property and clarify documentation for restricted_roles by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/888

    New Contributors

    • @juan-fernandez made their first contribution in https://github.com/DataDog/datadog-api-client-python/pull/869

    Full Changelog: https://github.com/DataDog/datadog-api-client-python/compare/1.10.0...1.11.0

    Source code(tar.gz)
    Source code(zip)
  • 1.10.0(Mar 2, 2022)

    What's Changed

    Fixed

    • Add missing type to enum by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/844
    • Add nullable user relationships to incidents and use this relationship schema for commander_user by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/799
    • Fix event intake response by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/849
    • Use custom generator by @therve in https://github.com/DataDog/datadog-api-client-python/pull/853

    Added

    • [Synthetics] Add missing option for SSL tests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/851

    Full Changelog: https://github.com/DataDog/datadog-api-client-python/compare/1.9.0...1.10.0

    Source code(tar.gz)
    Source code(zip)
  • 1.9.0(Feb 17, 2022)

    What's Changed

    Fixed

    • Add missing type to CloudWorkloadSecurityAgentRuleAttributes by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/841

    Added

    • Add organization metadata to additional Usage API responses by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/809
    • Add support for formula and function in monitors by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/815
    • Add endpoint for managing SAML AuthN mappings by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/813
    • [Synthetics] Add isCritical to browser test steps by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/826
    • Add metrics bulk-config endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/818
    • Add support for "estimated usage attribution" by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/839
    • Add org metadata for all hourly usage endpoints by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/843

    Changed

    • Add CSPM usage fields and change properties to nullable doubles by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/795
    • Add synthetics test result failure field by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/811
    • Fix funnel steps definition by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/832
    • Store unknown model properties in _data_store map by @therve in https://github.com/DataDog/datadog-api-client-python/pull/837
    • Extract incident meta object by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-python/pull/838

    Full Changelog: https://github.com/DataDog/datadog-api-client-python/compare/1.8.0...1.9.0

    Source code(tar.gz)
    Source code(zip)
  • 1.8.0(Jan 20, 2022)

    • [Added] Add filter[deleted] parameter for searching recently deleted dashboards. See #787.
    • [Added] Add support for authentication and proxy options in Synthetics. See #742.
    • [Added] Support formulas and functions in Treemap Widget. See #782.
    • [Added] Add Cloud Workload Security Agent Rules API. See #769.
    • [Added] Add offset and limit parameters to usage listing endpoint. See #774.
    • [Added] Add monthly usage attribution API spec. See #754.
    • [Added] Add missing hosts metadata fields. See #747.
    • [Added] Add replay_session_count and update documentation for rum_session_count. See #773.
    • [Added] Add retry options for a step in Synthetics multistep test. See #758.
    • [Added] Document author_name in dashboard response. See #755.
    • [Added] Add organization metadata for RUM sessions usage and expose rum_browser_and_mobile_session_count. See #748.
    • [Added] Add endpoint to retrieve hourly usage attribution. See #724.
    • [Added] Add support for scoped application keys. See #705.
    • [Added] Add endpoint for cloning roles. See #732.
    • [Added] Add organization metadata for audit logs, CWS, CSPM, DBM. See #740.
    • [Added] Add ci-pipelines alert to monitors enum. See #731.
    • [Added] Add support for sunburst widget in dashboard. See #736.
    • [Added] Add async client to Python. See #737.
    • [Fixed] Clarify required fields for SyntheticsAPIStep, SyntheticsAPITest, and SyntheticsBrowserTest. See #667.
    • [Fixed] Fixes to Cloud Workload Security API. See #785.
    • [Fixed] Make downtime weekdays nullable. See #761.
    • [Fixed] Do type conversion all the time in Python. See #757.
    • [Fixed] Fix a typo in an incident field attribute description. See #713.
    • [Fixed] Fix SecurityMonitoringSignal.attributes.tags type. See #716.
    • [Changed] Remove read only fields in EventCreateRequest. See #783.
    • [Changed] Change pagination arguments for querying usage attribution. See #753.
    • [Deprecated] Remove session counts from RUM units response. See #728.
    • [Removed] Remove deprecated AgentRule field in Security Rules API for CWS. See #746.
    Source code(tar.gz)
    Source code(zip)
  • 1.7.0(Dec 10, 2021)

    • [Added] [dashboards formulas and functions] Add formulas and functions support to change widget. See #567.
    • [Added] Add RUM Units to usage metering API. See #657.
    • [Added] Add trigger synthetics tests endpoint. See #642.
    • [Added] [Synthetics] Add support for UDP API tests. See #662.
    • [Added] Add support for websocket synthetics tests. See #674.
    • [Added] Add support for profiled Fargate tasks in Usage API. See #670.
    • [Added] Add 429 error responses. See #675.
    • [Added] Document query in MonitorSearchResult. See #690.
    • [Added] Expose public_id and org_name in Usage API response. See #692.
    • [Added] Add endpoint to get corrections applied to an SLO. See #689.
    • [Added] Expose estimated logs usage in Usage Attribution API. See #700.
    • [Added] Add Limit Note for Hourly Requests. See #699.
    • [Fixed] Fix type for ratio_in_month in usage metering. See #652.
    • [Fixed] Change UsageNetworkFlowsHour.indexed_event_count to match actual API. See #661.
    • [Fixed] SLO Correction attributes rrule and duration can be nullable. See #665.
    • [Fixed] Mark batch_id in Synthetics Trigger CI response as nullable. See #677.
    • [Fixed] Remove event title length constraint. See #682.
    • [Fixed] Fix monitor timeout_h example and limits. See #687.
    • [Fixed] Be more resilient to plain text errors. See #696.
    • [Fixed] Make python fail properly on invalid header. See #711.
    • [Fixed] Remove python unused conversion arguments calls. See #714.
    • [Changed] [Synthetics] Fix required target in assertions and type in step results. See #666.
    • [Changed] Reorganize python params_map. See #710.
    Source code(tar.gz)
    Source code(zip)
  • 1.6.0(Nov 9, 2021)

    • [Added] Add support for Azure automute option. See #647.
    • [Added] Add v2 intake endpoint. See #640.
    • [Added] Add support for RRULE fields in SLO corrections. See #600.
    • [Added] Add aggregations attribute to v2 metric tag configuration. See #577.
    • [Added] Add apm_stats_query property to DistributionWidgetRequest. See #628.
    • [Fixed] Use plural form for dbm hosts usage properties. See #611.
    • [Fixed] Make monitor properties priority and restricted_roles nullable. See #627.
    • [Changed] Update Synthetics CI test metadata. See #610.
    • [Deprecated] Update property descriptions for Dashboard RBAC release. See #639.
    Source code(tar.gz)
    Source code(zip)
  • 1.5.0(Oct 18, 2021)

    • [Added] Add type and is_template properties to notebooks. See #615.
    • [Added] Add renotify_occurrences and renotify_statuses monitor options. See #613.
    • [Added] Add servername property to SSL Synthetics tests request. See #603.
    • [Added] Document encoding in metrics intake. See #604.
    • [Added] Add support for formulas and functions in the Scatterplot Widget for dashboards. See #587.
    • [Added] Add support for gzip and deflate encoding. See #593.
    • [Added] Add information about creator to Synthetics tests details. See #596.
    • [Added] Add support for funnel widget in dashboards. See #590.
    • [Added] Add formula and function APM resource stats query definition for dashboards. See #582.
    • [Added] ApmDependencyStatsQuery for formulas and functions dashboard widgets. See #581.
    • [Fixed] Fix handling of primitive types in oneOfs. See #621.
    • [Fixed] Remove event title length constraint. See #598.
    • [Fixed] Allow nullable date in notebook cells. See #607.
    • [Fixed] IncidentFieldAttributesMultipleValue can be nullable. See #602.
    • [Fixed] Fix incidents schemas. See #601.
    • [Fixed] Make sure that OpenAPI definition are valid with real server responses. See #595.
    • [Fixed] Fix typo in usage attribution field names for profiled containers. See #597.
    • [Fixed] Make the name property required for APM Dependency Stat Query widget. See #586.
    • [Fixed] Mark SLO Correction Type as required. See #568.
    • [Changed] Enable compression in responses. See #612.
    • [Changed] Use AVG aggregation function for DBM queries. See #592.
    Source code(tar.gz)
    Source code(zip)
  • 1.4.0(Sep 14, 2021)

    • [Added] Add restricted roles for Synthetics global variables. See #550.
    • [Added] Add events data source to Dashboard widgets. See #545.
    • [Added] Adding support for security monitoring rule type property. See #544.
    • [Added] Add batch_id to the synthetics trigger endpoint response. See #556.
    • [Added] Add audit alert monitor type. See #559.
    • [Added] Add DBM usage endpoint. See #546.
    • [Added] Add config variables to Synthetics browser test config. See #563.
    • [Added] Added available_values property to template variables schema. See #564.
    • [Added] Add follow_redirects options to test request in Synthetics. See #571.
    • [Fixed] Minor fixes of the incident schema. See #552.
    • [Fixed] Make SLO history metadata unit nullable. See #555.
    • [Fixed] Fix python unparsed serialization. See #569.
    • [Fixed] Fix SLO history error response type for overall errors. See #570.
    • [Changed] Fix SLO history schema for groups and monitors fields. See #575.
    • [Changed] Remove metadata from required list for metric SLO history endpoint. See #579.
    Source code(tar.gz)
    Source code(zip)
  • 1.3.0(Aug 16, 2021)

    • [Added] Add Webhooks integration support. See #549.
    • [Added] Add missing synthetics variable parser type x_path. See #548.
    • [Added] Add audit_stream to ListStreamSource. See #536.
    • [Added] Add percentile to dashboard WidgetAggregator schema. See #532.
    • [Added] Add id_str property to Event response. See #538.
    • [Added] Add edge to Synthetics devices. See #542.
    • [Added] Add endpoints to manage Service Accounts v2. See #523.
    • [Added] Add new_group_delay and deprecate new_host_delay monitor properties. See #535.
    • [Added] Add include_descendants param to usage attribution API. See #540.
    • [Added] Update to latest openapi generator image. See #528.
    • [Added] Add support for list widget in dashboards. See #504.
    • [Added] Extend table widget requests to support formulas and functions. See #526.
    • [Added] Add CSPM to usage attribution. See #518.
    • [Added] Add support for dashboard bulk delete, restore endpoints. See #501.
    • [Added] Add support for audit logs data source in dashboards. See #521.
    • [Added] Add allow_insecure option for multistep steps in Synthetics. See #515.
    • [Fixed] Improve resiliency of the Python SDK. See #531.
    • [Fixed] Fix serialization of query metrics response containing nullable points. See #516.
    • [Fixed] Fix status property name for browser error status in Synthetics. See #517.
    • [Changed] Add separate schema for deleting AWS account. See #513.
    • [Removed] Remove deprecated endpoints /api/v1/usage/traces and /api/v1/usage/tracing-without-limits. See #519.
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0(Jul 8, 2021)

    • [Added] Add support for GET /api/v2/application_keys/{app_key_id}. See #502.
    • [Added] Add meta property with pagination info to SLOCorrectionList endpoint response. See #499.
    • [Added] Add support for treemap widget. See #494.
    • [Added] Add missing properties query_index and tag_set to MetricsQueryMetadata. See #468.
    • [Added] Add missing fields hasExtendedTitle, type, version and updateAuthorId for Security Monitoring Rule endpoints. See #483.
    • [Added] Dashboard RBAC role support. See #478.
    • [Added] Add missing fields in usage billable summary keys. See #477.
    • [Fixed] Remove US only constraint for AWS tag filtering. See #490.
    • [Fixed] Add BDD tests to synthetics. See #489.
    • [Fixed] Fix Python type checking. See #487.
    • [Fixed] Handle null in query metrics unit. See #486.
    • [Changed] Specify format of report_id parameter. See #510.
    • [Changed] Remove Synthetics tick interval enum. See #488.
    Source code(tar.gz)
    Source code(zip)
  • 1.1.0(Jun 8, 2021)

    • [Added] Add CWS to usage metering endpoint. See #458.
    • [Added] Add endpoint to list Synthetics global variables. See #459.
    • [Added] Add monitors search endpoint. See #455.
    • [Added] Add tag_config_source to usage attribution response. See #449.
    • [Added] Add endpoints to configure Security Filters. See #440.
    • [Added] Add active_child nested downtime object to Downtime component for downtime APIs. See #434.
    • [Added] Add audit logs to usage endpoints. See #466.
    • [Added] Add override_label and is_hidden attribute for WidgetCustomLink. See #438.
    • [Added] Add monitor name and priority attributes to synthetics test options. See #473.
    • [Fixed] Fix type of day/month response attribute in custom metrics usage. See #471.
    • [Fixed] Fix handling of log aggregation oneOf. See #463.
    • [Fixed] Make assertions field optional for multistep synthetics tests, and add global config variable type. See #457.
    • [Fixed] Properly mark monitor required fields. See #448.
    • [Fixed] Rename incident_integration_metadata to incident_integrations to match API. See #444.
    • [Fixed] Properly mark several synthetics attributes as read only. See #437.
    • [Fixed] Fix paging attributes of usage attribution endpoints. See #435.
    • [Changed] Rename compliance to CSPM in usage endpoint. See #466.
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0(May 12, 2021)

    • [Added] Notebooks Public API Documentation. See #432.
    • [Added] Add logs_by_retention usage property and GetUsageLogsByRetention endpoint. See #425.
    • [Added] Add anomaly detection method to SecurityMonitoringRuleDetectionMethod enum. See #424.
    • [Added] Add with_configured_alert_ids parameter to get a SLO details endpoint. See #421.
    • [Added] Add setCookie, dnsServerPort, allowFailure and isCritical fields for Synthetics tests. See #418.
    • [Added] Add metadata property with pagination info to SLOList endpoint response. See #414.
    • [Added] Add new properties to group widget, note widget and image widget. See #412.
    • [Added] Add support for a rate metric type in manage metric tags v2 endpoint. See #409.
    • [Added] Add support for ICMP Synthetics tests. See #406.
    • [Added] Add vSphere usage information. See #402.
    • [Added] Mark metric volumes and ingested tags endpoints as stable. See #396.
    • [Added] Add filter[shared] query parameter for searching dashboards. See #390.
    • [Added] Add profiling product fields in usage metering endpoint. See #389.
    • [Added] Add title and background_color properties to dashboard group widget. See #388.
    • [Added] Add marker, xaxis and yaxis properties on distribution widgets. See #400.
    • [Fixed] Remove default value of is_column_break layout property of dashboard. See #431.
    • [Fixed] Remove nulltype. See #401.
    • [Changed] Enumerate accepted values for fields parameter in usage attribution requests. See #428.
    • [Changed] Add new enum value for tick interval and remove request as required field from synthetics test. See #426.
    • [Deprecated] Deprecate legend_size and show_legend properties on distribution widgets. See #400.
    • [Removed] Remove deprecated Synthetics methods CreateTest and UpdateTest. See #403.
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0b8(Apr 15, 2021)

    • [Added] Add reflow_type property to dashboard object. See #372.
    • [Added] Add security track and formulas and functions support for geomap dashboard widget. See #370.
    • [Added] Generate intake endpoints. See #367.
    • [Added] Add endpoint for listing all downtimes for the specified monitor. See #361.
    • [Added] Add modified_at attribute to user response v2 schema. See #352.
    • [Added] Add default environment loading in clients. See #347.
    • [Added] Add passed, noSavingResponseBody, noScreenshot, and disableCors fields to Synthetics. See #346.
    • [Added] Add compliance usage endpoint and compliance host statistics. See #342.
    • [Added] Add tag filter options for /api/v{1,2}/metrics. See #340.
    • [Added] Add usage fields for Heroku and OpenTelemetry. See #337.
    • [Added] Add global_time_target field to SLO widget. See #335.
    • [Added] Add method to export an API test in Synthetics. See #334.
    • [Added] Add metadata to usage top average metrics response. See #333.
    • [Added] Add median as valid aggregator for formulas and functions. See #328.
    • [Fixed] Fix Python template for exclusiveMinimum/Maximum. See #377.
    • [Fixed] Make python fail properly when invalid key is passed. See #350.
    • [Fixed] Fix parsing of oneOf attributes. See #344.
    • [Fixed] Browser Test message required. See #330.
    • [Changed] Return correct object in GetBrowserTest endpoint. See #359.
    • [Changed] Change python API model. See #351.
    • [Changed] Add agent rules in security monitoring rules queries. See #336.
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0b7(Mar 22, 2021)

    • [Added] Add legend_layout and legend_columns to timeseries widget definition. See #320.
    • [Added] Add support for multistep tests in Synthetics. See #313.
    • [Added] Add core web vitals to synthetics browser test results. See #308.
    • [Added] Add v2 metric tags and metric volumes endpoints. See #307.
    • [Added] Add new endpoints for browser and API tests in Synthetics. See #301.
    • [Added] Add groupby_simple_monitor option to monitors. See #300.
    • [Added] Allow formula and functions in query value requests. See #299.
    • [Added] Allow formula and functions in toplist requests. See #298.
    • [Added] Add slack resource. See #292.
    • [Added] Add detectionMethod and newValueOptions fields to security monitoring rules. See #290.
    • [Added] Expose "event-v2 alert" monitor type. See #289.
    • [Added] Add new US3 region. See #288.
    • [Added] Add org_name field to usage attribution response. See #287.
    • [Changed] Make query name required in formulas and functions queries. See #311.
    • [Changed] Rename objects for formulas and functions to be more generic. See #294.
    • [Changed] Update response schema for service level objective operation GetSLOHistory. See #319.
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0b6(Feb 16, 2021)

    • [Added] Add profile_metrics_query properties to dashboard widget requests. See #282.
    • [Added] Add geomap widget to dashboards v1. See #278.
    • [Added] Add v2 API for metric tag configuration. See #277.
    • [Added] Add Lambda invocations usage to response. See #276.
    • [Added] Remove unstable flag for logs apis. See #268.
    • [Added] Add restricted roles to monitor update. See #255.
    • [Added] Add endpoint for IoT billing usage. See #251.
    • [Added] Add query parameters for SLO search endpoint. See #249.
    • [Added] Add fields for formula and function query definition and widget formulas. See #245.
    • [Added] Add global_time to time_window slo widget. See #243.
    • [Added] Update required fields in create and update SLO correction requests. See #235.
    • [Added] Add docs for log index creation. See #232.
    • [Added] Add SLO Corrections. See #226.
    • [Fixed] Add missing tlsVersion and minTlsVersion to Synthetics assertion types. See #284.
    • [Fixed] Rule: all nested objects in arrays must be defined on top-level. See #279.
    • [Fixed] Add support for DD_SITE in examples. See #271.
    • [Fixed] Change dashboards analyzed_spans to spans. See #270.
    • [Fixed] Fix AWS tag filter delete request. See #266.
    • [Fixed] Remove an unnecessary field from TimeSeriesFormulaAndFunctionEventQuery. See #265.
    • [Fixed] Fix unit format in SLO history response. See #260.
    • [Fixed] Change dashboards group_by from object to list of objects. See #259.
    • [Fixed] Fix monitor location of restricted roles. See #254.
    • [Fixed] Format the python client using black. See #252.
    • [Fixed] Fix paging parameter names for logs aggregate queries. See #248.
    • [Fixed] Update to latest apigentools image. See #230.
    • [Fixed] Add additionalProperties: false to synthetics target field. See #228.
    • [Changed] Fix integer/number formats in Logs and Synthetics endpoints. See #229.
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0b5(Jan 13, 2021)

    • [Added] Add new live and rehydrated logs breakdowns to Usage API. See #223.
    • [Added] Add support for Synthetics variables from test. See #214.
    • [Added] Add filters to rule endpoints in security monitoring API. See #209.
    • [Added] Add Azure app services fields to usage v1 endpoints. See #208.
    • [Added] Add mobile RUM OS types usage fields. See #207.
    • [Added] Add config variables for synthetics API tests. See #206.
    • [Added] Add endpoints for the public API of Logs2Metrics. See #203.
    • [Added] Add endpoints for API Keys v2. See #200.
    • [Added] Add javascript value to synthetics browser variable types. See #197.
    • [Added] Add synthetics assertion operator. See #186.
    • [Changed] Extract enum to specific schema in incidents endpoint. See #222.
    • [Changed] Extract key sorting enum to a specific schema in key management endpoints. See #218.
    • [Changed] Rename list_sl_os to list_slos. See #216.
    • [Removed] Remove Synthetic resources property. See #201.
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0b4(Dec 10, 2020)

    • [Added] Add Application keys v2 API. See #182.
    • [Added] Mark Usage Attribution endpoint as public beta. See #170.
    • [Added] Add AWS filtering endpoints. See #168.
    • [Added] Add limit parameter for get usage top average metrics. See #166.
    • [Added] Add endpoint to fetch process summaries. See #165.
    • [Added] Add synthetics private location endpoints. See #164.
    • [Added] Add user_update, recommendation and snapshot as event alert types. See #163.
    • [Added] Add Usage Attribution endpoint. See #161.
    • [Added] Add new API for incident management usage. See #159.
    • [Changed] Mark request bodies as required or explicitly optional. See #176.
    • [Changed] Mark query field as optional when searching logs. See #158.
    • [Deprecated] Deprecate subscription and billing fields in create organization endpoint. See #167.
    • [Removed] Remove org_id parameter from Usage Attribution endpoint. See #172.
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0b3(Nov 18, 2020)

  • 1.0.0b2(Nov 5, 2020)

  • 1.0.0b1(Oct 21, 2020)

Owner
Datadog, Inc.
Datadog, Inc.
Beyonic API Python official client library simplified examples using Flask, Django and Fast API.

Beyonic API Python official client library simplified examples using Flask, Django and Fast API.

Harun Mbaabu Mwenda 46 Sep 1, 2022
Python API Client for Twitter API v2

?? Python Client For Twitter API v2 ?? Why Twitter Stream ? Twitter-Stream.py a python API client for Twitter API v2 now supports FilteredStream, Samp

Twitivity 31 Nov 19, 2022
Dns-Client-Server - Dns Client Server For Python

Dns-client-server DNS Server: supporting all types of queries and replies. Shoul

Nishant Badgujar 1 Feb 15, 2022
Raphtory-client - The python client for the Raphtory project

Raphtory Client This is the python client for the Raphtory project Install via p

Raphtory 5 Apr 28, 2022
Drcom-pt-client - Drcom Pt version client with refresh timer

drcom-pt-client Drcom Pt version client with refresh timer Dr.com Pt版本客户端 可用于网页认

null 4 Nov 16, 2022
Official Python client for the MonkeyLearn API. Build and consume machine learning models for language processing from your Python apps.

MonkeyLearn API for Python Official Python client for the MonkeyLearn API. Build and run machine learning models for language processing from your Pyt

MonkeyLearn 157 Nov 22, 2022
🖥️ Python - P1 Monitor API Asynchronous Python Client

??️ Asynchronous Python client for the P1 Monitor

Klaas Schoute 9 Dec 12, 2022
Python API Client for Close

Close API A convenient Python wrapper for the Close API. API docs: http://developer.close.com Support: [email protected] Installation pip install clos

Close 56 Nov 30, 2022
Python client for CoinPayments API

pyCoinPayments - Python API client for CoinPayments Updates This library has now been converted to work with python3 This is an unofficial client for

James 27 Sep 21, 2022
DEPRECATED - Official Python Client for the Discogs API

⚠️ DEPRECATED This repository is no longer maintained. You can still use a REST client like Requests or other third-party Python library to access the

Discogs 483 Dec 31, 2022
The Foursquare API client for Python

foursquare Python client for the foursquare API. Philosophy: Map foursquare's endpoints one-to-one Clean, simple, Pythonic calls Only handle raw data,

Mike Lewis 400 Dec 19, 2022
Python Client for Instagram API

This project is not actively maintained. Proceed at your own risk! python-instagram A Python 2/3 client for the Instagram REST and Search APIs Install

Facebook Archive 2.9k Dec 30, 2022
A Python Client for News API

newsapi-python A Python client for the News API. License Provided under MIT License by Matt Lisivick. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRAN

Matt Lisivick 281 Dec 29, 2022
SmartFile API Client (Python).

A SmartFile Open Source project. Read more about how SmartFile uses and contributes to Open Source software. Summary This library includes two API cli

SmartFile 19 Jan 11, 2022
Python client for the Socrata Open Data API

sodapy sodapy is a python client for the Socrata Open Data API. Installation You can install with pip install sodapy. If you want to install from sour

Cristina 368 Dec 9, 2022
Python client for the Echo Nest API

Pyechonest Tap into The Echo Nest's Musical Brain for the best music search, information, recommendations and remix tools on the web. Pyechonest is an

The Echo Nest 655 Dec 29, 2022
A Python Tumblr API v2 Client

PyTumblr Installation Install via pip: $ pip install pytumblr Install from source: $ git clone https://github.com/tumblr/pytumblr.git $ cd pytumblr $

Tumblr 677 Dec 21, 2022
A super awesome Twitter API client for Python.

birdy birdy is a super awesome Twitter API client for Python in just a little under 400 LOC. TL;DR Features Future proof dynamic API with full REST an

Inueni 259 Dec 28, 2022
Cord Python API Client

Cord Python API Client The data programming platform for AI ?? Features Minimal low-level Python client that allows you to interact with Cord's API Su

Cord 52 Nov 25, 2022