<filename>h1/api/provider_project_agent_api.py<gh_stars>0
"""
    HyperOne

    HyperOne API  # noqa: E501

    The version of the OpenAPI document: 0.1.0
    Generated by: https://openapi-generator.tech
"""


import re  # noqa: F401
import sys  # noqa: F401

from h1.api_client import ApiClient, Endpoint as _Endpoint
from h1.model_utils import (  # noqa: F401
    check_allowed_values,
    check_validations,
    date,
    datetime,
    file_type,
    none_type,
    validate_and_convert_types
)
from h1.model.agent import Agent
from h1.model.agent_credential import AgentCredential
from h1.model.enabled_service import EnabledService
from h1.model.event import Event
from h1.model.inline_response400 import InlineResponse400
from h1.model.metric import Metric
from h1.model.point import Point
from h1.model.provider_agent_resource import ProviderAgentResource
from h1.model.provider_agent_resource_event import ProviderAgentResourceEvent
from h1.model.provider_project_agent_create import ProviderProjectAgentCreate
from h1.model.provider_project_agent_credential_patch import ProviderProjectAgentCredentialPatch
from h1.model.provider_project_agent_transfer import ProviderProjectAgentTransfer
from h1.model.provider_project_agent_update import ProviderProjectAgentUpdate
from h1.model.resource_service import ResourceService
from h1.model.tag import Tag
from h1.model.tag_array import TagArray


