Client to bundle configuration needed for API requests.
Parameters
project(str) – the project which the client acts on behalf of. Will be
passed when creating a zone. If not passed,
falls back to the default inferred from the environment.
credentials(Credentials) – (Optional) The OAuth2 Credentials to use for this
client. If not passed (and if no_httpobject is
passed), falls back to the default inferred from the
environment.
_http(Session) – (Optional) HTTP object to make requests. Can be any object
that definesrequest()with the same interface asrequests.Session.request(). If not passed, an_httpobject is created that is bound to thecredentialsfor the current object.
This parameter should be considered private, and could
change in the future.
client_info(ClientInfo) – The client info used to send a user-agent string along with API
requests. IfNone, then default info will be used. Generally,
you only need to set this if you’re developing your own library
or partner tool.
client_options(ClientOptionsordict) – (Optional) Client options used to set user options
on the client. API Endpoint should be set through client_options.
max_results(int) – maximum number of zones to return, If not
passed, defaults to a value set by the API.
page_token(str) – Optional. If present, return the next batch of
zones, using the value, which must correspond to thenextPageTokenvalue returned in the previous response.
Deprecated: use thepagesproperty of the returned iterator
instead of manually passing the token.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["Version latestkeyboard_arrow_down\n\n- [0.35.1 (latest)](/python/docs/reference/dns/latest/client)\n- [0.35.0](/python/docs/reference/dns/0.35.0/client)\n- [0.34.2](/python/docs/reference/dns/0.34.2/client)\n- [0.33.1](/python/docs/reference/dns/0.33.1/client)\n- [0.32.3](/python/docs/reference/dns/0.32.3/client)\n- [0.31.0](/python/docs/reference/dns/0.31.0/client)\n- [0.30.2](/python/docs/reference/dns/0.30.2/client) \n\nDNS Client\n==========\n\nClient for interacting with the Google Cloud DNS API.\n\n### *class* google.cloud.dns.client.Client(project=None, credentials=None, _http=None, client_info=None, client_options=None)\n\nBases: `google.cloud.client.ClientWithProject`\n\nClient to bundle configuration needed for API requests.\n\n- **Parameters**\n\n - **project** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) -- the project which the client acts on behalf of. Will be\n passed when creating a zone. If not passed,\n falls back to the default inferred from the environment.\n\n - **credentials** ([`Credentials`](https://googleapis.dev/python/google-auth/latest/reference/google.auth.credentials.html#google.auth.credentials.Credentials)) -- (Optional) The OAuth2 Credentials to use for this\n client. If not passed (and if no `_http` object is\n passed), falls back to the default inferred from the\n environment.\n\n - **_http** (`Session`) -- (Optional) HTTP object to make requests. Can be any object\n that defines `request()` with the same interface as\n `requests.Session.request()`. If not passed, an\n `_http` object is created that is bound to the\n `credentials` for the current object.\n This parameter should be considered private, and could\n change in the future.\n\n - **client_info** ([`ClientInfo`](https://googleapis.dev/python/google-api-core/latest/client_info.html#google.api_core.client_info.ClientInfo)) -- The client info used to send a user-agent string along with API\n requests. If `None`, then default info will be used. Generally,\n you only need to set this if you're developing your own library\n or partner tool.\n\n - **client_options** ([`ClientOptions`](https://googleapis.dev/python/google-api-core/latest/client_options.html#google.api_core.client_options.ClientOptions)\n or [`dict`](https://docs.python.org/3/library/stdtypes.html#dict)) -- (Optional) Client options used to set user options\n on the client. API Endpoint should be set through client_options.\n\n#### SCOPE(*: Union\\[Tuple\\[[str](https://docs.python.org/3/library/stdtypes.html#str), ...\\], [None](https://docs.python.org/3/library/constants.html#None)* *= ('\u003chttps://www.googleapis.com/auth/ndev.clouddns.readwrite\u003e',* )\n\nThe scopes required for authenticating as a Cloud DNS consumer.\n\n#### list_zones(max_results=None, page_token=None)\n\nList zones for the project associated with this client.\n\nSee\n\u003chttps://cloud.google.com/dns/api/v1/managedZones/list\u003e\n\n- **Parameters**\n\n - **max_results** ([*int*](https://docs.python.org/3/library/functions.html#int)) -- maximum number of zones to return, If not\n passed, defaults to a value set by the API.\n\n - **page_token** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) -- Optional. If present, return the next batch of\n zones, using the value, which must correspond to the\n `nextPageToken` value returned in the previous response.\n Deprecated: use the `pages` property of the returned iterator\n instead of manually passing the token.\n\n- **Return type**\n\n [`Iterator`](https://googleapis.dev/python/google-api-core/latest/page_iterator.html#google.api_core.page_iterator.Iterator)\n- **Returns**\n\n Iterator of [`ManagedZone`](/python/docs/reference/dns/latest/zone#google.cloud.dns.zone.ManagedZone)\n belonging to this project.\n\n#### quotas()\n\nReturn DNS quotas for the project associated with this client.\n\nSee\n\u003chttps://cloud.google.com/dns/api/v1/projects/get\u003e\n\n- **Return type**\n\n mapping\n- **Returns**\n\n keys for the mapping correspond to those of the `quota`\n sub-mapping of the project resource. `kind` is stripped\n from the results.\n\n#### zone(name, dns_name=None, description=None)\n\nConstruct a zone bound to this client.\n\n- **Parameters**\n\n - **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) -- Name of the zone.\n\n - **dns_name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) -- (Optional) DNS name of the zone. If not passed, then calls to\n `zone.create()` will fail.\n\n - **description** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) -- (Optional) the description for the zone. If not passed, defaults\n to the value of 'dns_name'.\n\n- **Return type**\n\n [`google.cloud.dns.zone.ManagedZone`](/python/docs/reference/dns/latest/zone#google.cloud.dns.zone.ManagedZone)\n- **Returns**\n\n a new `ManagedZone` instance."]]