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.
Unary RPCs, such as the one wrapped by this function, receive a single request proto message which includes all the inputs for the RPC. In this case, the proto message is a google.appengine.v1.GetApplicationRequest. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
Unary RPCs, such as the one wrapped by this function, receive a single request proto message which includes all the inputs for the RPC. In this case, the proto message is a google.appengine.v1.CreateApplicationRequest. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
A future that becomes satisfied when the LRO (Long Running Operation) completes or the polling policy in effect for this call is exhausted. The future is satisfied with an error if the LRO completes with an error or the polling policy is exhausted. In this case the StatusOr returned by the future contains the error. If the LRO completes successfully the value of the future contains the LRO's result. For this RPC the result is a google.appengine.v1.Application proto message. The C++ class representing this message is created by Protobuf, using the Protobuf mapping rules.
Unary RPCs, such as the one wrapped by this function, receive a single request proto message which includes all the inputs for the RPC. In this case, the proto message is a google.appengine.v1.UpdateApplicationRequest. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
A future that becomes satisfied when the LRO (Long Running Operation) completes or the polling policy in effect for this call is exhausted. The future is satisfied with an error if the LRO completes with an error or the polling policy is exhausted. In this case the StatusOr returned by the future contains the error. If the LRO completes successfully the value of the future contains the LRO's result. For this RPC the result is a google.appengine.v1.Application proto message. The C++ class representing this message is created by Protobuf, using the Protobuf mapping rules.
Recreates the required App Engine features for the specified App Engine application, for example a Cloud Storage bucket or App Engine service account.
Use this method if you receive an error message about a missing feature, for example, Error retrieving the App Engine service account. If you have deleted your App Engine service account, this will not be able to recreate it. Instead, you should attempt to use the IAM undelete API if possible at https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/undelete?apix_params=%7B"name"%3A"projects%2F-%2FserviceAccounts%2Funique_id"%2C"resource"%3A%7B%7D%7D . If the deletion was recent, the numeric ID can be found in the Cloud Console Activity Log.
Unary RPCs, such as the one wrapped by this function, receive a single request proto message which includes all the inputs for the RPC. In this case, the proto message is a google.appengine.v1.RepairApplicationRequest. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
A future that becomes satisfied when the LRO (Long Running Operation) completes or the polling policy in effect for this call is exhausted. The future is satisfied with an error if the LRO completes with an error or the polling policy is exhausted. In this case the StatusOr returned by the future contains the error. If the LRO completes successfully the value of the future contains the LRO's result. For this RPC the result is a google.appengine.v1.Application proto message. The C++ class representing this message is created by Protobuf, using the Protobuf mapping rules.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[[["\u003cp\u003eThis page provides documentation for the \u003ccode\u003eApplicationsClient\u003c/code\u003e class, which manages App Engine applications and is part of version 2.21.0 of the Google Cloud C++ client library, with links to documentation for other versions as well.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eApplicationsClient\u003c/code\u003e class supports copy and move operations, ensuring efficient resource management by allowing copies to share underlying resources.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation outlines the use of various constructors and operators for \u003ccode\u003eApplicationsClient\u003c/code\u003e, including details on parameter types and descriptions, as well as copy and move support.\u003c/p\u003e\n"],["\u003cp\u003eKey functions such as \u003ccode\u003eGetApplication\u003c/code\u003e, \u003ccode\u003eCreateApplication\u003c/code\u003e, \u003ccode\u003eUpdateApplication\u003c/code\u003e, and \u003ccode\u003eRepairApplication\u003c/code\u003e are detailed, including parameters, descriptions, and the expected return types for managing App Engine applications.\u003c/p\u003e\n"],["\u003cp\u003eThis class supports concurrent access to different instances but does not guarantee thread safety for multiple threads operating on the same instance, recommending the use of copy-construction for multi-threaded applications.\u003c/p\u003e\n"]]],[],null,["# Class ApplicationsClient (2.21.0)\n\nVersion 2.21.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/appengine/latest/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.41.0](/cpp/docs/reference/appengine/2.41.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.40.0](/cpp/docs/reference/appengine/2.40.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.39.0](/cpp/docs/reference/appengine/2.39.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.38.0](/cpp/docs/reference/appengine/2.38.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.37.0](/cpp/docs/reference/appengine/2.37.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.36.0](/cpp/docs/reference/appengine/2.36.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.35.0](/cpp/docs/reference/appengine/2.35.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.34.0](/cpp/docs/reference/appengine/2.34.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.33.0](/cpp/docs/reference/appengine/2.33.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.32.0](/cpp/docs/reference/appengine/2.32.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.31.0](/cpp/docs/reference/appengine/2.31.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.30.0](/cpp/docs/reference/appengine/2.30.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.29.0](/cpp/docs/reference/appengine/2.29.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.28.0](/cpp/docs/reference/appengine/2.28.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.27.0](/cpp/docs/reference/appengine/2.27.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.26.0](/cpp/docs/reference/appengine/2.26.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.25.1](/cpp/docs/reference/appengine/2.25.1/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.24.0](/cpp/docs/reference/appengine/2.24.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.23.0](/cpp/docs/reference/appengine/2.23.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.22.1](/cpp/docs/reference/appengine/2.22.1/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.21.0](/cpp/docs/reference/appengine/2.21.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.20.0](/cpp/docs/reference/appengine/2.20.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.19.0](/cpp/docs/reference/appengine/2.19.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.18.0](/cpp/docs/reference/appengine/2.18.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.17.0](/cpp/docs/reference/appengine/2.17.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.16.0](/cpp/docs/reference/appengine/2.16.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.15.1](/cpp/docs/reference/appengine/2.15.1/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.14.0](/cpp/docs/reference/appengine/2.14.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.13.0](/cpp/docs/reference/appengine/2.13.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.12.0](/cpp/docs/reference/appengine/2.12.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient)\n- [2.11.0](/cpp/docs/reference/appengine/2.11.0/classgoogle_1_1cloud_1_1appengine__v1_1_1ApplicationsClient) \nManages App Engine applications. \n\n###### Equality\n\nInstances of this class created via copy-construction or copy-assignment always compare equal. Instances created with equal `std::shared_ptr\u003c*Connection\u003e` objects compare equal. Objects that compare equal share the same underlying resources.\n\n###### Performance\n\nCreating 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.\n\n###### Thread Safety\n\nConcurrent 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.\n\nConstructors\n------------\n\n### ApplicationsClient(ApplicationsClient const \\&)\n\nCopy and move support\n\n### ApplicationsClient(ApplicationsClient \\&\\&)\n\nCopy and move support\n\n### ApplicationsClient(std::shared_ptr\\\u003c ApplicationsConnection \\\u003e, Options)\n\nOperators\n---------\n\n### operator=(ApplicationsClient const \\&)\n\nCopy and move support\n\n### operator=(ApplicationsClient \\&\\&)\n\nCopy and move support\n\nFunctions\n---------\n\n### GetApplication(std::string const \\&, Options)\n\nGets information about an application.\n\n### GetApplication(google::appengine::v1::GetApplicationRequest const \\&, Options)\n\nGets information about an application.\n\n### CreateApplication(google::appengine::v1::CreateApplicationRequest const \\&, Options)\n\nCreates an App Engine application for a Google Cloud Platform project. \nRequired fields:\n\n- `id` - The ID of the target Cloud Platform project.\n- *location* - The [region](https://cloud.google.com/appengine/docs/locations) where you want the App Engine application located.\n\nFor more information about App Engine applications, see [Managing Projects, Applications, and Billing](https://cloud.google.com/appengine/docs/standard/python/console/).\n\n### UpdateApplication(google::appengine::v1::UpdateApplicationRequest const \\&, Options)\n\nUpdates the specified Application resource. \nYou can update the following fields:\n\n- `auth_domain` - Google authentication domain for controlling user access to the application.\n- `default_cookie_expiration` - Cookie expiration policy for the application.\n- `iap` - Identity-Aware Proxy properties for the application.\n\n### RepairApplication(google::appengine::v1::RepairApplicationRequest const \\&, Options)\n\nRecreates the required App Engine features for the specified App Engine application, for example a Cloud Storage bucket or App Engine service account. \nUse this method if you receive an error message about a missing feature, for example, *Error retrieving the App Engine service account* . If you have deleted your App Engine service account, this will not be able to recreate it. Instead, you should attempt to use the IAM undelete API if possible at \u003chttps://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/undelete?apix_params=%7B\u003e\"name\"%3A\"projects%2F-%2FserviceAccounts%2Funique_id\"%2C\"resource\"%3A%7B%7D%7D . If the deletion was recent, the numeric ID can be found in the Cloud Console Activity Log."]]