class ProviderProjectAgentApi(object):
    """NOTE: This class is auto generated by OpenAPI Generator
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    def __init__(self, api_client=None):
        if api_client is None:
            api_client = ApiClient()
        self.api_client = api_client

        def __provider_project_agent_create(
            self,
            project_id,
            location_id,
            provider_project_agent_create,
            **kwargs
        ):
            """Create provider/agent  # noqa: E501

            Create agent  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_create(project_id, location_id, provider_project_agent_create, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                provider_project_agent_create (ProviderProjectAgentCreate):

            Keyword Args:
                x_idempotency_key (str): Idempotency key. [optional]
                x_dry_run (str): Dry run. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Agent
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['provider_project_agent_create'] = \
                provider_project_agent_create
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_create = _Endpoint(
            settings={
                'response_type': (Agent,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent',
                'operation_id': 'provider_project_agent_create',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'provider_project_agent_create',
                    'x_idempotency_key',
                    'x_dry_run',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'provider_project_agent_create',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'provider_project_agent_create':
                        (ProviderProjectAgentCreate,),
                    'x_idempotency_key':
                        (str,),
                    'x_dry_run':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'x_idempotency_key': 'x-idempotency-key',
                    'x_dry_run': 'x-dry-run',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'provider_project_agent_create': 'body',
                    'x_idempotency_key': 'header',
                    'x_dry_run': 'header',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__provider_project_agent_create
        )

        def __provider_project_agent_credential_create(
            self,
            project_id,
            location_id,
            agent_id,
            agent_credential,
            **kwargs
        ):
            """Create provider/agent.credential  # noqa: E501

            Create provider/agent.credential  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_credential_create(project_id, location_id, agent_id, agent_credential, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                agent_credential (AgentCredential):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                AgentCredential
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['agent_credential'] = \
                agent_credential
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_credential_create = _Endpoint(
            settings={
                'response_type': (AgentCredential,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/credential',
                'operation_id': 'provider_project_agent_credential_create',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'agent_credential',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'agent_credential',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'agent_credential':
                        (AgentCredential,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'agent_credential': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__provider_project_agent_credential_create
        )

        def __provider_project_agent_credential_delete(
            self,
            project_id,
            location_id,
            agent_id,
            credential_id,
            **kwargs
        ):
            """Delete provider/agent.credential  # noqa: E501

            Delete provider/agent.credential  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_credential_delete(project_id, location_id, agent_id, credential_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                credential_id (str): credentialId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Agent
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['credential_id'] = \
                credential_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_credential_delete = _Endpoint(
            settings={
                'response_type': (Agent,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/credential/{credentialId}',
                'operation_id': 'provider_project_agent_credential_delete',
                'http_method': 'DELETE',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'credential_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'credential_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'credential_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'credential_id': 'credentialId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'credential_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_credential_delete
        )

        def __provider_project_agent_credential_get(
            self,
            project_id,
            location_id,
            agent_id,
            credential_id,
            **kwargs
        ):
            """Get provider/agent.credential  # noqa: E501

            Get provider/agent.credential  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_credential_get(project_id, location_id, agent_id, credential_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                credential_id (str): credentialId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                AgentCredential
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['credential_id'] = \
                credential_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_credential_get = _Endpoint(
            settings={
                'response_type': (AgentCredential,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/credential/{credentialId}',
                'operation_id': 'provider_project_agent_credential_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'credential_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'credential_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'credential_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'credential_id': 'credentialId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'credential_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_credential_get
        )

        def __provider_project_agent_credential_list(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """List provider/agent.credential  # noqa: E501

            List provider/agent.credential  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_credential_list(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [AgentCredential]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_credential_list = _Endpoint(
            settings={
                'response_type': ([AgentCredential],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/credential',
                'operation_id': 'provider_project_agent_credential_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_credential_list
        )

        def __provider_project_agent_credential_patch(
            self,
            project_id,
            location_id,
            agent_id,
            credential_id,
            provider_project_agent_credential_patch,
            **kwargs
        ):
            """Update provider/agent.credential  # noqa: E501

            Update provider/agent.credential  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_credential_patch(project_id, location_id, agent_id, credential_id, provider_project_agent_credential_patch, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                credential_id (str): credentialId
                provider_project_agent_credential_patch (ProviderProjectAgentCredentialPatch):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                AgentCredential
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['credential_id'] = \
                credential_id
            kwargs['provider_project_agent_credential_patch'] = \
                provider_project_agent_credential_patch
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_credential_patch = _Endpoint(
            settings={
                'response_type': (AgentCredential,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/credential/{credentialId}',
                'operation_id': 'provider_project_agent_credential_patch',
                'http_method': 'PATCH',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'credential_id',
                    'provider_project_agent_credential_patch',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'credential_id',
                    'provider_project_agent_credential_patch',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'credential_id':
                        (str,),
                    'provider_project_agent_credential_patch':
                        (ProviderProjectAgentCredentialPatch,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'credential_id': 'credentialId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'credential_id': 'path',
                    'provider_project_agent_credential_patch': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__provider_project_agent_credential_patch
        )

        def __provider_project_agent_delete(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """Delete provider/agent  # noqa: E501

            Delete agent  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_delete(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                None
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_delete = _Endpoint(
            settings={
                'response_type': None,
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}',
                'operation_id': 'provider_project_agent_delete',
                'http_method': 'DELETE',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_delete
        )

        def __provider_project_agent_enabled_service_create(
            self,
            project_id,
            location_id,
            agent_id,
            enabled_service,
            **kwargs
        ):
            """Create provider/agent.enabledService  # noqa: E501

            Create provider/agent.enabledService  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_enabled_service_create(project_id, location_id, agent_id, enabled_service, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                enabled_service (EnabledService):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                EnabledService
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['enabled_service'] = \
                enabled_service
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_enabled_service_create = _Endpoint(
            settings={
                'response_type': (EnabledService,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/enabledService',
                'operation_id': 'provider_project_agent_enabled_service_create',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'enabled_service',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'enabled_service',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'enabled_service':
                        (EnabledService,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'enabled_service': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__provider_project_agent_enabled_service_create
        )

        def __provider_project_agent_enabled_service_delete(
            self,
            project_id,
            location_id,
            agent_id,
            enabled_service_id,
            **kwargs
        ):
            """Delete provider/agent.enabledService  # noqa: E501

            Delete provider/agent.enabledService  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_enabled_service_delete(project_id, location_id, agent_id, enabled_service_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                enabled_service_id (str): enabledServiceId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Agent
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['enabled_service_id'] = \
                enabled_service_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_enabled_service_delete = _Endpoint(
            settings={
                'response_type': (Agent,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/enabledService/{enabledServiceId}',
                'operation_id': 'provider_project_agent_enabled_service_delete',
                'http_method': 'DELETE',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'enabled_service_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'enabled_service_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'enabled_service_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'enabled_service_id': 'enabledServiceId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'enabled_service_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_enabled_service_delete
        )

        def __provider_project_agent_enabled_service_get(
            self,
            project_id,
            location_id,
            agent_id,
            enabled_service_id,
            **kwargs
        ):
            """Get provider/agent.enabledService  # noqa: E501

            Get provider/agent.enabledService  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_enabled_service_get(project_id, location_id, agent_id, enabled_service_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                enabled_service_id (str): enabledServiceId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                EnabledService
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['enabled_service_id'] = \
                enabled_service_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_enabled_service_get = _Endpoint(
            settings={
                'response_type': (EnabledService,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/enabledService/{enabledServiceId}',
                'operation_id': 'provider_project_agent_enabled_service_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'enabled_service_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'enabled_service_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'enabled_service_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'enabled_service_id': 'enabledServiceId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'enabled_service_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_enabled_service_get
        )

        def __provider_project_agent_enabled_service_list(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """List provider/agent.enabledService  # noqa: E501

            List provider/agent.enabledService  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_enabled_service_list(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [EnabledService]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_enabled_service_list = _Endpoint(
            settings={
                'response_type': ([EnabledService],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/enabledService',
                'operation_id': 'provider_project_agent_enabled_service_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_enabled_service_list
        )

        def __provider_project_agent_event_get(
            self,
            project_id,
            location_id,
            agent_id,
            event_id,
            **kwargs
        ):
            """Get provider/agent.event  # noqa: E501

            Get provider/agent.event  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_event_get(project_id, location_id, agent_id, event_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                event_id (str): eventId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Event
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['event_id'] = \
                event_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_event_get = _Endpoint(
            settings={
                'response_type': (Event,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/event/{eventId}',
                'operation_id': 'provider_project_agent_event_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'event_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'event_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'event_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'event_id': 'eventId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'event_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_event_get
        )

        def __provider_project_agent_event_list(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """List provider/agent.event  # noqa: E501

            List provider/agent.event  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_event_list(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                limit (float): $limit. [optional] if omitted the server will use the default value of 100
                skip (float): $skip. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Event]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_event_list = _Endpoint(
            settings={
                'response_type': ([Event],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/event',
                'operation_id': 'provider_project_agent_event_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'limit',
                    'skip',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                    'limit',
                ]
            },
            root_map={
                'validations': {
                    ('limit',): {

                        'inclusive_maximum': 1000,
                        'inclusive_minimum': 1,
                    },
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'limit':
                        (float,),
                    'skip':
                        (float,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'limit': '$limit',
                    'skip': '$skip',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'limit': 'query',
                    'skip': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_event_list
        )

        def __provider_project_agent_get(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """Get provider/agent  # noqa: E501

            Returns a single agent  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_get(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Agent
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_get = _Endpoint(
            settings={
                'response_type': (Agent,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}',
                'operation_id': 'provider_project_agent_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_get
        )

        def __provider_project_agent_inspect(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """Inspect provider/agent  # noqa: E501

            action inspect  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_inspect(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                x_idempotency_key (str): Idempotency key. [optional]
                x_dry_run (str): Dry run. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                {str: (bool, date, datetime, dict, float, int, list, str, none_type)}
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_inspect = _Endpoint(
            settings={
                'response_type': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/actions/inspect',
                'operation_id': 'provider_project_agent_inspect',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'x_idempotency_key',
                    'x_dry_run',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'x_idempotency_key':
                        (str,),
                    'x_dry_run':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'x_idempotency_key': 'x-idempotency-key',
                    'x_dry_run': 'x-dry-run',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'x_idempotency_key': 'header',
                    'x_dry_run': 'header',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_inspect
        )

        def __provider_project_agent_list(
            self,
            project_id,
            location_id,
            **kwargs
        ):
            """List provider/agent  # noqa: E501

            List agent  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_list(project_id, location_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id

            Keyword Args:
                name (str): Filter by name. [optional]
                enabled_services (str): Filter by enabledServices. [optional]
                tag_value (str): Filter by tag.value. [optional]
                tag_key (str): Filter by tag.key. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Agent]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_list = _Endpoint(
            settings={
                'response_type': ([Agent],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent',
                'operation_id': 'provider_project_agent_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'name',
                    'enabled_services',
                    'tag_value',
                    'tag_key',
                ],
                'required': [
                    'project_id',
                    'location_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'name':
                        (str,),
                    'enabled_services':
                        (str,),
                    'tag_value':
                        (str,),
                    'tag_key':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'name': 'name',
                    'enabled_services': 'enabledServices',
                    'tag_value': 'tag.value',
                    'tag_key': 'tag.key',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'name': 'query',
                    'enabled_services': 'query',
                    'tag_value': 'query',
                    'tag_key': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_list
        )

        def __provider_project_agent_metric_get(
            self,
            project_id,
            location_id,
            agent_id,
            metric_id,
            **kwargs
        ):
            """Get provider/agent.metric  # noqa: E501

            Get provider/agent.metric  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_metric_get(project_id, location_id, agent_id, metric_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                metric_id (str): metricId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Metric
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['metric_id'] = \
                metric_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_metric_get = _Endpoint(
            settings={
                'response_type': (Metric,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/metric/{metricId}',
                'operation_id': 'provider_project_agent_metric_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'metric_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'metric_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'metric_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'metric_id': 'metricId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'metric_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_metric_get
        )

        def __provider_project_agent_metric_list(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """List provider/agent.metric  # noqa: E501

            List provider/agent.metric  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_metric_list(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Metric]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_metric_list = _Endpoint(
            settings={
                'response_type': ([Metric],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/metric',
                'operation_id': 'provider_project_agent_metric_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_metric_list
        )

        def __provider_project_agent_metric_point_list(
            self,
            project_id,
            location_id,
            agent_id,
            metric_id,
            **kwargs
        ):
            """List provider/agent.point  # noqa: E501

            List provider/agent.point  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_metric_point_list(project_id, location_id, agent_id, metric_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                metric_id (str): metricId

            Keyword Args:
                interval (str): interval. [optional]
                timespan (str): timespan. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Point]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['metric_id'] = \
                metric_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_metric_point_list = _Endpoint(
            settings={
                'response_type': ([Point],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/metric/{metricId}/point',
                'operation_id': 'provider_project_agent_metric_point_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'metric_id',
                    'interval',
                    'timespan',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'metric_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'metric_id':
                        (str,),
                    'interval':
                        (str,),
                    'timespan':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'metric_id': 'metricId',
                    'interval': 'interval',
                    'timespan': 'timespan',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'metric_id': 'path',
                    'interval': 'query',
                    'timespan': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_metric_point_list
        )

        def __provider_project_agent_resource_event_list(
            self,
            project_id,
            location_id,
            agent_id,
            resource_id,
            **kwargs
        ):
            """List provider/agent.event  # noqa: E501

            List provider/agent.event  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_resource_event_list(project_id, location_id, agent_id, resource_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                resource_id (str): resourceId

            Keyword Args:
                limit (float): $limit. [optional]
                skip (float): $skip. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [ProviderAgentResourceEvent]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['resource_id'] = \
                resource_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_resource_event_list = _Endpoint(
            settings={
                'response_type': ([ProviderAgentResourceEvent],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/resource/{resourceId}/event',
                'operation_id': 'provider_project_agent_resource_event_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'resource_id',
                    'limit',
                    'skip',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'resource_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'resource_id':
                        (str,),
                    'limit':
                        (float,),
                    'skip':
                        (float,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'resource_id': 'resourceId',
                    'limit': '$limit',
                    'skip': '$skip',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'resource_id': 'path',
                    'limit': 'query',
                    'skip': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_resource_event_list
        )

        def __provider_project_agent_resource_get(
            self,
            project_id,
            location_id,
            agent_id,
            resource_id,
            **kwargs
        ):
            """Get provider/agent.resource  # noqa: E501

            Get provider/agent.resource  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_resource_get(project_id, location_id, agent_id, resource_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                resource_id (str): resourceId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                ProviderAgentResource
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['resource_id'] = \
                resource_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_resource_get = _Endpoint(
            settings={
                'response_type': (ProviderAgentResource,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/resource/{resourceId}',
                'operation_id': 'provider_project_agent_resource_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'resource_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'resource_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'resource_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'resource_id': 'resourceId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'resource_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_resource_get
        )

        def __provider_project_agent_resource_inspect(
            self,
            project_id,
            location_id,
            agent_id,
            resource_id,
            **kwargs
        ):
            """Inspect provider/agent.resource  # noqa: E501

            action inspect  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_resource_inspect(project_id, location_id, agent_id, resource_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                resource_id (str): resourceId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                bool, date, datetime, dict, float, int, list, str, none_type
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['resource_id'] = \
                resource_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_resource_inspect = _Endpoint(
            settings={
                'response_type': (bool, date, datetime, dict, float, int, list, str, none_type,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/resource/{resourceId}/actions/inspect',
                'operation_id': 'provider_project_agent_resource_inspect',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'resource_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'resource_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'resource_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'resource_id': 'resourceId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'resource_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_resource_inspect
        )

        def __provider_project_agent_resource_list(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """List provider/agent.resource  # noqa: E501

            List provider/agent.resource  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_resource_list(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [ProviderAgentResource]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_resource_list = _Endpoint(
            settings={
                'response_type': ([ProviderAgentResource],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/resource',
                'operation_id': 'provider_project_agent_resource_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_resource_list
        )

        def __provider_project_agent_resource_recreate(
            self,
            project_id,
            location_id,
            agent_id,
            resource_id,
            **kwargs
        ):
            """Recreate provider/agent.resource  # noqa: E501

            action recreate  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_resource_recreate(project_id, location_id, agent_id, resource_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                resource_id (str): resourceId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                ProviderAgentResource
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['resource_id'] = \
                resource_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_resource_recreate = _Endpoint(
            settings={
                'response_type': (ProviderAgentResource,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/resource/{resourceId}/actions/recreate',
                'operation_id': 'provider_project_agent_resource_recreate',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'resource_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'resource_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'resource_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'resource_id': 'resourceId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'resource_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_resource_recreate
        )

        def __provider_project_agent_service_get(
            self,
            project_id,
            location_id,
            agent_id,
            service_id,
            **kwargs
        ):
            """Get provider/agent.service  # noqa: E501

            Get provider/agent.service  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_service_get(project_id, location_id, agent_id, service_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                service_id (str): serviceId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                ResourceService
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['service_id'] = \
                service_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_service_get = _Endpoint(
            settings={
                'response_type': (ResourceService,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/service/{serviceId}',
                'operation_id': 'provider_project_agent_service_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'service_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'service_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'service_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'service_id': 'serviceId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'service_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_service_get
        )

        def __provider_project_agent_service_list(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """List provider/agent.service  # noqa: E501

            List provider/agent.service  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_service_list(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [ResourceService]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_service_list = _Endpoint(
            settings={
                'response_type': ([ResourceService],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/service',
                'operation_id': 'provider_project_agent_service_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_service_list
        )

        def __provider_project_agent_start(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """Start provider/agent  # noqa: E501

            action start  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_start(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                x_idempotency_key (str): Idempotency key. [optional]
                x_dry_run (str): Dry run. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Agent
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_start = _Endpoint(
            settings={
                'response_type': (Agent,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/actions/start',
                'operation_id': 'provider_project_agent_start',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'x_idempotency_key',
                    'x_dry_run',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'x_idempotency_key':
                        (str,),
                    'x_dry_run':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'x_idempotency_key': 'x-idempotency-key',
                    'x_dry_run': 'x-dry-run',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'x_idempotency_key': 'header',
                    'x_dry_run': 'header',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_start
        )

        def __provider_project_agent_suspend(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """Suspend provider/agent  # noqa: E501

            action suspend  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_suspend(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                x_idempotency_key (str): Idempotency key. [optional]
                x_dry_run (str): Dry run. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Agent
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_suspend = _Endpoint(
            settings={
                'response_type': (Agent,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/actions/suspend',
                'operation_id': 'provider_project_agent_suspend',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'x_idempotency_key',
                    'x_dry_run',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'x_idempotency_key':
                        (str,),
                    'x_dry_run':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'x_idempotency_key': 'x-idempotency-key',
                    'x_dry_run': 'x-dry-run',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'x_idempotency_key': 'header',
                    'x_dry_run': 'header',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_suspend
        )

        def __provider_project_agent_tag_create(
            self,
            project_id,
            location_id,
            agent_id,
            tag,
            **kwargs
        ):
            """Create provider/agent.tag  # noqa: E501

            Create provider/agent.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_tag_create(project_id, location_id, agent_id, tag, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                tag (Tag):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Tag
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['tag'] = \
                tag
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_tag_create = _Endpoint(
            settings={
                'response_type': (Tag,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/tag',
                'operation_id': 'provider_project_agent_tag_create',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'tag',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'tag',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'tag':
                        (Tag,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'tag': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__provider_project_agent_tag_create
        )

        def __provider_project_agent_tag_delete(
            self,
            project_id,
            location_id,
            agent_id,
            tag_id,
            **kwargs
        ):
            """Delete provider/agent.tag  # noqa: E501

            Delete provider/agent.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_tag_delete(project_id, location_id, agent_id, tag_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                tag_id (str): tagId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                None
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['tag_id'] = \
                tag_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_tag_delete = _Endpoint(
            settings={
                'response_type': None,
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/tag/{tagId}',
                'operation_id': 'provider_project_agent_tag_delete',
                'http_method': 'DELETE',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'tag_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'tag_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'tag_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'tag_id': 'tagId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'tag_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_tag_delete
        )

        def __provider_project_agent_tag_get(
            self,
            project_id,
            location_id,
            agent_id,
            tag_id,
            **kwargs
        ):
            """Get provider/agent.tag  # noqa: E501

            Get provider/agent.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_tag_get(project_id, location_id, agent_id, tag_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                tag_id (str): tagId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Tag
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['tag_id'] = \
                tag_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_tag_get = _Endpoint(
            settings={
                'response_type': (Tag,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/tag/{tagId}',
                'operation_id': 'provider_project_agent_tag_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'tag_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'tag_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'tag_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'tag_id': 'tagId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'tag_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_tag_get
        )

        def __provider_project_agent_tag_list(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """List provider/agent.tag  # noqa: E501

            List provider/agent.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_tag_list(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Tag]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_tag_list = _Endpoint(
            settings={
                'response_type': ([Tag],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/tag',
                'operation_id': 'provider_project_agent_tag_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_tag_list
        )

        def __provider_project_agent_tag_put(
            self,
            project_id,
            location_id,
            agent_id,
            tag_array,
            **kwargs
        ):
            """Replace provider/agent.tag  # noqa: E501

            Replace provider/agent.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_tag_put(project_id, location_id, agent_id, tag_array, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                tag_array (TagArray):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Tag]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['tag_array'] = \
                tag_array
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_tag_put = _Endpoint(
            settings={
                'response_type': ([Tag],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/tag',
                'operation_id': 'provider_project_agent_tag_put',
                'http_method': 'PUT',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'tag_array',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'tag_array',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'tag_array':
                        (TagArray,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'tag_array': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__provider_project_agent_tag_put
        )

        def __provider_project_agent_transfer(
            self,
            project_id,
            location_id,
            agent_id,
            provider_project_agent_transfer,
            **kwargs
        ):
            """Transfer provider/agent  # noqa: E501

            action transfer  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_transfer(project_id, location_id, agent_id, provider_project_agent_transfer, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                provider_project_agent_transfer (ProviderProjectAgentTransfer):

            Keyword Args:
                x_idempotency_key (str): Idempotency key. [optional]
                x_dry_run (str): Dry run. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Agent
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['provider_project_agent_transfer'] = \
                provider_project_agent_transfer
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_transfer = _Endpoint(
            settings={
                'response_type': (Agent,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/actions/transfer',
                'operation_id': 'provider_project_agent_transfer',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'provider_project_agent_transfer',
                    'x_idempotency_key',
                    'x_dry_run',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'provider_project_agent_transfer',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'provider_project_agent_transfer':
                        (ProviderProjectAgentTransfer,),
                    'x_idempotency_key':
                        (str,),
                    'x_dry_run':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'x_idempotency_key': 'x-idempotency-key',
                    'x_dry_run': 'x-dry-run',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'provider_project_agent_transfer': 'body',
                    'x_idempotency_key': 'header',
                    'x_dry_run': 'header',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__provider_project_agent_transfer
        )

        def __provider_project_agent_update(
            self,
            project_id,
            location_id,
            agent_id,
            provider_project_agent_update,
            **kwargs
        ):
            """Update provider/agent  # noqa: E501

            Returns modified agent  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_update(project_id, location_id, agent_id, provider_project_agent_update, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                provider_project_agent_update (ProviderProjectAgentUpdate):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Agent
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['provider_project_agent_update'] = \
                provider_project_agent_update
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_update = _Endpoint(
            settings={
                'response_type': (Agent,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}',
                'operation_id': 'provider_project_agent_update',
                'http_method': 'PATCH',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'provider_project_agent_update',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'provider_project_agent_update',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'provider_project_agent_update':
                        (ProviderProjectAgentUpdate,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'provider_project_agent_update': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__provider_project_agent_update
        )

<filename>h1/api/provider_project_agent_api.py<gh_stars>0
"""
    HyperOne

    HyperOne API  # noqa: E501

    The version of the OpenAPI document: 0.1.0
    Generated by: https://openapi-generator.tech
"""


import re  # noqa: F401
import sys  # noqa: F401

from h1.api_client import ApiClient, Endpoint as _Endpoint
from h1.model_utils import (  # noqa: F401
    check_allowed_values,
    check_validations,
    date,
    datetime,
    file_type,
    none_type,
    validate_and_convert_types
)
from h1.model.agent import Agent
from h1.model.agent_credential import AgentCredential
from h1.model.enabled_service import EnabledService
from h1.model.event import Event
from h1.model.inline_response400 import InlineResponse400
from h1.model.metric import Metric
from h1.model.point import Point
from h1.model.provider_agent_resource import ProviderAgentResource
from h1.model.provider_agent_resource_event import ProviderAgentResourceEvent
from h1.model.provider_project_agent_create import ProviderProjectAgentCreate
from h1.model.provider_project_agent_credential_patch import ProviderProjectAgentCredentialPatch
from h1.model.provider_project_agent_transfer import ProviderProjectAgentTransfer
from h1.model.provider_project_agent_update import ProviderProjectAgentUpdate
from h1.model.resource_service import ResourceService
from h1.model.tag import Tag
from h1.model.tag_array import TagArray


class ProviderProjectAgentApi(object):
    """NOTE: This class is auto generated by OpenAPI Generator
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    def __init__(self, api_client=None):
        if api_client is None:
            api_client = ApiClient()
        self.api_client = api_client

        def __provider_project_agent_create(
            self,
            project_id,
            location_id,
            provider_project_agent_create,
            **kwargs
        ):
            """Create provider/agent  # noqa: E501

            Create agent  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_create(project_id, location_id, provider_project_agent_create, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                provider_project_agent_create (ProviderProjectAgentCreate):

            Keyword Args:
                x_idempotency_key (str): Idempotency key. [optional]
                x_dry_run (str): Dry run. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Agent
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['provider_project_agent_create'] = \
                provider_project_agent_create
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_create = _Endpoint(
            settings={
                'response_type': (Agent,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent',
                'operation_id': 'provider_project_agent_create',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'provider_project_agent_create',
                    'x_idempotency_key',
                    'x_dry_run',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'provider_project_agent_create',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'provider_project_agent_create':
                        (ProviderProjectAgentCreate,),
                    'x_idempotency_key':
                        (str,),
                    'x_dry_run':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'x_idempotency_key': 'x-idempotency-key',
                    'x_dry_run': 'x-dry-run',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'provider_project_agent_create': 'body',
                    'x_idempotency_key': 'header',
                    'x_dry_run': 'header',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__provider_project_agent_create
        )

        def __provider_project_agent_credential_create(
            self,
            project_id,
            location_id,
            agent_id,
            agent_credential,
            **kwargs
        ):
            """Create provider/agent.credential  # noqa: E501

            Create provider/agent.credential  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_credential_create(project_id, location_id, agent_id, agent_credential, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                agent_credential (AgentCredential):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                AgentCredential
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['agent_credential'] = \
                agent_credential
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_credential_create = _Endpoint(
            settings={
                'response_type': (AgentCredential,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/credential',
                'operation_id': 'provider_project_agent_credential_create',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'agent_credential',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'agent_credential',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'agent_credential':
                        (AgentCredential,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'agent_credential': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__provider_project_agent_credential_create
        )

        def __provider_project_agent_credential_delete(
            self,
            project_id,
            location_id,
            agent_id,
            credential_id,
            **kwargs
        ):
            """Delete provider/agent.credential  # noqa: E501

            Delete provider/agent.credential  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_credential_delete(project_id, location_id, agent_id, credential_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                credential_id (str): credentialId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Agent
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['credential_id'] = \
                credential_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_credential_delete = _Endpoint(
            settings={
                'response_type': (Agent,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/credential/{credentialId}',
                'operation_id': 'provider_project_agent_credential_delete',
                'http_method': 'DELETE',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'credential_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'credential_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'credential_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'credential_id': 'credentialId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'credential_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_credential_delete
        )

        def __provider_project_agent_credential_get(
            self,
            project_id,
            location_id,
            agent_id,
            credential_id,
            **kwargs
        ):
            """Get provider/agent.credential  # noqa: E501

            Get provider/agent.credential  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_credential_get(project_id, location_id, agent_id, credential_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                credential_id (str): credentialId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                AgentCredential
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['credential_id'] = \
                credential_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_credential_get = _Endpoint(
            settings={
                'response_type': (AgentCredential,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/credential/{credentialId}',
                'operation_id': 'provider_project_agent_credential_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'credential_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'credential_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'credential_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'credential_id': 'credentialId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'credential_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_credential_get
        )

        def __provider_project_agent_credential_list(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """List provider/agent.credential  # noqa: E501

            List provider/agent.credential  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_credential_list(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [AgentCredential]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_credential_list = _Endpoint(
            settings={
                'response_type': ([AgentCredential],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/credential',
                'operation_id': 'provider_project_agent_credential_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_credential_list
        )

        def __provider_project_agent_credential_patch(
            self,
            project_id,
            location_id,
            agent_id,
            credential_id,
            provider_project_agent_credential_patch,
            **kwargs
        ):
            """Update provider/agent.credential  # noqa: E501

            Update provider/agent.credential  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_credential_patch(project_id, location_id, agent_id, credential_id, provider_project_agent_credential_patch, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                credential_id (str): credentialId
                provider_project_agent_credential_patch (ProviderProjectAgentCredentialPatch):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                AgentCredential
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['credential_id'] = \
                credential_id
            kwargs['provider_project_agent_credential_patch'] = \
                provider_project_agent_credential_patch
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_credential_patch = _Endpoint(
            settings={
                'response_type': (AgentCredential,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/credential/{credentialId}',
                'operation_id': 'provider_project_agent_credential_patch',
                'http_method': 'PATCH',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'credential_id',
                    'provider_project_agent_credential_patch',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'credential_id',
                    'provider_project_agent_credential_patch',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'credential_id':
                        (str,),
                    'provider_project_agent_credential_patch':
                        (ProviderProjectAgentCredentialPatch,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'credential_id': 'credentialId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'credential_id': 'path',
                    'provider_project_agent_credential_patch': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__provider_project_agent_credential_patch
        )

        def __provider_project_agent_delete(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """Delete provider/agent  # noqa: E501

            Delete agent  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_delete(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                None
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_delete = _Endpoint(
            settings={
                'response_type': None,
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}',
                'operation_id': 'provider_project_agent_delete',
                'http_method': 'DELETE',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_delete
        )

        def __provider_project_agent_enabled_service_create(
            self,
            project_id,
            location_id,
            agent_id,
            enabled_service,
            **kwargs
        ):
            """Create provider/agent.enabledService  # noqa: E501

            Create provider/agent.enabledService  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_enabled_service_create(project_id, location_id, agent_id, enabled_service, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                enabled_service (EnabledService):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                EnabledService
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['enabled_service'] = \
                enabled_service
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_enabled_service_create = _Endpoint(
            settings={
                'response_type': (EnabledService,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/enabledService',
                'operation_id': 'provider_project_agent_enabled_service_create',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'enabled_service',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'enabled_service',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'enabled_service':
                        (EnabledService,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'enabled_service': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__provider_project_agent_enabled_service_create
        )

        def __provider_project_agent_enabled_service_delete(
            self,
            project_id,
            location_id,
            agent_id,
            enabled_service_id,
            **kwargs
        ):
            """Delete provider/agent.enabledService  # noqa: E501

            Delete provider/agent.enabledService  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_enabled_service_delete(project_id, location_id, agent_id, enabled_service_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                enabled_service_id (str): enabledServiceId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Agent
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['enabled_service_id'] = \
                enabled_service_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_enabled_service_delete = _Endpoint(
            settings={
                'response_type': (Agent,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/enabledService/{enabledServiceId}',
                'operation_id': 'provider_project_agent_enabled_service_delete',
                'http_method': 'DELETE',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'enabled_service_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'enabled_service_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'enabled_service_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'enabled_service_id': 'enabledServiceId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'enabled_service_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_enabled_service_delete
        )

        def __provider_project_agent_enabled_service_get(
            self,
            project_id,
            location_id,
            agent_id,
            enabled_service_id,
            **kwargs
        ):
            """Get provider/agent.enabledService  # noqa: E501

            Get provider/agent.enabledService  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_enabled_service_get(project_id, location_id, agent_id, enabled_service_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                enabled_service_id (str): enabledServiceId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                EnabledService
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['enabled_service_id'] = \
                enabled_service_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_enabled_service_get = _Endpoint(
            settings={
                'response_type': (EnabledService,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/enabledService/{enabledServiceId}',
                'operation_id': 'provider_project_agent_enabled_service_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'enabled_service_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'enabled_service_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'enabled_service_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'enabled_service_id': 'enabledServiceId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'enabled_service_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_enabled_service_get
        )

        def __provider_project_agent_enabled_service_list(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """List provider/agent.enabledService  # noqa: E501

            List provider/agent.enabledService  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_enabled_service_list(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [EnabledService]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_enabled_service_list = _Endpoint(
            settings={
                'response_type': ([EnabledService],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/enabledService',
                'operation_id': 'provider_project_agent_enabled_service_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_enabled_service_list
        )

        def __provider_project_agent_event_get(
            self,
            project_id,
            location_id,
            agent_id,
            event_id,
            **kwargs
        ):
            """Get provider/agent.event  # noqa: E501

            Get provider/agent.event  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_event_get(project_id, location_id, agent_id, event_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                event_id (str): eventId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Event
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['event_id'] = \
                event_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_event_get = _Endpoint(
            settings={
                'response_type': (Event,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/event/{eventId}',
                'operation_id': 'provider_project_agent_event_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'event_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'event_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'event_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'event_id': 'eventId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'event_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_event_get
        )

        def __provider_project_agent_event_list(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """List provider/agent.event  # noqa: E501

            List provider/agent.event  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_event_list(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                limit (float): $limit. [optional] if omitted the server will use the default value of 100
                skip (float): $skip. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Event]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_event_list = _Endpoint(
            settings={
                'response_type': ([Event],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/event',
                'operation_id': 'provider_project_agent_event_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'limit',
                    'skip',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                    'limit',
                ]
            },
            root_map={
                'validations': {
                    ('limit',): {

                        'inclusive_maximum': 1000,
                        'inclusive_minimum': 1,
                    },
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'limit':
                        (float,),
                    'skip':
                        (float,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'limit': '$limit',
                    'skip': '$skip',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'limit': 'query',
                    'skip': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_event_list
        )

        def __provider_project_agent_get(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """Get provider/agent  # noqa: E501

            Returns a single agent  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_get(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Agent
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_get = _Endpoint(
            settings={
                'response_type': (Agent,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}',
                'operation_id': 'provider_project_agent_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_get
        )

        def __provider_project_agent_inspect(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """Inspect provider/agent  # noqa: E501

            action inspect  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_inspect(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                x_idempotency_key (str): Idempotency key. [optional]
                x_dry_run (str): Dry run. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                {str: (bool, date, datetime, dict, float, int, list, str, none_type)}
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_inspect = _Endpoint(
            settings={
                'response_type': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/actions/inspect',
                'operation_id': 'provider_project_agent_inspect',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'x_idempotency_key',
                    'x_dry_run',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'x_idempotency_key':
                        (str,),
                    'x_dry_run':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'x_idempotency_key': 'x-idempotency-key',
                    'x_dry_run': 'x-dry-run',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'x_idempotency_key': 'header',
                    'x_dry_run': 'header',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_inspect
        )

        def __provider_project_agent_list(
            self,
            project_id,
            location_id,
            **kwargs
        ):
            """List provider/agent  # noqa: E501

            List agent  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_list(project_id, location_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id

            Keyword Args:
                name (str): Filter by name. [optional]
                enabled_services (str): Filter by enabledServices. [optional]
                tag_value (str): Filter by tag.value. [optional]
                tag_key (str): Filter by tag.key. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Agent]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_list = _Endpoint(
            settings={
                'response_type': ([Agent],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent',
                'operation_id': 'provider_project_agent_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'name',
                    'enabled_services',
                    'tag_value',
                    'tag_key',
                ],
                'required': [
                    'project_id',
                    'location_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'name':
                        (str,),
                    'enabled_services':
                        (str,),
                    'tag_value':
                        (str,),
                    'tag_key':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'name': 'name',
                    'enabled_services': 'enabledServices',
                    'tag_value': 'tag.value',
                    'tag_key': 'tag.key',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'name': 'query',
                    'enabled_services': 'query',
                    'tag_value': 'query',
                    'tag_key': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_list
        )

        def __provider_project_agent_metric_get(
            self,
            project_id,
            location_id,
            agent_id,
            metric_id,
            **kwargs
        ):
            """Get provider/agent.metric  # noqa: E501

            Get provider/agent.metric  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_metric_get(project_id, location_id, agent_id, metric_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                metric_id (str): metricId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Metric
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['metric_id'] = \
                metric_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_metric_get = _Endpoint(
            settings={
                'response_type': (Metric,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/metric/{metricId}',
                'operation_id': 'provider_project_agent_metric_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'metric_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'metric_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'metric_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'metric_id': 'metricId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'metric_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_metric_get
        )

        def __provider_project_agent_metric_list(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """List provider/agent.metric  # noqa: E501

            List provider/agent.metric  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_metric_list(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Metric]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_metric_list = _Endpoint(
            settings={
                'response_type': ([Metric],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/metric',
                'operation_id': 'provider_project_agent_metric_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_metric_list
        )

        def __provider_project_agent_metric_point_list(
            self,
            project_id,
            location_id,
            agent_id,
            metric_id,
            **kwargs
        ):
            """List provider/agent.point  # noqa: E501

            List provider/agent.point  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_metric_point_list(project_id, location_id, agent_id, metric_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                metric_id (str): metricId

            Keyword Args:
                interval (str): interval. [optional]
                timespan (str): timespan. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Point]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['metric_id'] = \
                metric_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_metric_point_list = _Endpoint(
            settings={
                'response_type': ([Point],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/metric/{metricId}/point',
                'operation_id': 'provider_project_agent_metric_point_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'metric_id',
                    'interval',
                    'timespan',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'metric_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'metric_id':
                        (str,),
                    'interval':
                        (str,),
                    'timespan':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'metric_id': 'metricId',
                    'interval': 'interval',
                    'timespan': 'timespan',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'metric_id': 'path',
                    'interval': 'query',
                    'timespan': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_metric_point_list
        )

        def __provider_project_agent_resource_event_list(
            self,
            project_id,
            location_id,
            agent_id,
            resource_id,
            **kwargs
        ):
            """List provider/agent.event  # noqa: E501

            List provider/agent.event  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_resource_event_list(project_id, location_id, agent_id, resource_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                resource_id (str): resourceId

            Keyword Args:
                limit (float): $limit. [optional]
                skip (float): $skip. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [ProviderAgentResourceEvent]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['resource_id'] = \
                resource_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_resource_event_list = _Endpoint(
            settings={
                'response_type': ([ProviderAgentResourceEvent],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/resource/{resourceId}/event',
                'operation_id': 'provider_project_agent_resource_event_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'resource_id',
                    'limit',
                    'skip',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'resource_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'resource_id':
                        (str,),
                    'limit':
                        (float,),
                    'skip':
                        (float,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'resource_id': 'resourceId',
                    'limit': '$limit',
                    'skip': '$skip',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'resource_id': 'path',
                    'limit': 'query',
                    'skip': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_resource_event_list
        )

        def __provider_project_agent_resource_get(
            self,
            project_id,
            location_id,
            agent_id,
            resource_id,
            **kwargs
        ):
            """Get provider/agent.resource  # noqa: E501

            Get provider/agent.resource  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_resource_get(project_id, location_id, agent_id, resource_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                resource_id (str): resourceId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                ProviderAgentResource
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['resource_id'] = \
                resource_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_resource_get = _Endpoint(
            settings={
                'response_type': (ProviderAgentResource,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/resource/{resourceId}',
                'operation_id': 'provider_project_agent_resource_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'resource_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'resource_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'resource_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'resource_id': 'resourceId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'resource_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_resource_get
        )

        def __provider_project_agent_resource_inspect(
            self,
            project_id,
            location_id,
            agent_id,
            resource_id,
            **kwargs
        ):
            """Inspect provider/agent.resource  # noqa: E501

            action inspect  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_resource_inspect(project_id, location_id, agent_id, resource_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                resource_id (str): resourceId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                bool, date, datetime, dict, float, int, list, str, none_type
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['resource_id'] = \
                resource_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_resource_inspect = _Endpoint(
            settings={
                'response_type': (bool, date, datetime, dict, float, int, list, str, none_type,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/resource/{resourceId}/actions/inspect',
                'operation_id': 'provider_project_agent_resource_inspect',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'resource_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'resource_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'resource_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'resource_id': 'resourceId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'resource_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_resource_inspect
        )

        def __provider_project_agent_resource_list(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """List provider/agent.resource  # noqa: E501

            List provider/agent.resource  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_resource_list(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [ProviderAgentResource]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_resource_list = _Endpoint(
            settings={
                'response_type': ([ProviderAgentResource],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/resource',
                'operation_id': 'provider_project_agent_resource_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_resource_list
        )

        def __provider_project_agent_resource_recreate(
            self,
            project_id,
            location_id,
            agent_id,
            resource_id,
            **kwargs
        ):
            """Recreate provider/agent.resource  # noqa: E501

            action recreate  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_resource_recreate(project_id, location_id, agent_id, resource_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                resource_id (str): resourceId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                ProviderAgentResource
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['resource_id'] = \
                resource_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_resource_recreate = _Endpoint(
            settings={
                'response_type': (ProviderAgentResource,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/resource/{resourceId}/actions/recreate',
                'operation_id': 'provider_project_agent_resource_recreate',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'resource_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'resource_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'resource_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'resource_id': 'resourceId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'resource_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_resource_recreate
        )

        def __provider_project_agent_service_get(
            self,
            project_id,
            location_id,
            agent_id,
            service_id,
            **kwargs
        ):
            """Get provider/agent.service  # noqa: E501

            Get provider/agent.service  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_service_get(project_id, location_id, agent_id, service_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                service_id (str): serviceId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                ResourceService
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['service_id'] = \
                service_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_service_get = _Endpoint(
            settings={
                'response_type': (ResourceService,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/service/{serviceId}',
                'operation_id': 'provider_project_agent_service_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'service_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'service_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'service_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'service_id': 'serviceId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'service_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_service_get
        )

        def __provider_project_agent_service_list(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """List provider/agent.service  # noqa: E501

            List provider/agent.service  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_service_list(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [ResourceService]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_service_list = _Endpoint(
            settings={
                'response_type': ([ResourceService],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/service',
                'operation_id': 'provider_project_agent_service_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_service_list
        )

        def __provider_project_agent_start(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """Start provider/agent  # noqa: E501

            action start  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_start(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                x_idempotency_key (str): Idempotency key. [optional]
                x_dry_run (str): Dry run. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Agent
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_start = _Endpoint(
            settings={
                'response_type': (Agent,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/actions/start',
                'operation_id': 'provider_project_agent_start',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'x_idempotency_key',
                    'x_dry_run',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'x_idempotency_key':
                        (str,),
                    'x_dry_run':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'x_idempotency_key': 'x-idempotency-key',
                    'x_dry_run': 'x-dry-run',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'x_idempotency_key': 'header',
                    'x_dry_run': 'header',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_start
        )

        def __provider_project_agent_suspend(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """Suspend provider/agent  # noqa: E501

            action suspend  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_suspend(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                x_idempotency_key (str): Idempotency key. [optional]
                x_dry_run (str): Dry run. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Agent
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_suspend = _Endpoint(
            settings={
                'response_type': (Agent,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/actions/suspend',
                'operation_id': 'provider_project_agent_suspend',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'x_idempotency_key',
                    'x_dry_run',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'x_idempotency_key':
                        (str,),
                    'x_dry_run':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'x_idempotency_key': 'x-idempotency-key',
                    'x_dry_run': 'x-dry-run',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'x_idempotency_key': 'header',
                    'x_dry_run': 'header',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_suspend
        )

        def __provider_project_agent_tag_create(
            self,
            project_id,
            location_id,
            agent_id,
            tag,
            **kwargs
        ):
            """Create provider/agent.tag  # noqa: E501

            Create provider/agent.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_tag_create(project_id, location_id, agent_id, tag, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                tag (Tag):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Tag
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['tag'] = \
                tag
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_tag_create = _Endpoint(
            settings={
                'response_type': (Tag,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/tag',
                'operation_id': 'provider_project_agent_tag_create',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'tag',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'tag',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'tag':
                        (Tag,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'tag': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__provider_project_agent_tag_create
        )

        def __provider_project_agent_tag_delete(
            self,
            project_id,
            location_id,
            agent_id,
            tag_id,
            **kwargs
        ):
            """Delete provider/agent.tag  # noqa: E501

            Delete provider/agent.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_tag_delete(project_id, location_id, agent_id, tag_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                tag_id (str): tagId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                None
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['tag_id'] = \
                tag_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_tag_delete = _Endpoint(
            settings={
                'response_type': None,
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/tag/{tagId}',
                'operation_id': 'provider_project_agent_tag_delete',
                'http_method': 'DELETE',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'tag_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'tag_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'tag_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'tag_id': 'tagId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'tag_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_tag_delete
        )

        def __provider_project_agent_tag_get(
            self,
            project_id,
            location_id,
            agent_id,
            tag_id,
            **kwargs
        ):
            """Get provider/agent.tag  # noqa: E501

            Get provider/agent.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_tag_get(project_id, location_id, agent_id, tag_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                tag_id (str): tagId

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Tag
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['tag_id'] = \
                tag_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_tag_get = _Endpoint(
            settings={
                'response_type': (Tag,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/tag/{tagId}',
                'operation_id': 'provider_project_agent_tag_get',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'tag_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'tag_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'tag_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'tag_id': 'tagId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'tag_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_tag_get
        )

        def __provider_project_agent_tag_list(
            self,
            project_id,
            location_id,
            agent_id,
            **kwargs
        ):
            """List provider/agent.tag  # noqa: E501

            List provider/agent.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_tag_list(project_id, location_id, agent_id, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Tag]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_tag_list = _Endpoint(
            settings={
                'response_type': ([Tag],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/tag',
                'operation_id': 'provider_project_agent_tag_list',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [],
            },
            api_client=api_client,
            callable=__provider_project_agent_tag_list
        )

        def __provider_project_agent_tag_put(
            self,
            project_id,
            location_id,
            agent_id,
            tag_array,
            **kwargs
        ):
            """Replace provider/agent.tag  # noqa: E501

            Replace provider/agent.tag  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_tag_put(project_id, location_id, agent_id, tag_array, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                tag_array (TagArray):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                [Tag]
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['tag_array'] = \
                tag_array
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_tag_put = _Endpoint(
            settings={
                'response_type': ([Tag],),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/tag',
                'operation_id': 'provider_project_agent_tag_put',
                'http_method': 'PUT',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'tag_array',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'tag_array',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'tag_array':
                        (TagArray,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'tag_array': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__provider_project_agent_tag_put
        )

        def __provider_project_agent_transfer(
            self,
            project_id,
            location_id,
            agent_id,
            provider_project_agent_transfer,
            **kwargs
        ):
            """Transfer provider/agent  # noqa: E501

            action transfer  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_transfer(project_id, location_id, agent_id, provider_project_agent_transfer, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                provider_project_agent_transfer (ProviderProjectAgentTransfer):

            Keyword Args:
                x_idempotency_key (str): Idempotency key. [optional]
                x_dry_run (str): Dry run. [optional]
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Agent
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['provider_project_agent_transfer'] = \
                provider_project_agent_transfer
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_transfer = _Endpoint(
            settings={
                'response_type': (Agent,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}/actions/transfer',
                'operation_id': 'provider_project_agent_transfer',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'provider_project_agent_transfer',
                    'x_idempotency_key',
                    'x_dry_run',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'provider_project_agent_transfer',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'provider_project_agent_transfer':
                        (ProviderProjectAgentTransfer,),
                    'x_idempotency_key':
                        (str,),
                    'x_dry_run':
                        (str,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                    'x_idempotency_key': 'x-idempotency-key',
                    'x_dry_run': 'x-dry-run',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'provider_project_agent_transfer': 'body',
                    'x_idempotency_key': 'header',
                    'x_dry_run': 'header',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__provider_project_agent_transfer
        )

        def __provider_project_agent_update(
            self,
            project_id,
            location_id,
            agent_id,
            provider_project_agent_update,
            **kwargs
        ):
            """Update provider/agent  # noqa: E501

            Returns modified agent  # noqa: E501
            This method makes a synchronous HTTP request by default. To make an
            asynchronous HTTP request, please pass async_req=True

            >>> thread = api.provider_project_agent_update(project_id, location_id, agent_id, provider_project_agent_update, async_req=True)
            >>> result = thread.get()

            Args:
                project_id (str): Project Id
                location_id (str): Location Id
                agent_id (str): Agent Id
                provider_project_agent_update (ProviderProjectAgentUpdate):

            Keyword Args:
                _return_http_data_only (bool): response data without head status
                    code and headers. Default is True.
                _preload_content (bool): if False, the urllib3.HTTPResponse object
                    will be returned without reading/decoding response data.
                    Default is True.
                _request_timeout (float/tuple): timeout setting for this request. If one
                    number provided, it will be total request timeout. It can also
                    be a pair (tuple) of (connection, read) timeouts.
                    Default is None.
                _check_input_type (bool): specifies if type checking
                    should be done one the data sent to the server.
                    Default is True.
                _check_return_type (bool): specifies if type checking
                    should be done one the data received from the server.
                    Default is True.
                _host_index (int/None): specifies the index of the server
                    that we want to use.
                    Default is read from the configuration.
                async_req (bool): execute request asynchronously

            Returns:
                Agent
                    If the method is called asynchronously, returns the request
                    thread.
            """
            kwargs['async_req'] = kwargs.get(
                'async_req', False
            )
            kwargs['_return_http_data_only'] = kwargs.get(
                '_return_http_data_only', True
            )
            kwargs['_preload_content'] = kwargs.get(
                '_preload_content', True
            )
            kwargs['_request_timeout'] = kwargs.get(
                '_request_timeout', None
            )
            kwargs['_check_input_type'] = kwargs.get(
                '_check_input_type', True
            )
            kwargs['_check_return_type'] = kwargs.get(
                '_check_return_type', True
            )
            kwargs['_host_index'] = kwargs.get('_host_index')
            kwargs['project_id'] = \
                project_id
            kwargs['location_id'] = \
                location_id
            kwargs['agent_id'] = \
                agent_id
            kwargs['provider_project_agent_update'] = \
                provider_project_agent_update
            return self.call_with_http_info(**kwargs)

        self.provider_project_agent_update = _Endpoint(
            settings={
                'response_type': (Agent,),
                'auth': [
                    'BearerAuth'
                ],
                'endpoint_path': '/provider/{locationId}/project/{projectId}/agent/{agentId}',
                'operation_id': 'provider_project_agent_update',
                'http_method': 'PATCH',
                'servers': None,
            },
            params_map={
                'all': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'provider_project_agent_update',
                ],
                'required': [
                    'project_id',
                    'location_id',
                    'agent_id',
                    'provider_project_agent_update',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'project_id':
                        (str,),
                    'location_id':
                        (str,),
                    'agent_id':
                        (str,),
                    'provider_project_agent_update':
                        (ProviderProjectAgentUpdate,),
                },
                'attribute_map': {
                    'project_id': 'projectId',
                    'location_id': 'locationId',
                    'agent_id': 'agentId',
                },
                'location_map': {
                    'project_id': 'path',
                    'location_id': 'path',
                    'agent_id': 'path',
                    'provider_project_agent_update': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/json'
                ],
                'content_type': [
                    'application/json'
                ]
            },
            api_client=api_client,
            callable=__provider_project_agent_update
        )

HyperOne      HyperOne API  # noqa: E501      The version of the OpenAPI document: 0.1.0     Generated by: https://openapi-generator.tech # noqa: F401 # noqa: F401 # noqa: F401 NOTE: This class is auto generated by OpenAPI Generator     Ref: https://openapi-generator.tech      Do not edit the class manually. Create provider/agent  # noqa: E501              Create agent  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_create(project_id, location_id, provider_project_agent_create, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 provider_project_agent_create (ProviderProjectAgentCreate):              Keyword Args:                 x_idempotency_key (str): Idempotency key. [optional]                 x_dry_run (str): Dry run. [optional]                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Agent                     If the method is called asynchronously, returns the request                     thread. Create provider/agent.credential  # noqa: E501              Create provider/agent.credential  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_credential_create(project_id, location_id, agent_id, agent_credential, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 agent_credential (AgentCredential):              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 AgentCredential                     If the method is called asynchronously, returns the request                     thread. Delete provider/agent.credential  # noqa: E501              Delete provider/agent.credential  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_credential_delete(project_id, location_id, agent_id, credential_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 credential_id (str): credentialId              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Agent                     If the method is called asynchronously, returns the request                     thread. Get provider/agent.credential  # noqa: E501              Get provider/agent.credential  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_credential_get(project_id, location_id, agent_id, credential_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 credential_id (str): credentialId              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 AgentCredential                     If the method is called asynchronously, returns the request                     thread. List provider/agent.credential  # noqa: E501              List provider/agent.credential  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_credential_list(project_id, location_id, agent_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 [AgentCredential]                     If the method is called asynchronously, returns the request                     thread. Update provider/agent.credential  # noqa: E501              Update provider/agent.credential  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_credential_patch(project_id, location_id, agent_id, credential_id, provider_project_agent_credential_patch, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 credential_id (str): credentialId                 provider_project_agent_credential_patch (ProviderProjectAgentCredentialPatch):              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 AgentCredential                     If the method is called asynchronously, returns the request                     thread. Delete provider/agent  # noqa: E501              Delete agent  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_delete(project_id, location_id, agent_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 None                     If the method is called asynchronously, returns the request                     thread. Create provider/agent.enabledService  # noqa: E501              Create provider/agent.enabledService  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_enabled_service_create(project_id, location_id, agent_id, enabled_service, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 enabled_service (EnabledService):              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 EnabledService                     If the method is called asynchronously, returns the request                     thread. Delete provider/agent.enabledService  # noqa: E501              Delete provider/agent.enabledService  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_enabled_service_delete(project_id, location_id, agent_id, enabled_service_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 enabled_service_id (str): enabledServiceId              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Agent                     If the method is called asynchronously, returns the request                     thread. Get provider/agent.enabledService  # noqa: E501              Get provider/agent.enabledService  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_enabled_service_get(project_id, location_id, agent_id, enabled_service_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 enabled_service_id (str): enabledServiceId              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 EnabledService                     If the method is called asynchronously, returns the request                     thread. List provider/agent.enabledService  # noqa: E501              List provider/agent.enabledService  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_enabled_service_list(project_id, location_id, agent_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 [EnabledService]                     If the method is called asynchronously, returns the request                     thread. Get provider/agent.event  # noqa: E501              Get provider/agent.event  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_event_get(project_id, location_id, agent_id, event_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 event_id (str): eventId              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Event                     If the method is called asynchronously, returns the request                     thread. List provider/agent.event  # noqa: E501              List provider/agent.event  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_event_list(project_id, location_id, agent_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id              Keyword Args:                 limit (float): $limit. [optional] if omitted the server will use the default value of 100                 skip (float): $skip. [optional]                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 [Event]                     If the method is called asynchronously, returns the request                     thread. Get provider/agent  # noqa: E501              Returns a single agent  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_get(project_id, location_id, agent_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Agent                     If the method is called asynchronously, returns the request                     thread. Inspect provider/agent  # noqa: E501              action inspect  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_inspect(project_id, location_id, agent_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id              Keyword Args:                 x_idempotency_key (str): Idempotency key. [optional]                 x_dry_run (str): Dry run. [optional]                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 {str: (bool, date, datetime, dict, float, int, list, str, none_type)}                     If the method is called asynchronously, returns the request                     thread. List provider/agent  # noqa: E501              List agent  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_list(project_id, location_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id              Keyword Args:                 name (str): Filter by name. [optional]                 enabled_services (str): Filter by enabledServices. [optional]                 tag_value (str): Filter by tag.value. [optional]                 tag_key (str): Filter by tag.key. [optional]                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 [Agent]                     If the method is called asynchronously, returns the request                     thread. Get provider/agent.metric  # noqa: E501              Get provider/agent.metric  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_metric_get(project_id, location_id, agent_id, metric_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 metric_id (str): metricId              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Metric                     If the method is called asynchronously, returns the request                     thread. List provider/agent.metric  # noqa: E501              List provider/agent.metric  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_metric_list(project_id, location_id, agent_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 [Metric]                     If the method is called asynchronously, returns the request                     thread. List provider/agent.point  # noqa: E501              List provider/agent.point  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_metric_point_list(project_id, location_id, agent_id, metric_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 metric_id (str): metricId              Keyword Args:                 interval (str): interval. [optional]                 timespan (str): timespan. [optional]                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 [Point]                     If the method is called asynchronously, returns the request                     thread. List provider/agent.event  # noqa: E501              List provider/agent.event  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_resource_event_list(project_id, location_id, agent_id, resource_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 resource_id (str): resourceId              Keyword Args:                 limit (float): $limit. [optional]                 skip (float): $skip. [optional]                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 [ProviderAgentResourceEvent]                     If the method is called asynchronously, returns the request                     thread. Get provider/agent.resource  # noqa: E501              Get provider/agent.resource  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_resource_get(project_id, location_id, agent_id, resource_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 resource_id (str): resourceId              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 ProviderAgentResource                     If the method is called asynchronously, returns the request                     thread. Inspect provider/agent.resource  # noqa: E501              action inspect  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_resource_inspect(project_id, location_id, agent_id, resource_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 resource_id (str): resourceId              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 bool, date, datetime, dict, float, int, list, str, none_type                     If the method is called asynchronously, returns the request                     thread. List provider/agent.resource  # noqa: E501              List provider/agent.resource  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_resource_list(project_id, location_id, agent_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 [ProviderAgentResource]                     If the method is called asynchronously, returns the request                     thread. Recreate provider/agent.resource  # noqa: E501              action recreate  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_resource_recreate(project_id, location_id, agent_id, resource_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 resource_id (str): resourceId              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 ProviderAgentResource                     If the method is called asynchronously, returns the request                     thread. Get provider/agent.service  # noqa: E501              Get provider/agent.service  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_service_get(project_id, location_id, agent_id, service_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 service_id (str): serviceId              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 ResourceService                     If the method is called asynchronously, returns the request                     thread. List provider/agent.service  # noqa: E501              List provider/agent.service  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_service_list(project_id, location_id, agent_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 [ResourceService]                     If the method is called asynchronously, returns the request                     thread. Start provider/agent  # noqa: E501              action start  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_start(project_id, location_id, agent_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id              Keyword Args:                 x_idempotency_key (str): Idempotency key. [optional]                 x_dry_run (str): Dry run. [optional]                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Agent                     If the method is called asynchronously, returns the request                     thread. Suspend provider/agent  # noqa: E501              action suspend  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_suspend(project_id, location_id, agent_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id              Keyword Args:                 x_idempotency_key (str): Idempotency key. [optional]                 x_dry_run (str): Dry run. [optional]                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Agent                     If the method is called asynchronously, returns the request                     thread. Create provider/agent.tag  # noqa: E501              Create provider/agent.tag  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_tag_create(project_id, location_id, agent_id, tag, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 tag (Tag):              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Tag                     If the method is called asynchronously, returns the request                     thread. Delete provider/agent.tag  # noqa: E501              Delete provider/agent.tag  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_tag_delete(project_id, location_id, agent_id, tag_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 tag_id (str): tagId              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 None                     If the method is called asynchronously, returns the request                     thread. Get provider/agent.tag  # noqa: E501              Get provider/agent.tag  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_tag_get(project_id, location_id, agent_id, tag_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 tag_id (str): tagId              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Tag                     If the method is called asynchronously, returns the request                     thread. List provider/agent.tag  # noqa: E501              List provider/agent.tag  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_tag_list(project_id, location_id, agent_id, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 [Tag]                     If the method is called asynchronously, returns the request                     thread. Replace provider/agent.tag  # noqa: E501              Replace provider/agent.tag  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_tag_put(project_id, location_id, agent_id, tag_array, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 tag_array (TagArray):              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 [Tag]                     If the method is called asynchronously, returns the request                     thread. Transfer provider/agent  # noqa: E501              action transfer  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_transfer(project_id, location_id, agent_id, provider_project_agent_transfer, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 provider_project_agent_transfer (ProviderProjectAgentTransfer):              Keyword Args:                 x_idempotency_key (str): Idempotency key. [optional]                 x_dry_run (str): Dry run. [optional]                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Agent                     If the method is called asynchronously, returns the request                     thread. Update provider/agent  # noqa: E501              Returns modified agent  # noqa: E501             This method makes a synchronous HTTP request by default. To make an             asynchronous HTTP request, please pass async_req=True              >>> thread = api.provider_project_agent_update(project_id, location_id, agent_id, provider_project_agent_update, async_req=True)             >>> result = thread.get()              Args:                 project_id (str): Project Id                 location_id (str): Location Id                 agent_id (str): Agent Id                 provider_project_agent_update (ProviderProjectAgentUpdate):              Keyword Args:                 _return_http_data_only (bool): response data without head status                     code and headers. Default is True.                 _preload_content (bool): if False, the urllib3.HTTPResponse object                     will be returned without reading/decoding response data.                     Default is True.                 _request_timeout (float/tuple): timeout setting for this request. If one                     number provided, it will be total request timeout. It can also                     be a pair (tuple) of (connection, read) timeouts.                     Default is None.                 _check_input_type (bool): specifies if type checking                     should be done one the data sent to the server.                     Default is True.                 _check_return_type (bool): specifies if type checking                     should be done one the data received from the server.                     Default is True.                 _host_index (int/None): specifies the index of the server                     that we want to use.                     Default is read from the configuration.                 async_req (bool): execute request asynchronously              Returns:                 Agent                     If the method is called asynchronously, returns the request                     thread.