Class ApiGatewayServiceClient

The API Gateway Service is the interface for managing API Gateways.

Inheritance

builtins.object > ApiGatewayServiceClient

Properties

transport

Returns the transport used by the client instance.

Returns
TypeDescription
ApiGatewayServiceTransportThe transport used by the client instance.

Methods

__exit__

__exit__(type, value, traceback)

Releases underlying transport's resources.

.. warning:: ONLY use as a context manager if the transport is NOT shared with other clients! Exiting the with block will CLOSE the transport and may cause errors in other clients!

api_config_path

api_config_path(project: str, api: str, api_config: str)

Returns a fully-qualified api_config string.

Parameters
NameDescription
project str
api str
api_config str

api_path

api_path(project: str, api: str)

Returns a fully-qualified api string.

Parameters
NameDescription
project str
api str

common_billing_account_path

common_billing_account_path(billing_account: str)

Returns a fully-qualified billing_account string.

Parameter
NameDescription
billing_account str

common_folder_path

common_folder_path(folder: str)

Returns a fully-qualified folder string.

Parameter
NameDescription
folder str

common_location_path

common_location_path(project: str, location: str)

Returns a fully-qualified location string.

Parameters
NameDescription
project str
location str

common_organization_path

common_organization_path(organization: str)

Returns a fully-qualified organization string.

Parameter
NameDescription
organization str

common_project_path

common_project_path(project: str)

Returns a fully-qualified project string.

Parameter
NameDescription
project str

create_api

