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.v1beta.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.v1beta.Control] action type cannot
be changed. If the [Control][google.cloud.discoveryengine.v1beta.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-09-04 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eControlService.ControlServiceBase\u003c/code\u003e class provides the base for server-side implementations of the ControlService within the Discovery Engine v1beta API.\u003c/p\u003e\n"],["\u003cp\u003eThis class allows users to manage controls within a data store using methods such as \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.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCreateControl\u003c/code\u003e method is subject to a default limit of 1000 controls per data store and returns an error if a control already exists.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eDeleteControl\u003c/code\u003e and \u003ccode\u003eUpdateControl\u003c/code\u003e methods will return a \u003ccode\u003eNOT_FOUND\u003c/code\u003e error if the control being targeted does not exist.\u003c/p\u003e\n"],["\u003cp\u003eAll methods of the \u003ccode\u003eControlService.ControlServiceBase\u003c/code\u003e class return a task which wraps the response to be sent back to the client, with parameters including a request and a server call context.\u003c/p\u003e\n"]]],[],null,["# Discovery Engine v1beta API - Class ControlService.ControlServiceBase (1.0.0-beta19)\n\nVersion latestkeyboard_arrow_down\n\n- [1.0.0-beta19 (latest)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.ControlService.ControlServiceBase)\n- [1.0.0-beta18](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/1.0.0-beta18/Google.Cloud.DiscoveryEngine.V1Beta.ControlService.ControlServiceBase) \n\n [BindServiceMethod(typeof(ControlService), \"BindService\")]\n public abstract class ControlService.ControlServiceBase\n\nReference documentation and code samples for the Discovery Engine v1beta 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.V1Beta](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta)\n\nAssembly\n--------\n\nGoogle.Cloud.DiscoveryEngine.V1Beta.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.v1beta.Control\\] to create\nalready exists, 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.v1beta.Control\\] to delete\ndoes not 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.v1beta.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.v1beta.Control\\] action type cannot\nbe changed. If the \\[Control\\]\\[google.cloud.discoveryengine.v1beta.Control\\]\nto update does not exist, a NOT_FOUND error is returned."]]