- [Resource: Control](https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.dataStores.controls#Control)
  - [JSON representation](https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.dataStores.controls#Control.SCHEMA_REPRESENTATION)
- [Methods](https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.dataStores.controls#METHODS_SUMMARY)

## Resource: Control

Defines a conditioned behavior to employ during serving. Must be attached to a `https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.dataStores.servingConfigs#ServingConfig` to be considered at serving time. Permitted actions dependent on `SolutionType`.

| JSON representation |
|---|
| ``` { "name": string, "displayName": string, "associatedServingConfigIds": [ string ], "solutionType": enum (`https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/SolutionType`), "useCases": [ enum (`https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.dataStores.controls#Control.SearchUseCase`) ], "conditions": [ { object (`https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.dataStores.controls#Control.Condition`) } ], // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "boostAction": { object (`https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.dataStores.controls#Control.BoostAction`) }, "filterAction": { object (`https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.dataStores.controls#Control.FilterAction`) }, "redirectAction": { object (`https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.dataStores.controls#Control.RedirectAction`) }, "synonymsAction": { object (`https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.dataStores.controls#Control.SynonymsAction`) }, "promoteAction": { object (`https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.dataStores.controls#Control.PromoteAction`) } // End of mutually exclusive fields. } ``` |

| Fields ||
|---|---|
| `name` | `string` Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*` |
| `displayName` | `string` Required. Human readable name. The identifier used in UI views. Must be UTF-8 encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT error is thrown. |
| `associatedServingConfigIds[]` | `string` Output only. List of all `https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.dataStores.servingConfigs#ServingConfig` IDs this control is attached to. May take up to 10 minutes to update after changes. |
| `solutionType` | ``enum (`https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/SolutionType`)`` Required. Immutable. What solution the control belongs to. Must be compatible with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown. |
| `useCases[]` | ``enum (`https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.dataStores.controls#Control.SearchUseCase`)`` Specifies the use case for the control. Affects what condition fields can be set. Only applies to `https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/SolutionType#ENUM_VALUES.SOLUTION_TYPE_SEARCH`. Currently only allow one use case per control. Must be set when solutionType is `https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/SolutionType#ENUM_VALUES.SOLUTION_TYPE_SEARCH`. |
| `conditions[]` | ``object (`https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.dataStores.controls#Control.Condition`)`` Determines when the associated action will trigger. Omit to always apply the action. Currently only a single condition may be specified. Otherwise an INVALID ARGUMENT error is thrown. |
| The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: ||
| `boostAction` | ``object (`https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.dataStores.controls#Control.BoostAction`)`` Defines a boost-type control |
| `filterAction` | ``object (`https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.dataStores.controls#Control.FilterAction`)`` Defines a filter-type control Currently not supported by Recommendation |
| `redirectAction` | ``object (`https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.dataStores.controls#Control.RedirectAction`)`` Defines a redirect-type control. |
| `synonymsAction` | ``object (`https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.dataStores.controls#Control.SynonymsAction`)`` Treats a group of terms as synonyms of one another. |
| `promoteAction` | ``object (`https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.dataStores.controls#Control.PromoteAction`)`` Promote certain links based on predefined trigger queries. |
| End of mutually exclusive fields. ||

| ## Methods ||
|---|---|
| ### `https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.dataStores.controls/create` | Creates a Control. |
| ### `https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.dataStores.controls/delete` | Deletes a Control. |
| ### `https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.dataStores.controls/get` | Gets a Control. |
| ### `https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.dataStores.controls/list` | Lists all Controls by their parent `https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.collections.dataStores#DataStore`. |
| ### `https://docs.cloud.google.com/gemini/enterprise/docs/reference/rest/v1alpha/projects.locations.dataStores.controls/patch` | Updates a Control. |