create_api(request: Optional[Union[google.cloud.apigateway_v1.types.apigateway.CreateApiRequest, dict]] = None, *, parent: Optional[str] = None, api: Optional[google.cloud.apigateway_v1.types.apigateway.Api] = None, api_id: Optional[str] = None, retry: Union[google.api_core.retry.Retry, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Creates a new Api in a given project and location.

Parameters
NameDescription
request Union[google.cloud.apigateway_v1.types.CreateApiRequest, dict]

The request object. Request message for ApiGatewayService.CreateApi

parent str

Required. Parent resource of the API, of the form: projects/*/locations/global This corresponds to the parent field on the request instance; if request is provided, this should not be set.

api google.cloud.apigateway_v1.types.Api

Required. API resource. This corresponds to the api field on the request instance; if request is provided, this should not be set.

api_id str

Required. Identifier to assign to the API. Must be unique within scope of the parent resource. This corresponds to the api_id field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.api_core.operation.OperationAn object representing a long-running operation. The result type for the operation will be Api An API that can be served by one or more Gateways.

create_api_config

create_api_config(request: Optional[Union[google.cloud.apigateway_v1.types.apigateway.CreateApiConfigRequest, dict]] = None, *, parent: Optional[str] = None, api_config: Optional[google.cloud.apigateway_v1.types.apigateway.ApiConfig] = None, api_config_id: Optional[str] = None, retry: Union[google.api_core.retry.Retry, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Creates a new ApiConfig in a given project and location.

Parameters
NameDescription
request Union[google.cloud.apigateway_v1.types.CreateApiConfigRequest, dict]

The request object. Request message for ApiGatewayService.CreateApiConfig

parent str

Required. Parent resource of the API Config, of the form: projects/*/locations/global/apis/* This corresponds to the parent field on the request instance; if request is provided, this should not be set.

api_config google.cloud.apigateway_v1.types.ApiConfig

Required. API resource. This corresponds to the api_config field on the request instance; if request is provided, this should not be set.

api_config_id str

Required. Identifier to assign to the API Config. Must be unique within scope of the parent resource. This corresponds to the api_config_id field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.api_core.operation.OperationAn object representing a long-running operation. The result type for the operation will be ApiConfig An API Configuration is a combination of settings for both the Managed Service and Gateways serving this API Config.

create_gateway

create_gateway(request: Optional[Union[google.cloud.apigateway_v1.types.apigateway.CreateGatewayRequest, dict]] = None, *, parent: Optional[str] = None, gateway: Optional[google.cloud.apigateway_v1.types.apigateway.Gateway] = None, gateway_id: Optional[str] = None, retry: Union[google.api_core.retry.Retry, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Creates a new Gateway in a given project and location.

Parameters
NameDescription
request Union[google.cloud.apigateway_v1.types.CreateGatewayRequest, dict]

The request object. Request message for ApiGatewayService.CreateGateway

parent str

Required. Parent resource of the Gateway, of the form: projects/*/locations/* This corresponds to the parent field on the request instance; if request is provided, this should not be set.

gateway google.cloud.apigateway_v1.types.Gateway

Required. Gateway resource. This corresponds to the gateway field on the request instance; if request is provided, this should not be set.

gateway_id str

Required. Identifier to assign to the Gateway. Must be unique within scope of the parent resource. This corresponds to the gateway_id field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.api_core.operation.OperationAn object representing a long-running operation. The result type for the operation will be Gateway A Gateway is an API-aware HTTP proxy. It performs API-Method and/or API-Consumer specific actions based on an API Config such as authentication, policy enforcement, and backend selection.

delete_api

delete_api(request: Optional[Union[google.cloud.apigateway_v1.types.apigateway.DeleteApiRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Deletes a single Api.

Parameters
NameDescription
request Union[google.cloud.apigateway_v1.types.DeleteApiRequest, dict]

The request object. Request message for ApiGatewayService.DeleteApi

name str

Required. Resource name of the form: projects/*/locations/global/apis/* This corresponds to the name field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.api_core.operation.OperationAn object representing a long-running operation. The result type for the operation will be `google.protobuf.empty_pb2.Empty` A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for Empty is empty JSON object {}.

delete_api_config

delete_api_config(request: Optional[Union[google.cloud.apigateway_v1.types.apigateway.DeleteApiConfigRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Deletes a single ApiConfig.

Parameters
NameDescription
request Union[google.cloud.apigateway_v1.types.DeleteApiConfigRequest, dict]

The request object. Request message for ApiGatewayService.DeleteApiConfig

name str

Required. Resource name of the form: projects/*/locations/global/apis/*/configs/* This corresponds to the name field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.api_core.operation.OperationAn object representing a long-running operation. The result type for the operation will be `google.protobuf.empty_pb2.Empty` A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for Empty is empty JSON object {}.

delete_gateway

delete_gateway(request: Optional[Union[google.cloud.apigateway_v1.types.apigateway.DeleteGatewayRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Deletes a single Gateway.

Parameters
NameDescription
request Union[google.cloud.apigateway_v1.types.DeleteGatewayRequest, dict]

The request object. Request message for ApiGatewayService.DeleteGateway

name str

Required. Resource name of the form: projects/*/locations/*/gateways/* This corresponds to the name field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.api_core.operation.OperationAn object representing a long-running operation. The result type for the operation will be `google.protobuf.empty_pb2.Empty` A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for Empty is empty JSON object {}.

from_service_account_file

from_service_account_file(filename: str, *args, **kwargs)

Creates an instance of this client using the provided credentials file.

Parameters
NameDescription
filename str

The path to the service account private key json file.

args

Additional arguments to pass to the constructor.

kwargs

Additional arguments to pass to the constructor.

Returns
TypeDescription
ApiGatewayServiceClientThe constructed client.

from_service_account_info

from_service_account_info(info: dict, *args, **kwargs)

Creates an instance of this client using the provided credentials info.

Parameters
NameDescription
info dict

The service account private key info.

args

Additional arguments to pass to the constructor.

kwargs

Additional arguments to pass to the constructor.

Returns
TypeDescription
ApiGatewayServiceClientThe constructed client.

from_service_account_json

from_service_account_json(filename: str, *args, **kwargs)

Creates an instance of this client using the provided credentials file.

Parameters
NameDescription
filename str

The path to the service account private key json file.

args

Additional arguments to pass to the constructor.

kwargs

Additional arguments to pass to the constructor.

Returns
TypeDescription
ApiGatewayServiceClientThe constructed client.

gateway_path

gateway_path(project: str, location: str, gateway: str)

Returns a fully-qualified gateway string.

Parameters
NameDescription
project str
location str
gateway str

get_api

get_api(request: Optional[Union[google.cloud.apigateway_v1.types.apigateway.GetApiRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Gets details of a single Api.

Parameters
NameDescription
request Union[google.cloud.apigateway_v1.types.GetApiRequest, dict]

The request object. Request message for ApiGatewayService.GetApi

name str

Required. Resource name of the form: projects/*/locations/global/apis/* This corresponds to the name field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.apigateway_v1.types.ApiAn API that can be served by one or more Gateways.

get_api_config

get_api_config(request: Optional[Union[google.cloud.apigateway_v1.types.apigateway.GetApiConfigRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Gets details of a single ApiConfig.

Parameters
NameDescription
request Union[google.cloud.apigateway_v1.types.GetApiConfigRequest, dict]

The request object. Request message for ApiGatewayService.GetApiConfig

name str

Required. Resource name of the form: projects/*/locations/global/apis/*/configs/* This corresponds to the name field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.apigateway_v1.types.ApiConfigAn API Configuration is a combination of settings for both the Managed Service and Gateways serving this API Config.

get_gateway

get_gateway(request: Optional[Union[google.cloud.apigateway_v1.types.apigateway.GetGatewayRequest, dict]] = None, *, name: Optional[str] = None, retry: Union[google.api_core.retry.Retry, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Gets details of a single Gateway.

Parameters
NameDescription
request Union[google.cloud.apigateway_v1.types.GetGatewayRequest, dict]

The request object. Request message for ApiGatewayService.GetGateway

name str

Required. Resource name of the form: projects/*/locations/*/gateways/* This corresponds to the name field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.apigateway_v1.types.GatewayA Gateway is an API-aware HTTP proxy. It performs API-Method and/or API- Consumer specific actions based on an API Config such as authentication, policy enforcement, and backend selection.

list_api_configs

list_api_configs(request: Optional[Union[google.cloud.apigateway_v1.types.apigateway.ListApiConfigsRequest, dict]] = None, *, parent: Optional[str] = None, retry: Union[google.api_core.retry.Retry, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Lists ApiConfigs in a given project and location.

Parameters
NameDescription
request Union[google.cloud.apigateway_v1.types.ListApiConfigsRequest, dict]

The request object. Request message for ApiGatewayService.ListApiConfigs

parent str

Required. Parent resource of the API Config, of the form: projects/*/locations/global/apis/* This corresponds to the parent field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.apigateway_v1.services.api_gateway_service.pagers.ListApiConfigsPagerResponse message for ApiGatewayService.ListApiConfigs Iterating over this object will yield results and resolve additional pages automatically.

list_apis

list_apis(request: Optional[Union[google.cloud.apigateway_v1.types.apigateway.ListApisRequest, dict]] = None, *, parent: Optional[str] = None, retry: Union[google.api_core.retry.Retry, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Lists Apis in a given project and location.

Parameters
NameDescription
request Union[google.cloud.apigateway_v1.types.ListApisRequest, dict]

The request object. Request message for ApiGatewayService.ListApis

parent str

Required. Parent resource of the API, of the form: projects/*/locations/global This corresponds to the parent field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.apigateway_v1.services.api_gateway_service.pagers.ListApisPagerResponse message for ApiGatewayService.ListApis Iterating over this object will yield results and resolve additional pages automatically.

list_gateways

list_gateways(request: Optional[Union[google.cloud.apigateway_v1.types.apigateway.ListGatewaysRequest, dict]] = None, *, parent: Optional[str] = None, retry: Union[google.api_core.retry.Retry, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Lists Gateways in a given project and location.

Parameters
NameDescription
request Union[google.cloud.apigateway_v1.types.ListGatewaysRequest, dict]

The request object. Request message for ApiGatewayService.ListGateways

parent str

Required. Parent resource of the Gateway, of the form: projects/*/locations/* This corresponds to the parent field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.cloud.apigateway_v1.services.api_gateway_service.pagers.ListGatewaysPagerResponse message for ApiGatewayService.ListGateways Iterating over this object will yield results and resolve additional pages automatically.

managed_service_path

managed_service_path(service: str)

Returns a fully-qualified managed_service string.

Parameter
NameDescription
service str

parse_api_config_path

parse_api_config_path(path: str)

Parses a api_config path into its component segments.

Parameter
NameDescription
path str

parse_api_path

parse_api_path(path: str)

Parses a api path into its component segments.

Parameter
NameDescription
path str

parse_common_billing_account_path

parse_common_billing_account_path(path: str)

Parse a billing_account path into its component segments.

Parameter
NameDescription
path str

parse_common_folder_path

parse_common_folder_path(path: str)

Parse a folder path into its component segments.

Parameter
NameDescription
path str

parse_common_location_path

parse_common_location_path(path: str)

Parse a location path into its component segments.

Parameter
NameDescription
path str

parse_common_organization_path

parse_common_organization_path(path: str)

Parse a organization path into its component segments.

Parameter
NameDescription
path str

parse_common_project_path

parse_common_project_path(path: str)

Parse a project path into its component segments.

Parameter
NameDescription
path str

parse_gateway_path

parse_gateway_path(path: str)

Parses a gateway path into its component segments.

Parameter
NameDescription
path str

parse_managed_service_path

parse_managed_service_path(path: str)

Parses a managed_service path into its component segments.

Parameter
NameDescription
path str

parse_service_account_path

parse_service_account_path(path: str)

Parses a service_account path into its component segments.

Parameter
NameDescription
path str

parse_service_path

parse_service_path(path: str)

Parses a service path into its component segments.

Parameter
NameDescription
path str

service_account_path

service_account_path(project: str, service_account: str)

Returns a fully-qualified service_account string.

Parameters
NameDescription
project str
service_account str

service_path

service_path(service: str, config: str)

Returns a fully-qualified service string.

Parameters
NameDescription
service str
config str

update_api

update_api(request: Optional[Union[google.cloud.apigateway_v1.types.apigateway.UpdateApiRequest, dict]] = None, *, api: Optional[google.cloud.apigateway_v1.types.apigateway.Api] = None, update_mask: Optional[google.protobuf.field_mask_pb2.FieldMask] = None, retry: Union[google.api_core.retry.Retry, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Updates the parameters of a single Api.

Parameters
NameDescription
request Union[google.cloud.apigateway_v1.types.UpdateApiRequest, dict]

The request object. Request message for ApiGatewayService.UpdateApi

api google.cloud.apigateway_v1.types.Api

Required. API resource. This corresponds to the api field on the request instance; if request is provided, this should not be set.

update_mask google.protobuf.field_mask_pb2.FieldMask

Field mask is used to specify the fields to be overwritten in the Api resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. This corresponds to the update_mask field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.api_core.operation.OperationAn object representing a long-running operation. The result type for the operation will be Api An API that can be served by one or more Gateways.

update_api_config

update_api_config(request: Optional[Union[google.cloud.apigateway_v1.types.apigateway.UpdateApiConfigRequest, dict]] = None, *, api_config: Optional[google.cloud.apigateway_v1.types.apigateway.ApiConfig] = None, update_mask: Optional[google.protobuf.field_mask_pb2.FieldMask] = None, retry: Union[google.api_core.retry.Retry, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Updates the parameters of a single ApiConfig.

Parameters
NameDescription
request Union[google.cloud.apigateway_v1.types.UpdateApiConfigRequest, dict]

The request object. Request message for ApiGatewayService.UpdateApiConfig

api_config google.cloud.apigateway_v1.types.ApiConfig

Required. API Config resource. This corresponds to the api_config field on the request instance; if request is provided, this should not be set.

update_mask google.protobuf.field_mask_pb2.FieldMask

Field mask is used to specify the fields to be overwritten in the ApiConfig resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. This corresponds to the update_mask field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.api_core.operation.OperationAn object representing a long-running operation. The result type for the operation will be ApiConfig An API Configuration is a combination of settings for both the Managed Service and Gateways serving this API Config.

update_gateway

update_gateway(request: Optional[Union[google.cloud.apigateway_v1.types.apigateway.UpdateGatewayRequest, dict]] = None, *, gateway: Optional[google.cloud.apigateway_v1.types.apigateway.Gateway] = None, update_mask: Optional[google.protobuf.field_mask_pb2.FieldMask] = None, retry: Union[google.api_core.retry.Retry, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = ())

Updates the parameters of a single Gateway.

Parameters
NameDescription
request Union[google.cloud.apigateway_v1.types.UpdateGatewayRequest, dict]

The request object. Request message for ApiGatewayService.UpdateGateway

gateway google.cloud.apigateway_v1.types.Gateway

Required. Gateway resource. This corresponds to the gateway field on the request instance; if request is provided, this should not be set.

update_mask google.protobuf.field_mask_pb2.FieldMask

Field mask is used to specify the fields to be overwritten in the Gateway resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. This corresponds to the update_mask field on the request instance; if request is provided, this should not be set.

retry google.api_core.retry.Retry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
TypeDescription
google.api_core.operation.OperationAn object representing a long-running operation. The result type for the operation will be Gateway A Gateway is an API-aware HTTP proxy. It performs API-Method and/or API-Consumer specific actions based on an API Config such as authentication, policy enforcement, and backend selection.