public virtual Task<Control> CreateControl(CreateControlRequest request, ServerCallContext context)
Creates a Control.
By default 1000 controls are allowed for a data store.
A request can be submitted to adjust this limit.
If the [Control][google.cloud.discoveryengine.v1.Control] to create already
exists, an ALREADY_EXISTS error is returned.
public virtual Task<Control> UpdateControl(UpdateControlRequest request, ServerCallContext context)
Updates a Control.
[Control][google.cloud.discoveryengine.v1.Control] action type cannot be
changed. If the [Control][google.cloud.discoveryengine.v1.Control] to
update does not exist, a NOT_FOUND error is returned.
[[["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."],[[["\u003cp\u003eThis documentation provides details for the \u003ccode\u003eControlService.ControlServiceBase\u003c/code\u003e class within the Google Cloud Discovery Engine v1 API, which serves as the base for server-side implementations of ControlService.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eControlService.ControlServiceBase\u003c/code\u003e class allows for the creation, deletion, retrieval, listing, and updating of \u003ccode\u003eControl\u003c/code\u003e resources, which are used within the Google Cloud Discovery Engine.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of the \u003ccode\u003eControlService.ControlServiceBase\u003c/code\u003e class is 1.6.0, and prior versions from 1.5.0 down to 1.0.0-beta06 are also documented.\u003c/p\u003e\n"],["\u003cp\u003eThe class includes methods like \u003ccode\u003eCreateControl\u003c/code\u003e, \u003ccode\u003eDeleteControl\u003c/code\u003e, \u003ccode\u003eGetControl\u003c/code\u003e, \u003ccode\u003eListControls\u003c/code\u003e, and \u003ccode\u003eUpdateControl\u003c/code\u003e, which all take a request object and a \u003ccode\u003eServerCallContext\u003c/code\u003e as parameters, and return a task encapsulating the response.\u003c/p\u003e\n"],["\u003cp\u003eThe class inherits fundamental methods such as \u003ccode\u003eGetHashCode\u003c/code\u003e, \u003ccode\u003eGetType\u003c/code\u003e, \u003ccode\u003eMemberwiseClone\u003c/code\u003e, and \u003ccode\u003eToString\u003c/code\u003e from the base \u003ccode\u003eobject\u003c/code\u003e class.\u003c/p\u003e\n"]]],[],null,["# Discovery Engine v1 API - Class ControlService.ControlServiceBase (1.9.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.9.0 (latest)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.ControlService.ControlServiceBase)\n- [1.8.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.8.0/Google.Cloud.DiscoveryEngine.V1.ControlService.ControlServiceBase)\n- [1.7.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.7.0/Google.Cloud.DiscoveryEngine.V1.ControlService.ControlServiceBase)\n- [1.6.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.6.0/Google.Cloud.DiscoveryEngine.V1.ControlService.ControlServiceBase)\n- [1.5.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.5.0/Google.Cloud.DiscoveryEngine.V1.ControlService.ControlServiceBase)\n- [1.4.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.4.0/Google.Cloud.DiscoveryEngine.V1.ControlService.ControlServiceBase)\n- [1.3.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.3.0/Google.Cloud.DiscoveryEngine.V1.ControlService.ControlServiceBase)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.2.0/Google.Cloud.DiscoveryEngine.V1.ControlService.ControlServiceBase)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.1.0/Google.Cloud.DiscoveryEngine.V1.ControlService.ControlServiceBase)\n- [1.0.0-beta06](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.0.0-beta06/Google.Cloud.DiscoveryEngine.V1.ControlService.ControlServiceBase) \n\n [BindServiceMethod(typeof(ControlService), \"BindService\")]\n public abstract class ControlService.ControlServiceBase\n\nReference documentation and code samples for the Discovery Engine v1 API class ControlService.ControlServiceBase.\n\nBase class for server-side implementations of ControlService \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e ControlService.ControlServiceBase \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.MemberwiseClone()](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.DiscoveryEngine.V1](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.DiscoveryEngine.V1.dll\n\nMethods\n-------\n\n### CreateControl(CreateControlRequest, ServerCallContext)\n\n public virtual Task\u003cControl\u003e CreateControl(CreateControlRequest request, ServerCallContext context)\n\nCreates a Control.\n\nBy default 1000 controls are allowed for a data store.\nA request can be submitted to adjust this limit.\nIf the \\[Control\\]\\[google.cloud.discoveryengine.v1.Control\\] to create already\nexists, an ALREADY_EXISTS error is returned.\n\n### DeleteControl(DeleteControlRequest, ServerCallContext)\n\n public virtual Task\u003cEmpty\u003e DeleteControl(DeleteControlRequest request, ServerCallContext context)\n\nDeletes a Control.\n\nIf the \\[Control\\]\\[google.cloud.discoveryengine.v1.Control\\] to delete does\nnot exist, a NOT_FOUND error is returned.\n\n### GetControl(GetControlRequest, ServerCallContext)\n\n public virtual Task\u003cControl\u003e GetControl(GetControlRequest request, ServerCallContext context)\n\nGets a Control.\n\n### ListControls(ListControlsRequest, ServerCallContext)\n\n public virtual Task\u003cListControlsResponse\u003e ListControls(ListControlsRequest request, ServerCallContext context)\n\nLists all Controls by their parent\n\\[DataStore\\]\\[google.cloud.discoveryengine.v1.DataStore\\].\n\n### UpdateControl(UpdateControlRequest, ServerCallContext)\n\n public virtual Task\u003cControl\u003e UpdateControl(UpdateControlRequest request, ServerCallContext context)\n\nUpdates a Control.\n\n\\[Control\\]\\[google.cloud.discoveryengine.v1.Control\\] action type cannot be\nchanged. If the \\[Control\\]\\[google.cloud.discoveryengine.v1.Control\\] to\nupdate does not exist, a NOT_FOUND error is returned."]]