Returns the analytics Resource.
Returns the assistants Resource.
Returns the completionConfig Resource.
Returns the controls Resource.
Returns the conversations Resource.
Returns the operations Resource.
Returns the servingConfigs Resource.
Returns the sessions Resource.
Returns the widgetConfigs Resource.
Close httplib2 connections.
create(parent, body=None, engineId=None, x__xgafv=None)
Creates an Engine.
Deletes an Engine.
Gets an Engine.
getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)
Gets the IAM access control policy for an Engine. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it.
getWorkspaceSettings(name, x__xgafv=None)
Get Workspace settings for the end user.
list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)
Lists all the Engines associated with the project.
Retrieves the next page of results.
patch(name, body=None, updateMask=None, x__xgafv=None)
Updates an Engine
pause(name, body=None, x__xgafv=None)
Pauses the training of an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.
resume(name, body=None, x__xgafv=None)
Resumes the training of an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.
setIamPolicy(resource, body=None, x__xgafv=None)
Sets the IAM access control policy for an Engine. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on an Engine resource, the only recommended roles in the bindings are: `roles/discoveryengine.user` and `roles/discoveryengine.agentspaceUser`. Attempting to grant any other role will result in a warning in logging.
tune(name, body=None, x__xgafv=None)
Tunes an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.
close()
Close httplib2 connections.
create(parent, body=None, engineId=None, x__xgafv=None)
Creates an Engine.
Args:
parent: string, Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`. (required)
body: object, The request body.
The object takes the form of:
{ # Metadata that describes the training and serving parameters of an Engine.
"appType": "A String", # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
"chatEngineConfig": { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
"agentCreationConfig": { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
"business": "A String", # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
"defaultLanguageCode": "A String", # Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.
"location": "A String", # Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.
"timeZone": "A String", # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
},
"allowCrossRegion": True or False, # Optional. If the flag set to true, we allow the agent and engine are in different locations, otherwise the agent and engine are required to be in the same location. The flag is set to false by default. Note that the `allow_cross_region` are one-time consumed by and passed to EngineService.CreateEngine. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
"dialogflowAgentToLink": "A String", # The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.
},
"chatEngineMetadata": { # Additional information of a Chat Engine. Fields in this message are output only. # Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
"dialogflowAgent": "A String", # The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.
},
"cmekConfig": { # Configurations used to enable CMEK data encryption with Cloud KMS keys. # Output only. CMEK-related information for the Engine.
"isDefault": True or False, # Output only. The default CmekConfig for the Customer.
"kmsKey": "A String", # Required. KMS key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
"kmsKeyVersion": "A String", # Output only. KMS key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.
"lastRotationTimestampMicros": "A String", # Output only. The timestamp of the last key rotation.
"name": "A String", # Required. The name of the CmekConfig of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmek_config}`.
"notebooklmState": "A String", # Output only. Whether the NotebookLM Corpus is ready to be used.
"singleRegionKeys": [ # Optional. Single-regional CMEKs that are required for some VAIS features.
{ # Metadata for single-regional CMEKs.
"kmsKey": "A String", # Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
},
],
"state": "A String", # Output only. The states of the CmekConfig.
},
"commonConfig": { # Common configurations for an Engine. # Common config spec that specifies the metadata of the engine.
"companyName": "A String", # The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.
},
"configurableBillingApproach": "A String", # Optional. Configuration for configurable billing approach.
"createTime": "A String", # Output only. Timestamp the Recommendation Engine was created at.
"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.
"A String",
],
"disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine.
"displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
"features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails`
"a_key": "A String",
},
"industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
"knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH.
"cloudKnowledgeGraphTypes": [ # Specify entity types to support.
"A String",
],
"enableCloudKnowledgeGraph": True or False, # Whether to enable the Cloud Knowledge Graph for the engine. Defaults to false if not specified.
"enablePrivateKnowledgeGraph": True or False, # Whether to enable the Private Knowledge Graph for the engine. Defaults to false if not specified.
"featureConfig": { # Feature config for the Knowledge Graph. # Optional. Feature config for the Knowledge Graph.
"disablePrivateKgAutoComplete": True or False, # Whether to disable the private KG auto complete for the engine. Defaults to false if not specified.
"disablePrivateKgEnrichment": True or False, # Whether to disable the private KG enrichment for the engine. Defaults to false if not specified.
"disablePrivateKgQueryUiChips": True or False, # Whether to disable the private KG for query UI chips. Defaults to false if not specified.
"disablePrivateKgQueryUnderstanding": True or False, # Whether to disable the private KG query understanding for the engine. Defaults to false if not specified.
},
"privateKnowledgeGraphTypes": [ # Specify entity types to support.
"A String",
],
},
"mediaRecommendationEngineConfig": { # Additional config specs for a Media Recommendation engine. # Configurations for the Media Engine. Only applicable on the data stores with solution_type SOLUTION_TYPE_RECOMMENDATION and IndustryVertical.MEDIA vertical.
"engineFeaturesConfig": { # More feature configs of the selected engine type. # Optional. Additional engine features config.
"mostPopularConfig": { # Feature configurations that are required for creating a Most Popular engine. # Most popular engine feature config.
"timeWindowDays": "A String", # The time window of which the engine is queried at training and prediction time. Positive integers only. The value translates to the last X days of events. Currently required for the `most-popular-items` engine.
},
"recommendedForYouConfig": { # Additional feature configurations for creating a `recommended-for-you` engine. # Recommended for you engine feature config.
"contextEventType": "A String", # The type of event with which the engine is queried at prediction time. If set to `generic`, only `view-item`, `media-play`,and `media-complete` will be used as `context-event` in engine training. If set to `view-home-page`, `view-home-page` will also be used as `context-events` in addition to `view-item`, `media-play`, and `media-complete`. Currently supported for the `recommended-for-you` engine. Currently supported values: `view-home-page`, `generic`.
},
},
"optimizationObjective": "A String", # The optimization objective. e.g., `cvr`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `ctr`, `cvr`. If not specified, we choose default based on engine type. Default depends on type of recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr`
"optimizationObjectiveConfig": { # Custom threshold for `cvr` optimization_objective. # Name and value of the custom threshold for cvr optimization_objective. For target_field `watch-time`, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field `watch-percentage`, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5).
"targetField": "A String", # Required. The name of the field to target. Currently supported values: `watch-percentage`, `watch-time`.
"targetFieldValueFloat": 3.14, # Required. The threshold to be applied to the target (e.g., 0.5).
},
"trainingState": "A String", # The training state that the engine is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for `CreateEngine` method is `TRAINING`. The default value for `UpdateEngine` method is to keep the state the same as before.
"type": "A String", # Required. The type of engine. e.g., `recommended-for-you`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `recommended-for-you`, `others-you-may-like`, `more-like-this`, `most-popular-items`.
},
"modelConfigs": { # Optional. Maps a model name to its specific configuration for this engine. This allows admin users to turn on/off individual models. This only stores models whose states are overridden by the admin. When the state is unspecified, or model_configs is empty for this model, the system will decide if this model should be available or not based on the default configuration. For example, a preview model should be disabled by default if the admin has not chosen to enable it.
"a_key": "A String",
},
"name": "A String", # Immutable. Identifier. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.
"observabilityConfig": { # Observability config for a resource. # Optional. Observability config for the engine.
"observabilityEnabled": True or False, # Optional. Enables observability. If false, all other flags are ignored.
"sensitiveLoggingEnabled": True or False, # Optional. Enables sensitive logging. Sensitive logging includes customer core content (e.g. prompts, responses). If false, will sanitize all sensitive fields.
},
"recommendationMetadata": { # Additional information of a recommendation engine. # Output only. Additional information of a recommendation engine. Only applicable if solution_type is SOLUTION_TYPE_RECOMMENDATION.
"dataState": "A String", # Output only. The state of data requirements for this engine: `DATA_OK` and `DATA_ERROR`. Engine cannot be trained if the data is in `DATA_ERROR` state. Engine can have `DATA_ERROR` state even if serving state is `ACTIVE`: engines were trained successfully before, but cannot be refreshed because the underlying engine no longer has sufficient data for training.
"lastTrainTime": "A String", # Output only. The timestamp when the latest successful training finished. Only applicable on Media Recommendation engines.
"lastTuneTime": "A String", # Output only. The timestamp when the latest successful tune finished. Only applicable on Media Recommendation engines.
"servingState": "A String", # Output only. The serving state of the engine: `ACTIVE`, `NOT_ACTIVE`.
"tuningOperation": "A String", # Output only. The latest tune operation id associated with the engine. Only applicable on Media Recommendation engines. If present, this operation id can be used to determine if there is an ongoing tune for this engine. To check the operation status, send the GetOperation request with this operation id in the engine resource format. If no tuning has happened for this engine, the string is empty.
},
"searchEngineConfig": { # Configurations for a Search Engine. # Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH.
"requiredSubscriptionTier": "A String", # Optional. The required subscription tier of this engine. They cannot be modified after engine creation. If the required subscription tier is search, user with higher license tier like assist can still access the standalone app associated with this engine.
"searchAddOns": [ # The add-on that this search engine enables.
"A String",
],
"searchTier": "A String", # The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.
},
"similarDocumentsConfig": { # Additional config specs for a `similar-items` engine. # Additional config specs for a `similar-items` engine.
},
"solutionType": "A String", # Required. The solutions of the engine.
"updateTime": "A String", # Output only. Timestamp the Recommendation Engine was last updated.
}
engineId: string, Required. The ID to use for the Engine, which will become the final component of the Engine's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # This resource represents a long-running operation that is the result of a network API call.
"done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
"error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
"code": 42, # The status code, which should be an enum value of google.rpc.Code.
"details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
{
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
],
"message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
},
"metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
"name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
"response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
}
delete(name, x__xgafv=None)
Deletes an Engine.
Args:
name: string, Required. Full resource name of Engine, such as `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`. If the caller does not have permission to delete the Engine, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the Engine to delete does not exist, a NOT_FOUND error is returned. (required)
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # This resource represents a long-running operation that is the result of a network API call.
"done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
"error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
"code": 42, # The status code, which should be an enum value of google.rpc.Code.
"details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
{
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
],
"message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
},
"metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
"name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
"response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
}
get(name, x__xgafv=None)
Gets an Engine.
Args:
name: string, Required. Full resource name of Engine, such as `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`. (required)
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Metadata that describes the training and serving parameters of an Engine.
"appType": "A String", # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
"chatEngineConfig": { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
"agentCreationConfig": { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
"business": "A String", # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
"defaultLanguageCode": "A String", # Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.
"location": "A String", # Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.
"timeZone": "A String", # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
},
"allowCrossRegion": True or False, # Optional. If the flag set to true, we allow the agent and engine are in different locations, otherwise the agent and engine are required to be in the same location. The flag is set to false by default. Note that the `allow_cross_region` are one-time consumed by and passed to EngineService.CreateEngine. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
"dialogflowAgentToLink": "A String", # The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.
},
"chatEngineMetadata": { # Additional information of a Chat Engine. Fields in this message are output only. # Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
"dialogflowAgent": "A String", # The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.
},
"cmekConfig": { # Configurations used to enable CMEK data encryption with Cloud KMS keys. # Output only. CMEK-related information for the Engine.
"isDefault": True or False, # Output only. The default CmekConfig for the Customer.
"kmsKey": "A String", # Required. KMS key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
"kmsKeyVersion": "A String", # Output only. KMS key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.
"lastRotationTimestampMicros": "A String", # Output only. The timestamp of the last key rotation.
"name": "A String", # Required. The name of the CmekConfig of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmek_config}`.
"notebooklmState": "A String", # Output only. Whether the NotebookLM Corpus is ready to be used.
"singleRegionKeys": [ # Optional. Single-regional CMEKs that are required for some VAIS features.
{ # Metadata for single-regional CMEKs.
"kmsKey": "A String", # Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
},
],
"state": "A String", # Output only. The states of the CmekConfig.
},
"commonConfig": { # Common configurations for an Engine. # Common config spec that specifies the metadata of the engine.
"companyName": "A String", # The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.
},
"configurableBillingApproach": "A String", # Optional. Configuration for configurable billing approach.
"createTime": "A String", # Output only. Timestamp the Recommendation Engine was created at.
"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.
"A String",
],
"disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine.
"displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
"features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails`
"a_key": "A String",
},
"industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
"knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH.
"cloudKnowledgeGraphTypes": [ # Specify entity types to support.
"A String",
],
"enableCloudKnowledgeGraph": True or False, # Whether to enable the Cloud Knowledge Graph for the engine. Defaults to false if not specified.
"enablePrivateKnowledgeGraph": True or False, # Whether to enable the Private Knowledge Graph for the engine. Defaults to false if not specified.
"featureConfig": { # Feature config for the Knowledge Graph. # Optional. Feature config for the Knowledge Graph.
"disablePrivateKgAutoComplete": True or False, # Whether to disable the private KG auto complete for the engine. Defaults to false if not specified.
"disablePrivateKgEnrichment": True or False, # Whether to disable the private KG enrichment for the engine. Defaults to false if not specified.
"disablePrivateKgQueryUiChips": True or False, # Whether to disable the private KG for query UI chips. Defaults to false if not specified.
"disablePrivateKgQueryUnderstanding": True or False, # Whether to disable the private KG query understanding for the engine. Defaults to false if not specified.
},
"privateKnowledgeGraphTypes": [ # Specify entity types to support.
"A String",
],
},
"mediaRecommendationEngineConfig": { # Additional config specs for a Media Recommendation engine. # Configurations for the Media Engine. Only applicable on the data stores with solution_type SOLUTION_TYPE_RECOMMENDATION and IndustryVertical.MEDIA vertical.
"engineFeaturesConfig": { # More feature configs of the selected engine type. # Optional. Additional engine features config.
"mostPopularConfig": { # Feature configurations that are required for creating a Most Popular engine. # Most popular engine feature config.
"timeWindowDays": "A String", # The time window of which the engine is queried at training and prediction time. Positive integers only. The value translates to the last X days of events. Currently required for the `most-popular-items` engine.
},
"recommendedForYouConfig": { # Additional feature configurations for creating a `recommended-for-you` engine. # Recommended for you engine feature config.
"contextEventType": "A String", # The type of event with which the engine is queried at prediction time. If set to `generic`, only `view-item`, `media-play`,and `media-complete` will be used as `context-event` in engine training. If set to `view-home-page`, `view-home-page` will also be used as `context-events` in addition to `view-item`, `media-play`, and `media-complete`. Currently supported for the `recommended-for-you` engine. Currently supported values: `view-home-page`, `generic`.
},
},
"optimizationObjective": "A String", # The optimization objective. e.g., `cvr`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `ctr`, `cvr`. If not specified, we choose default based on engine type. Default depends on type of recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr`
"optimizationObjectiveConfig": { # Custom threshold for `cvr` optimization_objective. # Name and value of the custom threshold for cvr optimization_objective. For target_field `watch-time`, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field `watch-percentage`, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5).
"targetField": "A String", # Required. The name of the field to target. Currently supported values: `watch-percentage`, `watch-time`.
"targetFieldValueFloat": 3.14, # Required. The threshold to be applied to the target (e.g., 0.5).
},
"trainingState": "A String", # The training state that the engine is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for `CreateEngine` method is `TRAINING`. The default value for `UpdateEngine` method is to keep the state the same as before.
"type": "A String", # Required. The type of engine. e.g., `recommended-for-you`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `recommended-for-you`, `others-you-may-like`, `more-like-this`, `most-popular-items`.
},
"modelConfigs": { # Optional. Maps a model name to its specific configuration for this engine. This allows admin users to turn on/off individual models. This only stores models whose states are overridden by the admin. When the state is unspecified, or model_configs is empty for this model, the system will decide if this model should be available or not based on the default configuration. For example, a preview model should be disabled by default if the admin has not chosen to enable it.
"a_key": "A String",
},
"name": "A String", # Immutable. Identifier. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.
"observabilityConfig": { # Observability config for a resource. # Optional. Observability config for the engine.
"observabilityEnabled": True or False, # Optional. Enables observability. If false, all other flags are ignored.
"sensitiveLoggingEnabled": True or False, # Optional. Enables sensitive logging. Sensitive logging includes customer core content (e.g. prompts, responses). If false, will sanitize all sensitive fields.
},
"recommendationMetadata": { # Additional information of a recommendation engine. # Output only. Additional information of a recommendation engine. Only applicable if solution_type is SOLUTION_TYPE_RECOMMENDATION.
"dataState": "A String", # Output only. The state of data requirements for this engine: `DATA_OK` and `DATA_ERROR`. Engine cannot be trained if the data is in `DATA_ERROR` state. Engine can have `DATA_ERROR` state even if serving state is `ACTIVE`: engines were trained successfully before, but cannot be refreshed because the underlying engine no longer has sufficient data for training.
"lastTrainTime": "A String", # Output only. The timestamp when the latest successful training finished. Only applicable on Media Recommendation engines.
"lastTuneTime": "A String", # Output only. The timestamp when the latest successful tune finished. Only applicable on Media Recommendation engines.
"servingState": "A String", # Output only. The serving state of the engine: `ACTIVE`, `NOT_ACTIVE`.
"tuningOperation": "A String", # Output only. The latest tune operation id associated with the engine. Only applicable on Media Recommendation engines. If present, this operation id can be used to determine if there is an ongoing tune for this engine. To check the operation status, send the GetOperation request with this operation id in the engine resource format. If no tuning has happened for this engine, the string is empty.
},
"searchEngineConfig": { # Configurations for a Search Engine. # Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH.
"requiredSubscriptionTier": "A String", # Optional. The required subscription tier of this engine. They cannot be modified after engine creation. If the required subscription tier is search, user with higher license tier like assist can still access the standalone app associated with this engine.
"searchAddOns": [ # The add-on that this search engine enables.
"A String",
],
"searchTier": "A String", # The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.
},
"similarDocumentsConfig": { # Additional config specs for a `similar-items` engine. # Additional config specs for a `similar-items` engine.
},
"solutionType": "A String", # Required. The solutions of the engine.
"updateTime": "A String", # Output only. Timestamp the Recommendation Engine was last updated.
}
getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)
Gets the IAM access control policy for an Engine. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it.
Args:
resource: string, REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. (required)
options_requestedPolicyVersion: integer, Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
"bindings": [ # Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
{ # Associates `members`, or principals, with a `role`.
"condition": { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
"description": "A String", # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
"expression": "A String", # Textual representation of an expression in Common Expression Language syntax.
"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
"title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
},
"members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
"A String",
],
"role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).
},
],
"etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
"version": 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
}
getWorkspaceSettings(name, x__xgafv=None)
Get Workspace settings for the end user.
Args:
name: string, Required. Full Engine resource name. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}` (required)
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Workspace settings for the end user.
"workspaceAccessEnabled": True or False, # Whether an end user has workspace access enabled.
}
list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)
Lists all the Engines associated with the project.
Args:
parent: string, Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection_id}`. (required)
filter: string, Optional. Filter by solution type. For example: solution_type=SOLUTION_TYPE_SEARCH
pageSize: integer, Optional. Not supported.
pageToken: string, Optional. Not supported.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Response message for EngineService.ListEngines method.
"engines": [ # All the customer's Engines.
{ # Metadata that describes the training and serving parameters of an Engine.
"appType": "A String", # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
"chatEngineConfig": { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
"agentCreationConfig": { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
"business": "A String", # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
"defaultLanguageCode": "A String", # Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.
"location": "A String", # Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.
"timeZone": "A String", # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
},
"allowCrossRegion": True or False, # Optional. If the flag set to true, we allow the agent and engine are in different locations, otherwise the agent and engine are required to be in the same location. The flag is set to false by default. Note that the `allow_cross_region` are one-time consumed by and passed to EngineService.CreateEngine. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
"dialogflowAgentToLink": "A String", # The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.
},
"chatEngineMetadata": { # Additional information of a Chat Engine. Fields in this message are output only. # Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
"dialogflowAgent": "A String", # The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.
},
"cmekConfig": { # Configurations used to enable CMEK data encryption with Cloud KMS keys. # Output only. CMEK-related information for the Engine.
"isDefault": True or False, # Output only. The default CmekConfig for the Customer.
"kmsKey": "A String", # Required. KMS key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
"kmsKeyVersion": "A String", # Output only. KMS key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.
"lastRotationTimestampMicros": "A String", # Output only. The timestamp of the last key rotation.
"name": "A String", # Required. The name of the CmekConfig of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmek_config}`.
"notebooklmState": "A String", # Output only. Whether the NotebookLM Corpus is ready to be used.
"singleRegionKeys": [ # Optional. Single-regional CMEKs that are required for some VAIS features.
{ # Metadata for single-regional CMEKs.
"kmsKey": "A String", # Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
},
],
"state": "A String", # Output only. The states of the CmekConfig.
},
"commonConfig": { # Common configurations for an Engine. # Common config spec that specifies the metadata of the engine.
"companyName": "A String", # The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.
},
"configurableBillingApproach": "A String", # Optional. Configuration for configurable billing approach.
"createTime": "A String", # Output only. Timestamp the Recommendation Engine was created at.
"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.
"A String",
],
"disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine.
"displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
"features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails`
"a_key": "A String",
},
"industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
"knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH.
"cloudKnowledgeGraphTypes": [ # Specify entity types to support.
"A String",
],
"enableCloudKnowledgeGraph": True or False, # Whether to enable the Cloud Knowledge Graph for the engine. Defaults to false if not specified.
"enablePrivateKnowledgeGraph": True or False, # Whether to enable the Private Knowledge Graph for the engine. Defaults to false if not specified.
"featureConfig": { # Feature config for the Knowledge Graph. # Optional. Feature config for the Knowledge Graph.
"disablePrivateKgAutoComplete": True or False, # Whether to disable the private KG auto complete for the engine. Defaults to false if not specified.
"disablePrivateKgEnrichment": True or False, # Whether to disable the private KG enrichment for the engine. Defaults to false if not specified.
"disablePrivateKgQueryUiChips": True or False, # Whether to disable the private KG for query UI chips. Defaults to false if not specified.
"disablePrivateKgQueryUnderstanding": True or False, # Whether to disable the private KG query understanding for the engine. Defaults to false if not specified.
},
"privateKnowledgeGraphTypes": [ # Specify entity types to support.
"A String",
],
},
"mediaRecommendationEngineConfig": { # Additional config specs for a Media Recommendation engine. # Configurations for the Media Engine. Only applicable on the data stores with solution_type SOLUTION_TYPE_RECOMMENDATION and IndustryVertical.MEDIA vertical.
"engineFeaturesConfig": { # More feature configs of the selected engine type. # Optional. Additional engine features config.
"mostPopularConfig": { # Feature configurations that are required for creating a Most Popular engine. # Most popular engine feature config.
"timeWindowDays": "A String", # The time window of which the engine is queried at training and prediction time. Positive integers only. The value translates to the last X days of events. Currently required for the `most-popular-items` engine.
},
"recommendedForYouConfig": { # Additional feature configurations for creating a `recommended-for-you` engine. # Recommended for you engine feature config.
"contextEventType": "A String", # The type of event with which the engine is queried at prediction time. If set to `generic`, only `view-item`, `media-play`,and `media-complete` will be used as `context-event` in engine training. If set to `view-home-page`, `view-home-page` will also be used as `context-events` in addition to `view-item`, `media-play`, and `media-complete`. Currently supported for the `recommended-for-you` engine. Currently supported values: `view-home-page`, `generic`.
},
},
"optimizationObjective": "A String", # The optimization objective. e.g., `cvr`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `ctr`, `cvr`. If not specified, we choose default based on engine type. Default depends on type of recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr`
"optimizationObjectiveConfig": { # Custom threshold for `cvr` optimization_objective. # Name and value of the custom threshold for cvr optimization_objective. For target_field `watch-time`, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field `watch-percentage`, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5).
"targetField": "A String", # Required. The name of the field to target. Currently supported values: `watch-percentage`, `watch-time`.
"targetFieldValueFloat": 3.14, # Required. The threshold to be applied to the target (e.g., 0.5).
},
"trainingState": "A String", # The training state that the engine is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for `CreateEngine` method is `TRAINING`. The default value for `UpdateEngine` method is to keep the state the same as before.
"type": "A String", # Required. The type of engine. e.g., `recommended-for-you`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `recommended-for-you`, `others-you-may-like`, `more-like-this`, `most-popular-items`.
},
"modelConfigs": { # Optional. Maps a model name to its specific configuration for this engine. This allows admin users to turn on/off individual models. This only stores models whose states are overridden by the admin. When the state is unspecified, or model_configs is empty for this model, the system will decide if this model should be available or not based on the default configuration. For example, a preview model should be disabled by default if the admin has not chosen to enable it.
"a_key": "A String",
},
"name": "A String", # Immutable. Identifier. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.
"observabilityConfig": { # Observability config for a resource. # Optional. Observability config for the engine.
"observabilityEnabled": True or False, # Optional. Enables observability. If false, all other flags are ignored.
"sensitiveLoggingEnabled": True or False, # Optional. Enables sensitive logging. Sensitive logging includes customer core content (e.g. prompts, responses). If false, will sanitize all sensitive fields.
},
"recommendationMetadata": { # Additional information of a recommendation engine. # Output only. Additional information of a recommendation engine. Only applicable if solution_type is SOLUTION_TYPE_RECOMMENDATION.
"dataState": "A String", # Output only. The state of data requirements for this engine: `DATA_OK` and `DATA_ERROR`. Engine cannot be trained if the data is in `DATA_ERROR` state. Engine can have `DATA_ERROR` state even if serving state is `ACTIVE`: engines were trained successfully before, but cannot be refreshed because the underlying engine no longer has sufficient data for training.
"lastTrainTime": "A String", # Output only. The timestamp when the latest successful training finished. Only applicable on Media Recommendation engines.
"lastTuneTime": "A String", # Output only. The timestamp when the latest successful tune finished. Only applicable on Media Recommendation engines.
"servingState": "A String", # Output only. The serving state of the engine: `ACTIVE`, `NOT_ACTIVE`.
"tuningOperation": "A String", # Output only. The latest tune operation id associated with the engine. Only applicable on Media Recommendation engines. If present, this operation id can be used to determine if there is an ongoing tune for this engine. To check the operation status, send the GetOperation request with this operation id in the engine resource format. If no tuning has happened for this engine, the string is empty.
},
"searchEngineConfig": { # Configurations for a Search Engine. # Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH.
"requiredSubscriptionTier": "A String", # Optional. The required subscription tier of this engine. They cannot be modified after engine creation. If the required subscription tier is search, user with higher license tier like assist can still access the standalone app associated with this engine.
"searchAddOns": [ # The add-on that this search engine enables.
"A String",
],
"searchTier": "A String", # The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.
},
"similarDocumentsConfig": { # Additional config specs for a `similar-items` engine. # Additional config specs for a `similar-items` engine.
},
"solutionType": "A String", # Required. The solutions of the engine.
"updateTime": "A String", # Output only. Timestamp the Recommendation Engine was last updated.
},
],
"nextPageToken": "A String", # Not supported.
}
list_next()
Retrieves the next page of results.
Args:
previous_request: The request for the previous page. (required)
previous_response: The response from the request for the previous page. (required)
Returns:
A request object that you can call 'execute()' on to request the next
page. Returns None if there are no more items in the collection.
patch(name, body=None, updateMask=None, x__xgafv=None)
Updates an Engine
Args:
name: string, Immutable. Identifier. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned. (required)
body: object, The request body.
The object takes the form of:
{ # Metadata that describes the training and serving parameters of an Engine.
"appType": "A String", # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
"chatEngineConfig": { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
"agentCreationConfig": { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
"business": "A String", # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
"defaultLanguageCode": "A String", # Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.
"location": "A String", # Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.
"timeZone": "A String", # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
},
"allowCrossRegion": True or False, # Optional. If the flag set to true, we allow the agent and engine are in different locations, otherwise the agent and engine are required to be in the same location. The flag is set to false by default. Note that the `allow_cross_region` are one-time consumed by and passed to EngineService.CreateEngine. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
"dialogflowAgentToLink": "A String", # The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.
},
"chatEngineMetadata": { # Additional information of a Chat Engine. Fields in this message are output only. # Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
"dialogflowAgent": "A String", # The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.
},
"cmekConfig": { # Configurations used to enable CMEK data encryption with Cloud KMS keys. # Output only. CMEK-related information for the Engine.
"isDefault": True or False, # Output only. The default CmekConfig for the Customer.
"kmsKey": "A String", # Required. KMS key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
"kmsKeyVersion": "A String", # Output only. KMS key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.
"lastRotationTimestampMicros": "A String", # Output only. The timestamp of the last key rotation.
"name": "A String", # Required. The name of the CmekConfig of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmek_config}`.
"notebooklmState": "A String", # Output only. Whether the NotebookLM Corpus is ready to be used.
"singleRegionKeys": [ # Optional. Single-regional CMEKs that are required for some VAIS features.
{ # Metadata for single-regional CMEKs.
"kmsKey": "A String", # Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
},
],
"state": "A String", # Output only. The states of the CmekConfig.
},
"commonConfig": { # Common configurations for an Engine. # Common config spec that specifies the metadata of the engine.
"companyName": "A String", # The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.
},
"configurableBillingApproach": "A String", # Optional. Configuration for configurable billing approach.
"createTime": "A String", # Output only. Timestamp the Recommendation Engine was created at.
"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.
"A String",
],
"disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine.
"displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
"features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails`
"a_key": "A String",
},
"industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
"knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH.
"cloudKnowledgeGraphTypes": [ # Specify entity types to support.
"A String",
],
"enableCloudKnowledgeGraph": True or False, # Whether to enable the Cloud Knowledge Graph for the engine. Defaults to false if not specified.
"enablePrivateKnowledgeGraph": True or False, # Whether to enable the Private Knowledge Graph for the engine. Defaults to false if not specified.
"featureConfig": { # Feature config for the Knowledge Graph. # Optional. Feature config for the Knowledge Graph.
"disablePrivateKgAutoComplete": True or False, # Whether to disable the private KG auto complete for the engine. Defaults to false if not specified.
"disablePrivateKgEnrichment": True or False, # Whether to disable the private KG enrichment for the engine. Defaults to false if not specified.
"disablePrivateKgQueryUiChips": True or False, # Whether to disable the private KG for query UI chips. Defaults to false if not specified.
"disablePrivateKgQueryUnderstanding": True or False, # Whether to disable the private KG query understanding for the engine. Defaults to false if not specified.
},
"privateKnowledgeGraphTypes": [ # Specify entity types to support.
"A String",
],
},
"mediaRecommendationEngineConfig": { # Additional config specs for a Media Recommendation engine. # Configurations for the Media Engine. Only applicable on the data stores with solution_type SOLUTION_TYPE_RECOMMENDATION and IndustryVertical.MEDIA vertical.
"engineFeaturesConfig": { # More feature configs of the selected engine type. # Optional. Additional engine features config.
"mostPopularConfig": { # Feature configurations that are required for creating a Most Popular engine. # Most popular engine feature config.
"timeWindowDays": "A String", # The time window of which the engine is queried at training and prediction time. Positive integers only. The value translates to the last X days of events. Currently required for the `most-popular-items` engine.
},
"recommendedForYouConfig": { # Additional feature configurations for creating a `recommended-for-you` engine. # Recommended for you engine feature config.
"contextEventType": "A String", # The type of event with which the engine is queried at prediction time. If set to `generic`, only `view-item`, `media-play`,and `media-complete` will be used as `context-event` in engine training. If set to `view-home-page`, `view-home-page` will also be used as `context-events` in addition to `view-item`, `media-play`, and `media-complete`. Currently supported for the `recommended-for-you` engine. Currently supported values: `view-home-page`, `generic`.
},
},
"optimizationObjective": "A String", # The optimization objective. e.g., `cvr`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `ctr`, `cvr`. If not specified, we choose default based on engine type. Default depends on type of recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr`
"optimizationObjectiveConfig": { # Custom threshold for `cvr` optimization_objective. # Name and value of the custom threshold for cvr optimization_objective. For target_field `watch-time`, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field `watch-percentage`, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5).
"targetField": "A String", # Required. The name of the field to target. Currently supported values: `watch-percentage`, `watch-time`.
"targetFieldValueFloat": 3.14, # Required. The threshold to be applied to the target (e.g., 0.5).
},
"trainingState": "A String", # The training state that the engine is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for `CreateEngine` method is `TRAINING`. The default value for `UpdateEngine` method is to keep the state the same as before.
"type": "A String", # Required. The type of engine. e.g., `recommended-for-you`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `recommended-for-you`, `others-you-may-like`, `more-like-this`, `most-popular-items`.
},
"modelConfigs": { # Optional. Maps a model name to its specific configuration for this engine. This allows admin users to turn on/off individual models. This only stores models whose states are overridden by the admin. When the state is unspecified, or model_configs is empty for this model, the system will decide if this model should be available or not based on the default configuration. For example, a preview model should be disabled by default if the admin has not chosen to enable it.
"a_key": "A String",
},
"name": "A String", # Immutable. Identifier. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.
"observabilityConfig": { # Observability config for a resource. # Optional. Observability config for the engine.
"observabilityEnabled": True or False, # Optional. Enables observability. If false, all other flags are ignored.
"sensitiveLoggingEnabled": True or False, # Optional. Enables sensitive logging. Sensitive logging includes customer core content (e.g. prompts, responses). If false, will sanitize all sensitive fields.
},
"recommendationMetadata": { # Additional information of a recommendation engine. # Output only. Additional information of a recommendation engine. Only applicable if solution_type is SOLUTION_TYPE_RECOMMENDATION.
"dataState": "A String", # Output only. The state of data requirements for this engine: `DATA_OK` and `DATA_ERROR`. Engine cannot be trained if the data is in `DATA_ERROR` state. Engine can have `DATA_ERROR` state even if serving state is `ACTIVE`: engines were trained successfully before, but cannot be refreshed because the underlying engine no longer has sufficient data for training.
"lastTrainTime": "A String", # Output only. The timestamp when the latest successful training finished. Only applicable on Media Recommendation engines.
"lastTuneTime": "A String", # Output only. The timestamp when the latest successful tune finished. Only applicable on Media Recommendation engines.
"servingState": "A String", # Output only. The serving state of the engine: `ACTIVE`, `NOT_ACTIVE`.
"tuningOperation": "A String", # Output only. The latest tune operation id associated with the engine. Only applicable on Media Recommendation engines. If present, this operation id can be used to determine if there is an ongoing tune for this engine. To check the operation status, send the GetOperation request with this operation id in the engine resource format. If no tuning has happened for this engine, the string is empty.
},
"searchEngineConfig": { # Configurations for a Search Engine. # Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH.
"requiredSubscriptionTier": "A String", # Optional. The required subscription tier of this engine. They cannot be modified after engine creation. If the required subscription tier is search, user with higher license tier like assist can still access the standalone app associated with this engine.
"searchAddOns": [ # The add-on that this search engine enables.
"A String",
],
"searchTier": "A String", # The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.
},
"similarDocumentsConfig": { # Additional config specs for a `similar-items` engine. # Additional config specs for a `similar-items` engine.
},
"solutionType": "A String", # Required. The solutions of the engine.
"updateTime": "A String", # Output only. Timestamp the Recommendation Engine was last updated.
}
updateMask: string, Indicates which fields in the provided Engine to update. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Metadata that describes the training and serving parameters of an Engine.
"appType": "A String", # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
"chatEngineConfig": { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
"agentCreationConfig": { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
"business": "A String", # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
"defaultLanguageCode": "A String", # Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.
"location": "A String", # Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.
"timeZone": "A String", # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
},
"allowCrossRegion": True or False, # Optional. If the flag set to true, we allow the agent and engine are in different locations, otherwise the agent and engine are required to be in the same location. The flag is set to false by default. Note that the `allow_cross_region` are one-time consumed by and passed to EngineService.CreateEngine. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
"dialogflowAgentToLink": "A String", # The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.
},
"chatEngineMetadata": { # Additional information of a Chat Engine. Fields in this message are output only. # Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
"dialogflowAgent": "A String", # The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.
},
"cmekConfig": { # Configurations used to enable CMEK data encryption with Cloud KMS keys. # Output only. CMEK-related information for the Engine.
"isDefault": True or False, # Output only. The default CmekConfig for the Customer.
"kmsKey": "A String", # Required. KMS key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
"kmsKeyVersion": "A String", # Output only. KMS key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.
"lastRotationTimestampMicros": "A String", # Output only. The timestamp of the last key rotation.
"name": "A String", # Required. The name of the CmekConfig of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmek_config}`.
"notebooklmState": "A String", # Output only. Whether the NotebookLM Corpus is ready to be used.
"singleRegionKeys": [ # Optional. Single-regional CMEKs that are required for some VAIS features.
{ # Metadata for single-regional CMEKs.
"kmsKey": "A String", # Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
},
],
"state": "A String", # Output only. The states of the CmekConfig.
},
"commonConfig": { # Common configurations for an Engine. # Common config spec that specifies the metadata of the engine.
"companyName": "A String", # The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.
},
"configurableBillingApproach": "A String", # Optional. Configuration for configurable billing approach.
"createTime": "A String", # Output only. Timestamp the Recommendation Engine was created at.
"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.
"A String",
],
"disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine.
"displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
"features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails`
"a_key": "A String",
},
"industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
"knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH.
"cloudKnowledgeGraphTypes": [ # Specify entity types to support.
"A String",
],
"enableCloudKnowledgeGraph": True or False, # Whether to enable the Cloud Knowledge Graph for the engine. Defaults to false if not specified.
"enablePrivateKnowledgeGraph": True or False, # Whether to enable the Private Knowledge Graph for the engine. Defaults to false if not specified.
"featureConfig": { # Feature config for the Knowledge Graph. # Optional. Feature config for the Knowledge Graph.
"disablePrivateKgAutoComplete": True or False, # Whether to disable the private KG auto complete for the engine. Defaults to false if not specified.
"disablePrivateKgEnrichment": True or False, # Whether to disable the private KG enrichment for the engine. Defaults to false if not specified.
"disablePrivateKgQueryUiChips": True or False, # Whether to disable the private KG for query UI chips. Defaults to false if not specified.
"disablePrivateKgQueryUnderstanding": True or False, # Whether to disable the private KG query understanding for the engine. Defaults to false if not specified.
},
"privateKnowledgeGraphTypes": [ # Specify entity types to support.
"A String",
],
},
"mediaRecommendationEngineConfig": { # Additional config specs for a Media Recommendation engine. # Configurations for the Media Engine. Only applicable on the data stores with solution_type SOLUTION_TYPE_RECOMMENDATION and IndustryVertical.MEDIA vertical.
"engineFeaturesConfig": { # More feature configs of the selected engine type. # Optional. Additional engine features config.
"mostPopularConfig": { # Feature configurations that are required for creating a Most Popular engine. # Most popular engine feature config.
"timeWindowDays": "A String", # The time window of which the engine is queried at training and prediction time. Positive integers only. The value translates to the last X days of events. Currently required for the `most-popular-items` engine.
},
"recommendedForYouConfig": { # Additional feature configurations for creating a `recommended-for-you` engine. # Recommended for you engine feature config.
"contextEventType": "A String", # The type of event with which the engine is queried at prediction time. If set to `generic`, only `view-item`, `media-play`,and `media-complete` will be used as `context-event` in engine training. If set to `view-home-page`, `view-home-page` will also be used as `context-events` in addition to `view-item`, `media-play`, and `media-complete`. Currently supported for the `recommended-for-you` engine. Currently supported values: `view-home-page`, `generic`.
},
},
"optimizationObjective": "A String", # The optimization objective. e.g., `cvr`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `ctr`, `cvr`. If not specified, we choose default based on engine type. Default depends on type of recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr`
"optimizationObjectiveConfig": { # Custom threshold for `cvr` optimization_objective. # Name and value of the custom threshold for cvr optimization_objective. For target_field `watch-time`, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field `watch-percentage`, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5).
"targetField": "A String", # Required. The name of the field to target. Currently supported values: `watch-percentage`, `watch-time`.
"targetFieldValueFloat": 3.14, # Required. The threshold to be applied to the target (e.g., 0.5).
},
"trainingState": "A String", # The training state that the engine is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for `CreateEngine` method is `TRAINING`. The default value for `UpdateEngine` method is to keep the state the same as before.
"type": "A String", # Required. The type of engine. e.g., `recommended-for-you`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `recommended-for-you`, `others-you-may-like`, `more-like-this`, `most-popular-items`.
},
"modelConfigs": { # Optional. Maps a model name to its specific configuration for this engine. This allows admin users to turn on/off individual models. This only stores models whose states are overridden by the admin. When the state is unspecified, or model_configs is empty for this model, the system will decide if this model should be available or not based on the default configuration. For example, a preview model should be disabled by default if the admin has not chosen to enable it.
"a_key": "A String",
},
"name": "A String", # Immutable. Identifier. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.
"observabilityConfig": { # Observability config for a resource. # Optional. Observability config for the engine.
"observabilityEnabled": True or False, # Optional. Enables observability. If false, all other flags are ignored.
"sensitiveLoggingEnabled": True or False, # Optional. Enables sensitive logging. Sensitive logging includes customer core content (e.g. prompts, responses). If false, will sanitize all sensitive fields.
},
"recommendationMetadata": { # Additional information of a recommendation engine. # Output only. Additional information of a recommendation engine. Only applicable if solution_type is SOLUTION_TYPE_RECOMMENDATION.
"dataState": "A String", # Output only. The state of data requirements for this engine: `DATA_OK` and `DATA_ERROR`. Engine cannot be trained if the data is in `DATA_ERROR` state. Engine can have `DATA_ERROR` state even if serving state is `ACTIVE`: engines were trained successfully before, but cannot be refreshed because the underlying engine no longer has sufficient data for training.
"lastTrainTime": "A String", # Output only. The timestamp when the latest successful training finished. Only applicable on Media Recommendation engines.
"lastTuneTime": "A String", # Output only. The timestamp when the latest successful tune finished. Only applicable on Media Recommendation engines.
"servingState": "A String", # Output only. The serving state of the engine: `ACTIVE`, `NOT_ACTIVE`.
"tuningOperation": "A String", # Output only. The latest tune operation id associated with the engine. Only applicable on Media Recommendation engines. If present, this operation id can be used to determine if there is an ongoing tune for this engine. To check the operation status, send the GetOperation request with this operation id in the engine resource format. If no tuning has happened for this engine, the string is empty.
},
"searchEngineConfig": { # Configurations for a Search Engine. # Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH.
"requiredSubscriptionTier": "A String", # Optional. The required subscription tier of this engine. They cannot be modified after engine creation. If the required subscription tier is search, user with higher license tier like assist can still access the standalone app associated with this engine.
"searchAddOns": [ # The add-on that this search engine enables.
"A String",
],
"searchTier": "A String", # The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.
},
"similarDocumentsConfig": { # Additional config specs for a `similar-items` engine. # Additional config specs for a `similar-items` engine.
},
"solutionType": "A String", # Required. The solutions of the engine.
"updateTime": "A String", # Output only. Timestamp the Recommendation Engine was last updated.
}
pause(name, body=None, x__xgafv=None)
Pauses the training of an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.
Args:
name: string, Required. The name of the engine to pause. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}` (required)
body: object, The request body.
The object takes the form of:
{ # Request for pausing training of an engine.
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Metadata that describes the training and serving parameters of an Engine.
"appType": "A String", # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
"chatEngineConfig": { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
"agentCreationConfig": { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
"business": "A String", # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
"defaultLanguageCode": "A String", # Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.
"location": "A String", # Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.
"timeZone": "A String", # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
},
"allowCrossRegion": True or False, # Optional. If the flag set to true, we allow the agent and engine are in different locations, otherwise the agent and engine are required to be in the same location. The flag is set to false by default. Note that the `allow_cross_region` are one-time consumed by and passed to EngineService.CreateEngine. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
"dialogflowAgentToLink": "A String", # The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.
},
"chatEngineMetadata": { # Additional information of a Chat Engine. Fields in this message are output only. # Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
"dialogflowAgent": "A String", # The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.
},
"cmekConfig": { # Configurations used to enable CMEK data encryption with Cloud KMS keys. # Output only. CMEK-related information for the Engine.
"isDefault": True or False, # Output only. The default CmekConfig for the Customer.
"kmsKey": "A String", # Required. KMS key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
"kmsKeyVersion": "A String", # Output only. KMS key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.
"lastRotationTimestampMicros": "A String", # Output only. The timestamp of the last key rotation.
"name": "A String", # Required. The name of the CmekConfig of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmek_config}`.
"notebooklmState": "A String", # Output only. Whether the NotebookLM Corpus is ready to be used.
"singleRegionKeys": [ # Optional. Single-regional CMEKs that are required for some VAIS features.
{ # Metadata for single-regional CMEKs.
"kmsKey": "A String", # Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
},
],
"state": "A String", # Output only. The states of the CmekConfig.
},
"commonConfig": { # Common configurations for an Engine. # Common config spec that specifies the metadata of the engine.
"companyName": "A String", # The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.
},
"configurableBillingApproach": "A String", # Optional. Configuration for configurable billing approach.
"createTime": "A String", # Output only. Timestamp the Recommendation Engine was created at.
"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.
"A String",
],
"disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine.
"displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
"features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails`
"a_key": "A String",
},
"industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
"knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH.
"cloudKnowledgeGraphTypes": [ # Specify entity types to support.
"A String",
],
"enableCloudKnowledgeGraph": True or False, # Whether to enable the Cloud Knowledge Graph for the engine. Defaults to false if not specified.
"enablePrivateKnowledgeGraph": True or False, # Whether to enable the Private Knowledge Graph for the engine. Defaults to false if not specified.
"featureConfig": { # Feature config for the Knowledge Graph. # Optional. Feature config for the Knowledge Graph.
"disablePrivateKgAutoComplete": True or False, # Whether to disable the private KG auto complete for the engine. Defaults to false if not specified.
"disablePrivateKgEnrichment": True or False, # Whether to disable the private KG enrichment for the engine. Defaults to false if not specified.
"disablePrivateKgQueryUiChips": True or False, # Whether to disable the private KG for query UI chips. Defaults to false if not specified.
"disablePrivateKgQueryUnderstanding": True or False, # Whether to disable the private KG query understanding for the engine. Defaults to false if not specified.
},
"privateKnowledgeGraphTypes": [ # Specify entity types to support.
"A String",
],
},
"mediaRecommendationEngineConfig": { # Additional config specs for a Media Recommendation engine. # Configurations for the Media Engine. Only applicable on the data stores with solution_type SOLUTION_TYPE_RECOMMENDATION and IndustryVertical.MEDIA vertical.
"engineFeaturesConfig": { # More feature configs of the selected engine type. # Optional. Additional engine features config.
"mostPopularConfig": { # Feature configurations that are required for creating a Most Popular engine. # Most popular engine feature config.
"timeWindowDays": "A String", # The time window of which the engine is queried at training and prediction time. Positive integers only. The value translates to the last X days of events. Currently required for the `most-popular-items` engine.
},
"recommendedForYouConfig": { # Additional feature configurations for creating a `recommended-for-you` engine. # Recommended for you engine feature config.
"contextEventType": "A String", # The type of event with which the engine is queried at prediction time. If set to `generic`, only `view-item`, `media-play`,and `media-complete` will be used as `context-event` in engine training. If set to `view-home-page`, `view-home-page` will also be used as `context-events` in addition to `view-item`, `media-play`, and `media-complete`. Currently supported for the `recommended-for-you` engine. Currently supported values: `view-home-page`, `generic`.
},
},
"optimizationObjective": "A String", # The optimization objective. e.g., `cvr`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `ctr`, `cvr`. If not specified, we choose default based on engine type. Default depends on type of recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr`
"optimizationObjectiveConfig": { # Custom threshold for `cvr` optimization_objective. # Name and value of the custom threshold for cvr optimization_objective. For target_field `watch-time`, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field `watch-percentage`, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5).
"targetField": "A String", # Required. The name of the field to target. Currently supported values: `watch-percentage`, `watch-time`.
"targetFieldValueFloat": 3.14, # Required. The threshold to be applied to the target (e.g., 0.5).
},
"trainingState": "A String", # The training state that the engine is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for `CreateEngine` method is `TRAINING`. The default value for `UpdateEngine` method is to keep the state the same as before.
"type": "A String", # Required. The type of engine. e.g., `recommended-for-you`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `recommended-for-you`, `others-you-may-like`, `more-like-this`, `most-popular-items`.
},
"modelConfigs": { # Optional. Maps a model name to its specific configuration for this engine. This allows admin users to turn on/off individual models. This only stores models whose states are overridden by the admin. When the state is unspecified, or model_configs is empty for this model, the system will decide if this model should be available or not based on the default configuration. For example, a preview model should be disabled by default if the admin has not chosen to enable it.
"a_key": "A String",
},
"name": "A String", # Immutable. Identifier. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.
"observabilityConfig": { # Observability config for a resource. # Optional. Observability config for the engine.
"observabilityEnabled": True or False, # Optional. Enables observability. If false, all other flags are ignored.
"sensitiveLoggingEnabled": True or False, # Optional. Enables sensitive logging. Sensitive logging includes customer core content (e.g. prompts, responses). If false, will sanitize all sensitive fields.
},
"recommendationMetadata": { # Additional information of a recommendation engine. # Output only. Additional information of a recommendation engine. Only applicable if solution_type is SOLUTION_TYPE_RECOMMENDATION.
"dataState": "A String", # Output only. The state of data requirements for this engine: `DATA_OK` and `DATA_ERROR`. Engine cannot be trained if the data is in `DATA_ERROR` state. Engine can have `DATA_ERROR` state even if serving state is `ACTIVE`: engines were trained successfully before, but cannot be refreshed because the underlying engine no longer has sufficient data for training.
"lastTrainTime": "A String", # Output only. The timestamp when the latest successful training finished. Only applicable on Media Recommendation engines.
"lastTuneTime": "A String", # Output only. The timestamp when the latest successful tune finished. Only applicable on Media Recommendation engines.
"servingState": "A String", # Output only. The serving state of the engine: `ACTIVE`, `NOT_ACTIVE`.
"tuningOperation": "A String", # Output only. The latest tune operation id associated with the engine. Only applicable on Media Recommendation engines. If present, this operation id can be used to determine if there is an ongoing tune for this engine. To check the operation status, send the GetOperation request with this operation id in the engine resource format. If no tuning has happened for this engine, the string is empty.
},
"searchEngineConfig": { # Configurations for a Search Engine. # Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH.
"requiredSubscriptionTier": "A String", # Optional. The required subscription tier of this engine. They cannot be modified after engine creation. If the required subscription tier is search, user with higher license tier like assist can still access the standalone app associated with this engine.
"searchAddOns": [ # The add-on that this search engine enables.
"A String",
],
"searchTier": "A String", # The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.
},
"similarDocumentsConfig": { # Additional config specs for a `similar-items` engine. # Additional config specs for a `similar-items` engine.
},
"solutionType": "A String", # Required. The solutions of the engine.
"updateTime": "A String", # Output only. Timestamp the Recommendation Engine was last updated.
}
resume(name, body=None, x__xgafv=None)
Resumes the training of an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.
Args:
name: string, Required. The name of the engine to resume. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}` (required)
body: object, The request body.
The object takes the form of:
{ # Request for resuming training of an engine.
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Metadata that describes the training and serving parameters of an Engine.
"appType": "A String", # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
"chatEngineConfig": { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
"agentCreationConfig": { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
"business": "A String", # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
"defaultLanguageCode": "A String", # Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.
"location": "A String", # Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.
"timeZone": "A String", # Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.
},
"allowCrossRegion": True or False, # Optional. If the flag set to true, we allow the agent and engine are in different locations, otherwise the agent and engine are required to be in the same location. The flag is set to false by default. Note that the `allow_cross_region` are one-time consumed by and passed to EngineService.CreateEngine. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
"dialogflowAgentToLink": "A String", # The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.
},
"chatEngineMetadata": { # Additional information of a Chat Engine. Fields in this message are output only. # Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
"dialogflowAgent": "A String", # The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.
},
"cmekConfig": { # Configurations used to enable CMEK data encryption with Cloud KMS keys. # Output only. CMEK-related information for the Engine.
"isDefault": True or False, # Output only. The default CmekConfig for the Customer.
"kmsKey": "A String", # Required. KMS key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
"kmsKeyVersion": "A String", # Output only. KMS key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.
"lastRotationTimestampMicros": "A String", # Output only. The timestamp of the last key rotation.
"name": "A String", # Required. The name of the CmekConfig of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmek_config}`.
"notebooklmState": "A String", # Output only. Whether the NotebookLM Corpus is ready to be used.
"singleRegionKeys": [ # Optional. Single-regional CMEKs that are required for some VAIS features.
{ # Metadata for single-regional CMEKs.
"kmsKey": "A String", # Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
},
],
"state": "A String", # Output only. The states of the CmekConfig.
},
"commonConfig": { # Common configurations for an Engine. # Common config spec that specifies the metadata of the engine.
"companyName": "A String", # The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.
},
"configurableBillingApproach": "A String", # Optional. Configuration for configurable billing approach.
"createTime": "A String", # Output only. Timestamp the Recommendation Engine was created at.
"dataStoreIds": [ # Optional. The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.
"A String",
],
"disableAnalytics": True or False, # Optional. Whether to disable analytics for searches performed on this engine.
"displayName": "A String", # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
"features": { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails`
"a_key": "A String",
},
"industryVertical": "A String", # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
"knowledgeGraphConfig": { # Configuration message for the Knowledge Graph. # Optional. Configurations for the Knowledge Graph. Only applicable if solution_type is SOLUTION_TYPE_SEARCH.
"cloudKnowledgeGraphTypes": [ # Specify entity types to support.
"A String",
],
"enableCloudKnowledgeGraph": True or False, # Whether to enable the Cloud Knowledge Graph for the engine. Defaults to false if not specified.
"enablePrivateKnowledgeGraph": True or False, # Whether to enable the Private Knowledge Graph for the engine. Defaults to false if not specified.
"featureConfig": { # Feature config for the Knowledge Graph. # Optional. Feature config for the Knowledge Graph.
"disablePrivateKgAutoComplete": True or False, # Whether to disable the private KG auto complete for the engine. Defaults to false if not specified.
"disablePrivateKgEnrichment": True or False, # Whether to disable the private KG enrichment for the engine. Defaults to false if not specified.
"disablePrivateKgQueryUiChips": True or False, # Whether to disable the private KG for query UI chips. Defaults to false if not specified.
"disablePrivateKgQueryUnderstanding": True or False, # Whether to disable the private KG query understanding for the engine. Defaults to false if not specified.
},
"privateKnowledgeGraphTypes": [ # Specify entity types to support.
"A String",
],
},
"mediaRecommendationEngineConfig": { # Additional config specs for a Media Recommendation engine. # Configurations for the Media Engine. Only applicable on the data stores with solution_type SOLUTION_TYPE_RECOMMENDATION and IndustryVertical.MEDIA vertical.
"engineFeaturesConfig": { # More feature configs of the selected engine type. # Optional. Additional engine features config.
"mostPopularConfig": { # Feature configurations that are required for creating a Most Popular engine. # Most popular engine feature config.
"timeWindowDays": "A String", # The time window of which the engine is queried at training and prediction time. Positive integers only. The value translates to the last X days of events. Currently required for the `most-popular-items` engine.
},
"recommendedForYouConfig": { # Additional feature configurations for creating a `recommended-for-you` engine. # Recommended for you engine feature config.
"contextEventType": "A String", # The type of event with which the engine is queried at prediction time. If set to `generic`, only `view-item`, `media-play`,and `media-complete` will be used as `context-event` in engine training. If set to `view-home-page`, `view-home-page` will also be used as `context-events` in addition to `view-item`, `media-play`, and `media-complete`. Currently supported for the `recommended-for-you` engine. Currently supported values: `view-home-page`, `generic`.
},
},
"optimizationObjective": "A String", # The optimization objective. e.g., `cvr`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `ctr`, `cvr`. If not specified, we choose default based on engine type. Default depends on type of recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr`
"optimizationObjectiveConfig": { # Custom threshold for `cvr` optimization_objective. # Name and value of the custom threshold for cvr optimization_objective. For target_field `watch-time`, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field `watch-percentage`, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5).
"targetField": "A String", # Required. The name of the field to target. Currently supported values: `watch-percentage`, `watch-time`.
"targetFieldValueFloat": 3.14, # Required. The threshold to be applied to the target (e.g., 0.5).
},
"trainingState": "A String", # The training state that the engine is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for `CreateEngine` method is `TRAINING`. The default value for `UpdateEngine` method is to keep the state the same as before.
"type": "A String", # Required. The type of engine. e.g., `recommended-for-you`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `recommended-for-you`, `others-you-may-like`, `more-like-this`, `most-popular-items`.
},
"modelConfigs": { # Optional. Maps a model name to its specific configuration for this engine. This allows admin users to turn on/off individual models. This only stores models whose states are overridden by the admin. When the state is unspecified, or model_configs is empty for this model, the system will decide if this model should be available or not based on the default configuration. For example, a preview model should be disabled by default if the admin has not chosen to enable it.
"a_key": "A String",
},
"name": "A String", # Immutable. Identifier. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.
"observabilityConfig": { # Observability config for a resource. # Optional. Observability config for the engine.
"observabilityEnabled": True or False, # Optional. Enables observability. If false, all other flags are ignored.
"sensitiveLoggingEnabled": True or False, # Optional. Enables sensitive logging. Sensitive logging includes customer core content (e.g. prompts, responses). If false, will sanitize all sensitive fields.
},
"recommendationMetadata": { # Additional information of a recommendation engine. # Output only. Additional information of a recommendation engine. Only applicable if solution_type is SOLUTION_TYPE_RECOMMENDATION.
"dataState": "A String", # Output only. The state of data requirements for this engine: `DATA_OK` and `DATA_ERROR`. Engine cannot be trained if the data is in `DATA_ERROR` state. Engine can have `DATA_ERROR` state even if serving state is `ACTIVE`: engines were trained successfully before, but cannot be refreshed because the underlying engine no longer has sufficient data for training.
"lastTrainTime": "A String", # Output only. The timestamp when the latest successful training finished. Only applicable on Media Recommendation engines.
"lastTuneTime": "A String", # Output only. The timestamp when the latest successful tune finished. Only applicable on Media Recommendation engines.
"servingState": "A String", # Output only. The serving state of the engine: `ACTIVE`, `NOT_ACTIVE`.
"tuningOperation": "A String", # Output only. The latest tune operation id associated with the engine. Only applicable on Media Recommendation engines. If present, this operation id can be used to determine if there is an ongoing tune for this engine. To check the operation status, send the GetOperation request with this operation id in the engine resource format. If no tuning has happened for this engine, the string is empty.
},
"searchEngineConfig": { # Configurations for a Search Engine. # Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH.
"requiredSubscriptionTier": "A String", # Optional. The required subscription tier of this engine. They cannot be modified after engine creation. If the required subscription tier is search, user with higher license tier like assist can still access the standalone app associated with this engine.
"searchAddOns": [ # The add-on that this search engine enables.
"A String",
],
"searchTier": "A String", # The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.
},
"similarDocumentsConfig": { # Additional config specs for a `similar-items` engine. # Additional config specs for a `similar-items` engine.
},
"solutionType": "A String", # Required. The solutions of the engine.
"updateTime": "A String", # Output only. Timestamp the Recommendation Engine was last updated.
}
setIamPolicy(resource, body=None, x__xgafv=None)
Sets the IAM access control policy for an Engine. A `NOT_FOUND` error is returned if the resource does not exist. **Important:** When setting a policy directly on an Engine resource, the only recommended roles in the bindings are: `roles/discoveryengine.user` and `roles/discoveryengine.agentspaceUser`. Attempting to grant any other role will result in a warning in logging.
Args:
resource: string, REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. (required)
body: object, The request body.
The object takes the form of:
{ # Request message for `SetIamPolicy` method.
"policy": { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them.
"bindings": [ # Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
{ # Associates `members`, or principals, with a `role`.
"condition": { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
"description": "A String", # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
"expression": "A String", # Textual representation of an expression in Common Expression Language syntax.
"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
"title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
},
"members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
"A String",
],
"role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).
},
],
"etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
"version": 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
},
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
"bindings": [ # Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
{ # Associates `members`, or principals, with a `role`.
"condition": { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
"description": "A String", # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
"expression": "A String", # Textual representation of an expression in Common Expression Language syntax.
"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
"title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
},
"members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
"A String",
],
"role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).
},
],
"etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
"version": 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
}
tune(name, body=None, x__xgafv=None)
Tunes an existing Engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.
Args:
name: string, Required. The resource name of the engine to tune. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}` (required)
body: object, The request body.
The object takes the form of:
{ # Request to manually start a tuning process now (instead of waiting for the periodically scheduled tuning to happen).
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # This resource represents a long-running operation that is the result of a network API call.
"done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
"error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
"code": 42, # The status code, which should be an enum value of google.rpc.Code.
"details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
{
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
],
"message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
},
"metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
"name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
"response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
}