The Cloud Domains API enables management and configuration of domain names.
Equality
Instances of this class created via copy-construction or copy-assignment always compare equal. Instances created with equal std::shared_ptr<*Connection>
objects compare equal. Objects that compare equal share the same underlying resources.
Performance
Creating a new instance of this class is a relatively expensive operation, new objects establish new connections to the service. In contrast, copy-construction, move-construction, and the corresponding assignment operations are relatively efficient as the copies share all underlying resources.
Thread Safety
Concurrent access to different instances of this class, even if they compare equal, is guaranteed to work. Two or more threads operating on the same instance of this class is not guaranteed to work. Since copy-construction and move-construction is a relatively efficient operation, consider using such a copy when using this class from multiple threads.
Constructors
DomainsClient(DomainsClient const &)
Copy and move support
Parameter | |
---|---|
Name | Description |
|
DomainsClient const &
|
DomainsClient(DomainsClient &&)
Copy and move support
Parameter | |
---|---|
Name | Description |
|
DomainsClient &&
|
DomainsClient(std::shared_ptr< DomainsConnection >, Options)
Parameters | |
---|---|
Name | Description |
connection |
std::shared_ptr< DomainsConnection >
|
opts |
Options
|
Operators
operator=(DomainsClient const &)
Copy and move support
Parameter | |
---|---|
Name | Description |
|
DomainsClient const &
|
Returns | |
---|---|
Type | Description |
DomainsClient & |
operator=(DomainsClient &&)
Copy and move support
Parameter | |
---|---|
Name | Description |
|
DomainsClient &&
|
Returns | |
---|---|
Type | Description |
DomainsClient & |
Functions
SearchDomains(std::string const &, std::string const &, Options)
Searches for available domain names similar to the provided query.
Availability results from this method are approximate; call RetrieveRegisterParameters
on a domain before registering to confirm availability.
Parameters | |
---|---|
Name | Description |
location |
std::string const &
Required. The location. Must be in the format |
query |
std::string const &
Required. String used to search for available domain names. |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StatusOr< google::cloud::domains::v1::SearchDomainsResponse > | the result of the RPC. The response message type (google.cloud.domains.v1.SearchDomainsResponse) is mapped to a C++ class using the Protobuf mapping rules. If the request fails, the |
SearchDomains(google::cloud::domains::v1::SearchDomainsRequest const &, Options)
Searches for available domain names similar to the provided query.
Availability results from this method are approximate; call RetrieveRegisterParameters
on a domain before registering to confirm availability.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::domains::v1::SearchDomainsRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StatusOr< google::cloud::domains::v1::SearchDomainsResponse > | the result of the RPC. The response message type (google.cloud.domains.v1.SearchDomainsResponse) is mapped to a C++ class using the Protobuf mapping rules. If the request fails, the |
RetrieveRegisterParameters(std::string const &, std::string const &, Options)
Gets parameters needed to register a new domain name, including price and up-to-date availability.
Use the returned values to call RegisterDomain
.
Parameters | |
---|---|
Name | Description |
location |
std::string const &
Required. The location. Must be in the format |
domain_name |
std::string const &
Required. The domain name. Unicode domain names must be expressed in Punycode format. |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StatusOr< google::cloud::domains::v1::RetrieveRegisterParametersResponse > | the result of the RPC. The response message type (google.cloud.domains.v1.RetrieveRegisterParametersResponse) is mapped to a C++ class using the Protobuf mapping rules. If the request fails, the |
RetrieveRegisterParameters(google::cloud::domains::v1::RetrieveRegisterParametersRequest const &, Options)
Gets parameters needed to register a new domain name, including price and up-to-date availability.
Use the returned values to call RegisterDomain
.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::domains::v1::RetrieveRegisterParametersRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StatusOr< google::cloud::domains::v1::RetrieveRegisterParametersResponse > | the result of the RPC. The response message type (google.cloud.domains.v1.RetrieveRegisterParametersResponse) is mapped to a C++ class using the Protobuf mapping rules. If the request fails, the |
RegisterDomain(std::string const &, google::cloud::domains::v1::Registration const &, google::type::Money const &, Options)
Registers a new domain name and creates a corresponding Registration
resource.
Call RetrieveRegisterParameters
first to check availability of the domain name and determine parameters like price that are needed to build a call to this method.
A successful call creates a Registration
resource in state REGISTRATION_PENDING
, which resolves to ACTIVE
within 1-2 minutes, indicating that the domain was successfully registered. If the resource ends up in state REGISTRATION_FAILED
, it indicates that the domain was not registered successfully, and you can safely delete the resource and retry registration.
Parameters | |
---|---|
Name | Description |
parent |
std::string const &
Required. The parent resource of the |
registration |
google::cloud::domains::v1::Registration const &
Required. The complete |
yearly_price |
google::type::Money const &
Required. Yearly price to register or renew the domain. The value that should be put here can be obtained from RetrieveRegisterParameters or SearchDomains calls. |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::domains::v1::Registration > > | A |
RegisterDomain(google::cloud::domains::v1::RegisterDomainRequest const &, Options)
Registers a new domain name and creates a corresponding Registration
resource.
Call RetrieveRegisterParameters
first to check availability of the domain name and determine parameters like price that are needed to build a call to this method.
A successful call creates a Registration
resource in state REGISTRATION_PENDING
, which resolves to ACTIVE
within 1-2 minutes, indicating that the domain was successfully registered. If the resource ends up in state REGISTRATION_FAILED
, it indicates that the domain was not registered successfully, and you can safely delete the resource and retry registration.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::domains::v1::RegisterDomainRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::domains::v1::Registration > > | A |
RetrieveTransferParameters(std::string const &, std::string const &, Options)
Gets parameters needed to transfer a domain name from another registrar to Cloud Domains.
For domains managed by Google Domains, transferring to Cloud Domains is not supported.
Use the returned values to call TransferDomain
.
Parameters | |
---|---|
Name | Description |
location |
std::string const &
Required. The location. Must be in the format |
domain_name |
std::string const &
Required. The domain name. Unicode domain names must be expressed in Punycode format. |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StatusOr< google::cloud::domains::v1::RetrieveTransferParametersResponse > | the result of the RPC. The response message type (google.cloud.domains.v1.RetrieveTransferParametersResponse) is mapped to a C++ class using the Protobuf mapping rules. If the request fails, the |
RetrieveTransferParameters(google::cloud::domains::v1::RetrieveTransferParametersRequest const &, Options)
Gets parameters needed to transfer a domain name from another registrar to Cloud Domains.
For domains managed by Google Domains, transferring to Cloud Domains is not supported.
Use the returned values to call TransferDomain
.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::domains::v1::RetrieveTransferParametersRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StatusOr< google::cloud::domains::v1::RetrieveTransferParametersResponse > | the result of the RPC. The response message type (google.cloud.domains.v1.RetrieveTransferParametersResponse) is mapped to a C++ class using the Protobuf mapping rules. If the request fails, the |
TransferDomain(std::string const &, google::cloud::domains::v1::Registration const &, google::type::Money const &, google::cloud::domains::v1::AuthorizationCode const &, Options)
Transfers a domain name from another registrar to Cloud Domains.
For domains managed by Google Domains, transferring to Cloud Domains is not supported.
Before calling this method, go to the domain's current registrar to unlock the domain for transfer and retrieve the domain's transfer authorization code. Then call RetrieveTransferParameters
to confirm that the domain is unlocked and to get values needed to build a call to this method.
A successful call creates a Registration
resource in state TRANSFER_PENDING
. It can take several days to complete the transfer process. The registrant can often speed up this process by approving the transfer through the current registrar, either by clicking a link in an email from the registrar or by visiting the registrar's website.
A few minutes after transfer approval, the resource transitions to state ACTIVE
, indicating that the transfer was successful. If the transfer is rejected or the request expires without being approved, the resource can end up in state TRANSFER_FAILED
. If transfer fails, you can safely delete the resource and retry the transfer.
Parameters | |
---|---|
Name | Description |
parent |
std::string const &
Required. The parent resource of the |
registration |
google::cloud::domains::v1::Registration const &
Required. The complete |
yearly_price |
google::type::Money const &
Required. Acknowledgement of the price to transfer or renew the domain for one year. Call |
authorization_code |
google::cloud::domains::v1::AuthorizationCode const &
The domain's transfer authorization code. You can obtain this from the domain's current registrar. |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::domains::v1::Registration > > | A |
TransferDomain(google::cloud::domains::v1::TransferDomainRequest const &, Options)
Transfers a domain name from another registrar to Cloud Domains.
For domains managed by Google Domains, transferring to Cloud Domains is not supported.
Before calling this method, go to the domain's current registrar to unlock the domain for transfer and retrieve the domain's transfer authorization code. Then call RetrieveTransferParameters
to confirm that the domain is unlocked and to get values needed to build a call to this method.
A successful call creates a Registration
resource in state TRANSFER_PENDING
. It can take several days to complete the transfer process. The registrant can often speed up this process by approving the transfer through the current registrar, either by clicking a link in an email from the registrar or by visiting the registrar's website.
A few minutes after transfer approval, the resource transitions to state ACTIVE
, indicating that the transfer was successful. If the transfer is rejected or the request expires without being approved, the resource can end up in state TRANSFER_FAILED
. If transfer fails, you can safely delete the resource and retry the transfer.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::domains::v1::TransferDomainRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::domains::v1::Registration > > | A |
ListRegistrations(std::string const &, Options)
Lists the Registration
resources in a project.
Parameters | |
---|---|
Name | Description |
parent |
std::string const &
Required. The project and location from which to list |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StreamRange< google::cloud::domains::v1::Registration > | a StreamRange to iterate of the results. See the documentation of this type for details. In brief, this class has |
ListRegistrations(google::cloud::domains::v1::ListRegistrationsRequest, Options)
Lists the Registration
resources in a project.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::domains::v1::ListRegistrationsRequest
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StreamRange< google::cloud::domains::v1::Registration > | a StreamRange to iterate of the results. See the documentation of this type for details. In brief, this class has |
GetRegistration(std::string const &, Options)
Gets the details of a Registration
resource.
Parameters | |
---|---|
Name | Description |
name |
std::string const &
Required. The name of the |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StatusOr< google::cloud::domains::v1::Registration > | the result of the RPC. The response message type (google.cloud.domains.v1.Registration) is mapped to a C++ class using the Protobuf mapping rules. If the request fails, the |
GetRegistration(google::cloud::domains::v1::GetRegistrationRequest const &, Options)
Gets the details of a Registration
resource.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::domains::v1::GetRegistrationRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StatusOr< google::cloud::domains::v1::Registration > | the result of the RPC. The response message type (google.cloud.domains.v1.Registration) is mapped to a C++ class using the Protobuf mapping rules. If the request fails, the |
UpdateRegistration(google::cloud::domains::v1::Registration const &, google::protobuf::FieldMask const &, Options)
Updates select fields of a Registration
resource, notably labels
.
To update other fields, use the appropriate custom update method:
- To update management settings, see
ConfigureManagementSettings
- To update DNS configuration, see
ConfigureDnsSettings
- To update contact information, see
ConfigureContactSettings
Parameters | |
---|---|
Name | Description |
registration |
google::cloud::domains::v1::Registration const &
Fields of the |
update_mask |
google::protobuf::FieldMask const &
Required. The field mask describing which fields to update as a comma-separated list. For example, if only the labels are being updated, the |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::domains::v1::Registration > > | A |
UpdateRegistration(google::cloud::domains::v1::UpdateRegistrationRequest const &, Options)
Updates select fields of a Registration
resource, notably labels
.
To update other fields, use the appropriate custom update method:
- To update management settings, see
ConfigureManagementSettings
- To update DNS configuration, see
ConfigureDnsSettings
- To update contact information, see
ConfigureContactSettings
Parameters | |
---|---|
Name | Description |
request |
google::cloud::domains::v1::UpdateRegistrationRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::domains::v1::Registration > > | A |
ConfigureManagementSettings(std::string const &, google::cloud::domains::v1::ManagementSettings const &, google::protobuf::FieldMask const &, Options)
Updates a Registration
's management settings.
Parameters | |
---|---|
Name | Description |
registration |
std::string const &
Required. The name of the |
management_settings |
google::cloud::domains::v1::ManagementSettings const &
Fields of the |
update_mask |
google::protobuf::FieldMask const &
Required. The field mask describing which fields to update as a comma-separated list. For example, if only the transfer lock is being updated, the |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::domains::v1::Registration > > | A |
ConfigureManagementSettings(google::cloud::domains::v1::ConfigureManagementSettingsRequest const &, Options)
Updates a Registration
's management settings.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::domains::v1::ConfigureManagementSettingsRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::domains::v1::Registration > > | A |
ConfigureDnsSettings(std::string const &, google::cloud::domains::v1::DnsSettings const &, google::protobuf::FieldMask const &, Options)
Updates a Registration
's DNS settings.
Parameters | |
---|---|
Name | Description |
registration |
std::string const &
Required. The name of the |
dns_settings |
google::cloud::domains::v1::DnsSettings const &
Fields of the |
update_mask |
google::protobuf::FieldMask const &
Required. The field mask describing which fields to update as a comma-separated list. For example, if only the name servers are being updated for an existing Custom DNS configuration, the |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::domains::v1::Registration > > | A |
ConfigureDnsSettings(google::cloud::domains::v1::ConfigureDnsSettingsRequest const &, Options)
Updates a Registration
's DNS settings.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::domains::v1::ConfigureDnsSettingsRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::domains::v1::Registration > > | A |
ConfigureContactSettings(std::string const &, google::cloud::domains::v1::ContactSettings const &, google::protobuf::FieldMask const &, Options)
Updates a Registration
's contact settings.
Some changes require confirmation by the domain's registrant contact .
Parameters | |
---|---|
Name | Description |
registration |
std::string const &
Required. The name of the |
contact_settings |
google::cloud::domains::v1::ContactSettings const &
Fields of the |
update_mask |
google::protobuf::FieldMask const &
Required. The field mask describing which fields to update as a comma-separated list. For example, if only the registrant contact is being updated, the |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::domains::v1::Registration > > | A |
ConfigureContactSettings(google::cloud::domains::v1::ConfigureContactSettingsRequest const &, Options)
Updates a Registration
's contact settings.
Some changes require confirmation by the domain's registrant contact .
Parameters | |
---|---|
Name | Description |
request |
google::cloud::domains::v1::ConfigureContactSettingsRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::domains::v1::Registration > > | A |
ExportRegistration(std::string const &, Options)
Exports a Registration
resource, such that it is no longer managed by Cloud Domains.
When an active domain is successfully exported, you can continue to use the domain in Google Domains until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains.
Parameters | |
---|---|
Name | Description |
name |
std::string const &
Required. The name of the |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::domains::v1::Registration > > | A |
ExportRegistration(google::cloud::domains::v1::ExportRegistrationRequest const &, Options)
Exports a Registration
resource, such that it is no longer managed by Cloud Domains.
When an active domain is successfully exported, you can continue to use the domain in Google Domains until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::domains::v1::ExportRegistrationRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::domains::v1::Registration > > | A |
DeleteRegistration(std::string const &, Options)
Deletes a Registration
resource.
This method works on any Registration
resource using Subscription or Commitment billing, provided that the resource was created at least 1 day in the past.
For Registration
resources using Monthly billing, this method works if:
state
isEXPORTED
withexpire_time
in the paststate
isREGISTRATION_FAILED
state
isTRANSFER_FAILED
When an active registration is successfully deleted, you can continue to use the domain in Google Domains until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains.
Parameters | |
---|---|
Name | Description |
name |
std::string const &
Required. The name of the |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::domains::v1::OperationMetadata > > | A |
DeleteRegistration(google::cloud::domains::v1::DeleteRegistrationRequest const &, Options)
Deletes a Registration
resource.
This method works on any Registration
resource using Subscription or Commitment billing, provided that the resource was created at least 1 day in the past.
For Registration
resources using Monthly billing, this method works if:
state
isEXPORTED
withexpire_time
in the paststate
isREGISTRATION_FAILED
state
isTRANSFER_FAILED
When an active registration is successfully deleted, you can continue to use the domain in Google Domains until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::domains::v1::DeleteRegistrationRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
future< StatusOr< google::cloud::domains::v1::OperationMetadata > > | A |
RetrieveAuthorizationCode(std::string const &, Options)
Gets the authorization code of the Registration
for the purpose of transferring the domain to another registrar.
You can call this method only after 60 days have elapsed since the initial domain registration.
Parameters | |
---|---|
Name | Description |
registration |
std::string const &
Required. The name of the |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StatusOr< google::cloud::domains::v1::AuthorizationCode > | the result of the RPC. The response message type (google.cloud.domains.v1.AuthorizationCode) is mapped to a C++ class using the Protobuf mapping rules. If the request fails, the |
RetrieveAuthorizationCode(google::cloud::domains::v1::RetrieveAuthorizationCodeRequest const &, Options)
Gets the authorization code of the Registration
for the purpose of transferring the domain to another registrar.
You can call this method only after 60 days have elapsed since the initial domain registration.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::domains::v1::RetrieveAuthorizationCodeRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StatusOr< google::cloud::domains::v1::AuthorizationCode > | the result of the RPC. The response message type (google.cloud.domains.v1.AuthorizationCode) is mapped to a C++ class using the Protobuf mapping rules. If the request fails, the |
ResetAuthorizationCode(std::string const &, Options)
Resets the authorization code of the Registration
to a new random string.
You can call this method only after 60 days have elapsed since the initial domain registration.
Parameters | |
---|---|
Name | Description |
registration |
std::string const &
Required. The name of the |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StatusOr< google::cloud::domains::v1::AuthorizationCode > | the result of the RPC. The response message type (google.cloud.domains.v1.AuthorizationCode) is mapped to a C++ class using the Protobuf mapping rules. If the request fails, the |
ResetAuthorizationCode(google::cloud::domains::v1::ResetAuthorizationCodeRequest const &, Options)
Resets the authorization code of the Registration
to a new random string.
You can call this method only after 60 days have elapsed since the initial domain registration.
Parameters | |
---|---|
Name | Description |
request |
google::cloud::domains::v1::ResetAuthorizationCodeRequest const &
Unary RPCs, such as the one wrapped by this function, receive a single |
opts |
Options
Optional. Override the class-level options, such as retry and backoff policies. |
Returns | |
---|---|
Type | Description |
StatusOr< google::cloud::domains::v1::AuthorizationCode > | the result of the RPC. The response message type (google.cloud.domains.v1.AuthorizationCode) is mapped to a C++ class using the Protobuf mapping rules. If the request fails, the |