# Discovery Engine API . projects . locations

## Instance Methods

Returns the cmekConfigs Resource.

Returns the collections Resource.

Returns the dataStores Resource.

Returns the groundingConfigs Resource.

Returns the identityMappingStores Resource.

Returns the licenseConfigs Resource.

Returns the operations Resource.

Returns the podcasts Resource.

Returns the rankingConfigs Resource.

Returns the userEvents Resource.

Returns the userStores Resource.

Close httplib2 connections.

Gets the AclConfig.

Gets the CmekConfig.

Creates a Collection and sets up the DataConnector for it. To stop a DataConnector after setup, use the CollectionService.DeleteCollection method.

Creates a Collection and sets up the DataConnector for it. To stop a DataConnector after setup, use the CollectionService.DeleteCollection method.

Default ACL configuration for use in a location of a customer's project. Updates will only reflect to new data stores. Existing data stores will still use the old value.

Provisions a CMEK key for use in a location of a customer's project. This method will also conduct location validation on the provided cmekConfig to make sure the key is valid and can be used in the selected location.

### Method Details

`close()`

    Close httplib2 connections.

`getAclConfig(name, x__xgafv=None)`

    Gets the AclConfig.

    Args:
      name: string, Required. Resource name of AclConfig, such as `projects/*/locations/*/aclConfig`. If the caller does not have permission to access the AclConfig, regardless of whether or not it exists, a PERMISSION_DENIED 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:

        { # Access Control Configuration.
      "idpConfig": { # Identity Provider Config. # Identity provider config.
        "externalIdpConfig": { # Third party IDP Config. # External Identity provider config.
          "workforcePoolName": "A String", # Workforce pool name. Example: "locations/global/workforcePools/pool_id"
        },
        "idpType": "A String", # Identity provider type configured.
      },
      "name": "A String", # Immutable. The full resource name of the acl configuration. Format: `projects/{project}/locations/{location}/aclConfig`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    }

`getCmekConfig(name, x__xgafv=None)`

    Gets the CmekConfig.

    Args:
      name: string, Required. Resource name of CmekConfig, such as `projects/*/locations/*/cmekConfig` or `projects/*/locations/*/cmekConfigs/*`. If the caller does not have permission to access the CmekConfig, regardless of whether or not it exists, a PERMISSION_DENIED 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:

        { # Configurations used to enable CMEK data encryption with Cloud KMS keys.
      "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.
    }

`setUpDataConnector(parent, body=None, x__xgafv=None)`

    Creates a Collection and sets up the DataConnector for it. To stop a DataConnector after setup, use the CollectionService.DeleteCollection method.

    Args:
      parent: string, Required. The parent of Collection, in the format of `projects/{project}/locations/{location}`. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request for DataConnectorService.SetUpDataConnector method.
      "collectionDisplayName": "A String", # Required. The display name of the Collection. Should be human readable, used to display collections in the Console Dashboard. UTF-8 encoded string with limit of 1024 characters.
      "collectionId": "A String", # Required. The ID to use for the Collection, which will become the final component of the Collection's resource name. A new Collection is created as part of the DataConnector setup. DataConnector is a singleton resource under Collection, managing all DataStores of the Collection. 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.
      "dataConnector": { # Manages the connection to external data sources for all data stores grouped under a Collection. It's a singleton resource of Collection. The initialization is only supported through DataConnectorService.SetUpDataConnector method, which will create a new Collection and initialize its DataConnector. # Required. The DataConnector to initialize in the newly created Collection.
        "aclEnabled": True or False, # Optional. Whether the connector will be created with an ACL config. Currently this field only affects Cloud Storage and BigQuery connectors.
        "actionConfig": { # Informations to support actions on the connector. # Optional. Action configurations to make the connector support actions.
          "actionParams": { # Optional. Action parameters in structured json format.
            "a_key": "", # Properties of the object.
          },
          "isActionConfigured": True or False, # Output only. The connector contains the necessary parameters and is configured to support actions.
          "jsonActionParams": "A String", # Optional. Action parameters in json string format.
          "serviceName": "A String", # Optional. The Service Directory resource name (projects/*/locations/*/namespaces/*/services/*) representing a VPC network endpoint used to connect to the data source's `instance_uri`, defined in DataConnector.params. Required when VPC Service Controls are enabled.
          "useStaticSecrets": True or False, # Optional. Whether to use static secrets for the connector. If true, the secrets provided in the action_params will be ignored.
        },
        "actionState": "A String", # Output only. State of the action connector. This reflects whether the action connector is initializing, active or has encountered errors.
        "alertPolicyConfigs": [ # Optional. The connector level alert config.
          { # The connector level alert config.
            "alertEnrollments": [ # Optional. The enrollment states of each alert.
              { # The alert enrollment status.
                "alertId": "A String", # Immutable. The id of an alert.
                "enrollState": "A String", # Required. The enrollment status of a customer.
              },
            ],
            "alertPolicyName": "A String", # Immutable. The fully qualified resource name of the AlertPolicy.
          },
        ],
        "autoRunDisabled": True or False, # Optional. Indicates whether the connector is disabled for auto run. It can be used to pause periodical and real time sync. Update: with the introduction of incremental_sync_disabled, auto_run_disabled is used to pause/disable only full syncs
        "bapConfig": { # The configuration for the BAP connector. # Optional. The configuration for establishing a BAP connection.
          "enabledActions": [ # Optional. The actions enabled on the associated BAP connection.
            "A String",
          ],
          "supportedConnectorModes": [ # Required. The supported connector modes for the associated BAP connection.
            "A String",
          ],
        },
        "blockingReasons": [ # Output only. User actions that must be completed before the connector can start syncing data.
          "A String",
        ],
        "connectorModes": [ # Optional. The modes enabled for this connector. Default state is CONNECTOR_MODE_UNSPECIFIED.
          "A String",
        ],
        "connectorType": "A String", # Output only. The type of connector. Each source can only map to one type. For example, salesforce, confluence and jira have THIRD_PARTY connector type. It is not mutable once set by system.
        "createEuaSaas": True or False, # Optional. Whether the END USER AUTHENTICATION connector is created in SaaS.
        "createTime": "A String", # Output only. Timestamp the DataConnector was created at.
        "dataSource": "A String", # Required. The name of the data source. Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.
        "destinationConfigs": [ # Optional. Any target destinations used to connect to third-party services.
          { # Defines target endpoints used to connect to third-party sources.
            "destinations": [ # Optional. The destinations for the corresponding key.
              { # Defines a target endpoint
                "host": "A String", # Publicly routable host.
                "port": 42, # Optional. Target port number accepted by the destination.
              },
            ],
            "jsonParams": "A String", # Additional parameters for this destination config in json string format.
            "key": "A String", # Optional. Unique destination identifier that is supported by the connector.
            "params": { # Optional. Additional parameters for this destination config in structured json format.
              "a_key": "", # Properties of the object.
            },
          },
        ],
        "endUserConfig": { # Any params and credentials used specifically for EUA connectors. # Optional. Any params and credentials used specifically for EUA connectors.
          "additionalParams": { # Optional. Any additional parameters needed for EUA.
            "a_key": "", # Properties of the object.
          },
          "authParams": { # Optional. Any authentication parameters specific to EUA connectors.
            "a_key": "", # Properties of the object.
          },
          "jsonAuthParams": "A String", # Optional. Any authentication parameters specific to EUA connectors in json string format.
          "tenant": { # Tenant information for a connector source. This includes some of the same information stored in the Credential message, but is limited to only what is needed to provide a list of accessible tenants to the user. # Optional. The tenant project the connector is connected to.
            "displayName": "A String", # Optional display name for the tenant, e.g. "My Slack Team".
            "id": "A String", # The tenant's instance ID. Examples: Jira ("8594f221-9797-5f78-1fa4-485e198d7cd0"), Slack ("T123456").
            "uri": "A String", # The URI of the tenant, if applicable. For example, the URI of a Jira instance is https://my-jira-instance.atlassian.net, and a Slack tenant does not have a URI.
          },
        },
        "entities": [ # List of entities from the connected data source to ingest.
          { # Represents an entity in the data source. For example, the `Account` object in Salesforce.
            "dataStore": "A String", # Output only. The full resource name of the associated data store for the source entity. Format: `projects/*/locations/*/collections/*/dataStores/*`. When the connector is initialized by the DataConnectorService.SetUpDataConnector method, a DataStore is automatically created for each source entity.
            "entityName": "A String", # The name of the entity. Supported values by data source: * Salesforce: `Lead`, `Opportunity`, `Contact`, `Account`, `Case`, `Contract`, `Campaign` * Jira: `Issue` * Confluence: `Content`, `Space`
            "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical.
              "enableConfigurableSchema": True or False, # Whether to enable configurable schema for `HEALTHCARE_FHIR` vertical. If set to `true`, the predefined healthcare fhir schema can be extended for more customized searching and filtering.
              "enableStaticIndexingForBatchIngestion": True or False, # Whether to enable static indexing for `HEALTHCARE_FHIR` batch ingestion. If set to `true`, the batch ingestion will be processed in a static indexing mode which is slower but more capable of handling larger volume.
            },
            "jsonParams": "A String", # The parameters for the entity to facilitate data ingestion in json string format.
            "keyPropertyMappings": { # Attributes for indexing. Key: Field name. Value: The key property to map a field to, such as `title`, and `description`. Supported key properties: * `title`: The title for data record. This would be displayed on search results. * `description`: The description for data record. This would be displayed on search results.
              "a_key": "A String",
            },
            "params": { # The parameters for the entity to facilitate data ingestion in structured json format.
              "a_key": "", # Properties of the object.
            },
            "startingSchema": { # Defines the structure and layout of a type of document data. # Optional. The start schema to use for the DataStore created from this SourceEntity. If unset, a default vertical specialized schema will be used. This field is only used by SetUpDataConnector API, and will be ignored if used in other APIs. This field will be omitted from all API responses including GetDataConnector API. To retrieve a schema of a DataStore, use SchemaService.GetSchema API instead. The provided schema will be validated against certain rules on schema. Learn more from [this doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema).
              "jsonSchema": "A String", # The JSON representation of the schema.
              "name": "A String", # Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
              "structSchema": { # The structured representation of the schema.
                "a_key": "", # Properties of the object.
              },
            },
          },
        ],
        "errors": [ # Output only. The errors from initialization or from the latest connector run.
          { # 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).
            "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.
          },
        ],
        "federatedConfig": { # Any params and credentials used specifically for hybrid connectors supporting FEDERATED mode. # Optional. Any params and credentials used specifically for hybrid connectors supporting FEDERATED mode. This field should only be set if the connector is a hybrid connector and we want to enable FEDERATED mode.
          "additionalParams": { # Optional. Any additional parameters needed for FEDERATED.
            "a_key": "", # Properties of the object.
          },
          "authParams": { # Optional. Any authentication parameters specific to FEDERATED connectors.
            "a_key": "", # Properties of the object.
          },
          "jsonAuthParams": "A String", # Optional. Any authentication parameters specific to FEDERATED connectors in json string format.
        },
        "hybridIngestionDisabled": True or False, # Optional. If the connector is a hybrid connector, determines whether ingestion is enabled and appropriate resources are provisioned during connector creation. If the connector is not a hybrid connector, this field is ignored.
        "identityRefreshInterval": "A String", # The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days.
        "identityScheduleConfig": { # The configuration for the identity data synchronization runs. # The configuration for the identity data synchronization runs. This contains the refresh interval to sync the Access Control List information for the documents ingested by this connector.
          "nextSyncTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # Optional. The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day.
            "day": 42, # Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.
            "hours": 42, # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time.
            "minutes": 42, # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.
            "month": 42, # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.
            "nanos": 42, # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.
            "seconds": 42, # Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.
            "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Time zone.
              "id": "A String", # IANA Time Zone Database time zone. For example "America/New_York".
              "version": "A String", # Optional. IANA Time Zone Database version number. For example "2019a".
            },
            "utcOffset": "A String", # UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.
            "year": 42, # Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.
          },
          "refreshInterval": "A String", # Optional. The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days.
        },
        "incrementalRefreshInterval": "A String", # Optional. The refresh interval specifically for incremental data syncs. If unset, incremental syncs will use the default from env, set to 3hrs. The minimum is 30 minutes and maximum is 7 days. Applicable to only 3P connectors. When the refresh interval is set to the same value as the incremental refresh interval, incremental sync will be disabled.
        "incrementalSyncDisabled": True or False, # Optional. Indicates whether incremental syncs are paused for this connector. This is independent of auto_run_disabled. Applicable to only 3P connectors. When the refresh interval is set to the same value as the incremental refresh interval, incremental sync will be disabled, i.e. set to true.
        "jsonParams": "A String", # Required data connector parameters in json string format.
        "kmsKeyName": "A String", # Input only. The KMS key to be used to protect the DataStores managed by this connector. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStores created by this connector will be protected by the KMS key.
        "lastSyncTime": "A String", # Output only. For periodic connectors only, the last time a data sync was completed.
        "latestPauseTime": "A String", # Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered.
        "name": "A String", # Output only. The full resource name of the Data Connector. Format: `projects/*/locations/*/collections/*/dataConnector`.
        "nextSyncTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # Defines the scheduled time for the next data synchronization. This field requires hour , minute, and time_zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). This is utilized when the data connector has a refresh interval greater than 1 day. When the hours or minutes are not specified, we will assume a sync time of 0:00. The user must provide a time zone to avoid ambiguity.
          "day": 42, # Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.
          "hours": 42, # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time.
          "minutes": 42, # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.
          "month": 42, # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.
          "nanos": 42, # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.
          "seconds": 42, # Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.
          "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Time zone.
            "id": "A String", # IANA Time Zone Database time zone. For example "America/New_York".
            "version": "A String", # Optional. IANA Time Zone Database version number. For example "2019a".
          },
          "utcOffset": "A String", # UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.
          "year": 42, # Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.
        },
        "params": { # Required data connector parameters in structured json format.
          "a_key": "", # Properties of the object.
        },
        "privateConnectivityProjectId": "A String", # Output only. The tenant project ID associated with private connectivity connectors. This project must be allowlisted by in order for the connector to function.
        "realtimeState": "A String", # Output only. real-time sync state
        "realtimeSyncConfig": { # The configuration for realtime sync to store additional params for realtime sync. # Optional. The configuration for realtime sync.
          "realtimeSyncSecret": "A String", # Optional. The ID of the Secret Manager secret used for webhook secret.
          "streamingError": { # Streaming error details. # Optional. Streaming error details.
            "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). # Optional. Error details.
              "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.
            },
            "streamingErrorReason": "A String", # Optional. Streaming error.
          },
          "webhookUri": "A String", # Optional. Webhook url for the connector to specify additional params for realtime sync.
        },
        "refreshInterval": "A String", # Required. The refresh interval for data sync. If duration is set to 0, the data will be synced in real time. The streaming feature is not supported yet. The minimum is 30 minutes and maximum is 7 days. When the refresh interval is set to the same value as the incremental refresh interval, incremental sync will be disabled.
        "removeParamKeys": [ # Optional. Specifies keys to be removed from the 'params' field. This is only active when 'params' is included in the 'update_mask' in an UpdateDataConnectorRequest. Deletion takes precedence if a key is both in 'remove_param_keys' and present in the 'params' field of the request.
          "A String",
        ],
        "state": "A String", # Output only. State of the connector.
        "staticIpAddresses": [ # Output only. The static IP addresses used by this connector.
          "A String",
        ],
        "staticIpEnabled": True or False, # Optional. Whether customer has enabled static IP addresses for this connector.
        "syncMode": "A String", # The data synchronization mode supported by the data connector.
        "updateTime": "A String", # Output only. Timestamp the DataConnector was last updated.
      },
    }

      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.
      },
    }

`setUpDataConnectorV2(parent, body=None, collectionDisplayName=None, collectionId=None, x__xgafv=None)`

    Creates a Collection and sets up the DataConnector for it. To stop a DataConnector after setup, use the CollectionService.DeleteCollection method.

    Args:
      parent: string, Required. The parent of Collection, in the format of `projects/{project}/locations/{location}`. (required)
      body: object, The request body.
        The object takes the form of:

    { # Manages the connection to external data sources for all data stores grouped under a Collection. It's a singleton resource of Collection. The initialization is only supported through DataConnectorService.SetUpDataConnector method, which will create a new Collection and initialize its DataConnector.
      "aclEnabled": True or False, # Optional. Whether the connector will be created with an ACL config. Currently this field only affects Cloud Storage and BigQuery connectors.
      "actionConfig": { # Informations to support actions on the connector. # Optional. Action configurations to make the connector support actions.
        "actionParams": { # Optional. Action parameters in structured json format.
          "a_key": "", # Properties of the object.
        },
        "isActionConfigured": True or False, # Output only. The connector contains the necessary parameters and is configured to support actions.
        "jsonActionParams": "A String", # Optional. Action parameters in json string format.
        "serviceName": "A String", # Optional. The Service Directory resource name (projects/*/locations/*/namespaces/*/services/*) representing a VPC network endpoint used to connect to the data source's `instance_uri`, defined in DataConnector.params. Required when VPC Service Controls are enabled.
        "useStaticSecrets": True or False, # Optional. Whether to use static secrets for the connector. If true, the secrets provided in the action_params will be ignored.
      },
      "actionState": "A String", # Output only. State of the action connector. This reflects whether the action connector is initializing, active or has encountered errors.
      "alertPolicyConfigs": [ # Optional. The connector level alert config.
        { # The connector level alert config.
          "alertEnrollments": [ # Optional. The enrollment states of each alert.
            { # The alert enrollment status.
              "alertId": "A String", # Immutable. The id of an alert.
              "enrollState": "A String", # Required. The enrollment status of a customer.
            },
          ],
          "alertPolicyName": "A String", # Immutable. The fully qualified resource name of the AlertPolicy.
        },
      ],
      "autoRunDisabled": True or False, # Optional. Indicates whether the connector is disabled for auto run. It can be used to pause periodical and real time sync. Update: with the introduction of incremental_sync_disabled, auto_run_disabled is used to pause/disable only full syncs
      "bapConfig": { # The configuration for the BAP connector. # Optional. The configuration for establishing a BAP connection.
        "enabledActions": [ # Optional. The actions enabled on the associated BAP connection.
          "A String",
        ],
        "supportedConnectorModes": [ # Required. The supported connector modes for the associated BAP connection.
          "A String",
        ],
      },
      "blockingReasons": [ # Output only. User actions that must be completed before the connector can start syncing data.
        "A String",
      ],
      "connectorModes": [ # Optional. The modes enabled for this connector. Default state is CONNECTOR_MODE_UNSPECIFIED.
        "A String",
      ],
      "connectorType": "A String", # Output only. The type of connector. Each source can only map to one type. For example, salesforce, confluence and jira have THIRD_PARTY connector type. It is not mutable once set by system.
      "createEuaSaas": True or False, # Optional. Whether the END USER AUTHENTICATION connector is created in SaaS.
      "createTime": "A String", # Output only. Timestamp the DataConnector was created at.
      "dataSource": "A String", # Required. The name of the data source. Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.
      "destinationConfigs": [ # Optional. Any target destinations used to connect to third-party services.
        { # Defines target endpoints used to connect to third-party sources.
          "destinations": [ # Optional. The destinations for the corresponding key.
            { # Defines a target endpoint
              "host": "A String", # Publicly routable host.
              "port": 42, # Optional. Target port number accepted by the destination.
            },
          ],
          "jsonParams": "A String", # Additional parameters for this destination config in json string format.
          "key": "A String", # Optional. Unique destination identifier that is supported by the connector.
          "params": { # Optional. Additional parameters for this destination config in structured json format.
            "a_key": "", # Properties of the object.
          },
        },
      ],
      "endUserConfig": { # Any params and credentials used specifically for EUA connectors. # Optional. Any params and credentials used specifically for EUA connectors.
        "additionalParams": { # Optional. Any additional parameters needed for EUA.
          "a_key": "", # Properties of the object.
        },
        "authParams": { # Optional. Any authentication parameters specific to EUA connectors.
          "a_key": "", # Properties of the object.
        },
        "jsonAuthParams": "A String", # Optional. Any authentication parameters specific to EUA connectors in json string format.
        "tenant": { # Tenant information for a connector source. This includes some of the same information stored in the Credential message, but is limited to only what is needed to provide a list of accessible tenants to the user. # Optional. The tenant project the connector is connected to.
          "displayName": "A String", # Optional display name for the tenant, e.g. "My Slack Team".
          "id": "A String", # The tenant's instance ID. Examples: Jira ("8594f221-9797-5f78-1fa4-485e198d7cd0"), Slack ("T123456").
          "uri": "A String", # The URI of the tenant, if applicable. For example, the URI of a Jira instance is https://my-jira-instance.atlassian.net, and a Slack tenant does not have a URI.
        },
      },
      "entities": [ # List of entities from the connected data source to ingest.
        { # Represents an entity in the data source. For example, the `Account` object in Salesforce.
          "dataStore": "A String", # Output only. The full resource name of the associated data store for the source entity. Format: `projects/*/locations/*/collections/*/dataStores/*`. When the connector is initialized by the DataConnectorService.SetUpDataConnector method, a DataStore is automatically created for each source entity.
          "entityName": "A String", # The name of the entity. Supported values by data source: * Salesforce: `Lead`, `Opportunity`, `Contact`, `Account`, `Case`, `Contract`, `Campaign` * Jira: `Issue` * Confluence: `Content`, `Space`
          "healthcareFhirConfig": { # Config to data store for `HEALTHCARE_FHIR` vertical. # Optional. Configuration for `HEALTHCARE_FHIR` vertical.
            "enableConfigurableSchema": True or False, # Whether to enable configurable schema for `HEALTHCARE_FHIR` vertical. If set to `true`, the predefined healthcare fhir schema can be extended for more customized searching and filtering.
            "enableStaticIndexingForBatchIngestion": True or False, # Whether to enable static indexing for `HEALTHCARE_FHIR` batch ingestion. If set to `true`, the batch ingestion will be processed in a static indexing mode which is slower but more capable of handling larger volume.
          },
          "jsonParams": "A String", # The parameters for the entity to facilitate data ingestion in json string format.
          "keyPropertyMappings": { # Attributes for indexing. Key: Field name. Value: The key property to map a field to, such as `title`, and `description`. Supported key properties: * `title`: The title for data record. This would be displayed on search results. * `description`: The description for data record. This would be displayed on search results.
            "a_key": "A String",
          },
          "params": { # The parameters for the entity to facilitate data ingestion in structured json format.
            "a_key": "", # Properties of the object.
          },
          "startingSchema": { # Defines the structure and layout of a type of document data. # Optional. The start schema to use for the DataStore created from this SourceEntity. If unset, a default vertical specialized schema will be used. This field is only used by SetUpDataConnector API, and will be ignored if used in other APIs. This field will be omitted from all API responses including GetDataConnector API. To retrieve a schema of a DataStore, use SchemaService.GetSchema API instead. The provided schema will be validated against certain rules on schema. Learn more from [this doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema).
            "jsonSchema": "A String", # The JSON representation of the schema.
            "name": "A String", # Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
            "structSchema": { # The structured representation of the schema.
              "a_key": "", # Properties of the object.
            },
          },
        },
      ],
      "errors": [ # Output only. The errors from initialization or from the latest connector run.
        { # 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).
          "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.
        },
      ],
      "federatedConfig": { # Any params and credentials used specifically for hybrid connectors supporting FEDERATED mode. # Optional. Any params and credentials used specifically for hybrid connectors supporting FEDERATED mode. This field should only be set if the connector is a hybrid connector and we want to enable FEDERATED mode.
        "additionalParams": { # Optional. Any additional parameters needed for FEDERATED.
          "a_key": "", # Properties of the object.
        },
        "authParams": { # Optional. Any authentication parameters specific to FEDERATED connectors.
          "a_key": "", # Properties of the object.
        },
        "jsonAuthParams": "A String", # Optional. Any authentication parameters specific to FEDERATED connectors in json string format.
      },
      "hybridIngestionDisabled": True or False, # Optional. If the connector is a hybrid connector, determines whether ingestion is enabled and appropriate resources are provisioned during connector creation. If the connector is not a hybrid connector, this field is ignored.
      "identityRefreshInterval": "A String", # The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days.
      "identityScheduleConfig": { # The configuration for the identity data synchronization runs. # The configuration for the identity data synchronization runs. This contains the refresh interval to sync the Access Control List information for the documents ingested by this connector.
        "nextSyncTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # Optional. The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day.
          "day": 42, # Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.
          "hours": 42, # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time.
          "minutes": 42, # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.
          "month": 42, # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.
          "nanos": 42, # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.
          "seconds": 42, # Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.
          "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Time zone.
            "id": "A String", # IANA Time Zone Database time zone. For example "America/New_York".
            "version": "A String", # Optional. IANA Time Zone Database version number. For example "2019a".
          },
          "utcOffset": "A String", # UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.
          "year": 42, # Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.
        },
        "refreshInterval": "A String", # Optional. The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days.
      },
      "incrementalRefreshInterval": "A String", # Optional. The refresh interval specifically for incremental data syncs. If unset, incremental syncs will use the default from env, set to 3hrs. The minimum is 30 minutes and maximum is 7 days. Applicable to only 3P connectors. When the refresh interval is set to the same value as the incremental refresh interval, incremental sync will be disabled.
      "incrementalSyncDisabled": True or False, # Optional. Indicates whether incremental syncs are paused for this connector. This is independent of auto_run_disabled. Applicable to only 3P connectors. When the refresh interval is set to the same value as the incremental refresh interval, incremental sync will be disabled, i.e. set to true.
      "jsonParams": "A String", # Required data connector parameters in json string format.
      "kmsKeyName": "A String", # Input only. The KMS key to be used to protect the DataStores managed by this connector. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStores created by this connector will be protected by the KMS key.
      "lastSyncTime": "A String", # Output only. For periodic connectors only, the last time a data sync was completed.
      "latestPauseTime": "A String", # Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered.
      "name": "A String", # Output only. The full resource name of the Data Connector. Format: `projects/*/locations/*/collections/*/dataConnector`.
      "nextSyncTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # Defines the scheduled time for the next data synchronization. This field requires hour , minute, and time_zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). This is utilized when the data connector has a refresh interval greater than 1 day. When the hours or minutes are not specified, we will assume a sync time of 0:00. The user must provide a time zone to avoid ambiguity.
        "day": 42, # Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.
        "hours": 42, # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time.
        "minutes": 42, # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.
        "month": 42, # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.
        "nanos": 42, # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.
        "seconds": 42, # Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.
        "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Time zone.
          "id": "A String", # IANA Time Zone Database time zone. For example "America/New_York".
          "version": "A String", # Optional. IANA Time Zone Database version number. For example "2019a".
        },
        "utcOffset": "A String", # UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.
        "year": 42, # Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.
      },
      "params": { # Required data connector parameters in structured json format.
        "a_key": "", # Properties of the object.
      },
      "privateConnectivityProjectId": "A String", # Output only. The tenant project ID associated with private connectivity connectors. This project must be allowlisted by in order for the connector to function.
      "realtimeState": "A String", # Output only. real-time sync state
      "realtimeSyncConfig": { # The configuration for realtime sync to store additional params for realtime sync. # Optional. The configuration for realtime sync.
        "realtimeSyncSecret": "A String", # Optional. The ID of the Secret Manager secret used for webhook secret.
        "streamingError": { # Streaming error details. # Optional. Streaming error details.
          "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). # Optional. Error details.
            "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.
          },
          "streamingErrorReason": "A String", # Optional. Streaming error.
        },
        "webhookUri": "A String", # Optional. Webhook url for the connector to specify additional params for realtime sync.
      },
      "refreshInterval": "A String", # Required. The refresh interval for data sync. If duration is set to 0, the data will be synced in real time. The streaming feature is not supported yet. The minimum is 30 minutes and maximum is 7 days. When the refresh interval is set to the same value as the incremental refresh interval, incremental sync will be disabled.
      "removeParamKeys": [ # Optional. Specifies keys to be removed from the 'params' field. This is only active when 'params' is included in the 'update_mask' in an UpdateDataConnectorRequest. Deletion takes precedence if a key is both in 'remove_param_keys' and present in the 'params' field of the request.
        "A String",
      ],
      "state": "A String", # Output only. State of the connector.
      "staticIpAddresses": [ # Output only. The static IP addresses used by this connector.
        "A String",
      ],
      "staticIpEnabled": True or False, # Optional. Whether customer has enabled static IP addresses for this connector.
      "syncMode": "A String", # The data synchronization mode supported by the data connector.
      "updateTime": "A String", # Output only. Timestamp the DataConnector was last updated.
    }

      collectionDisplayName: string, Required. The display name of the Collection. Should be human readable, used to display collections in the Console Dashboard. UTF-8 encoded string with limit of 1024 characters.
      collectionId: string, Required. The ID to use for the Collection, which will become the final component of the Collection's resource name. A new Collection is created as part of the DataConnector setup. DataConnector is a singleton resource under Collection, managing all DataStores of the Collection. 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.
      },
    }

`updateAclConfig(name, body=None, x__xgafv=None)`

    Default ACL configuration for use in a location of a customer's project. Updates will only reflect to new data stores. Existing data stores will still use the old value.

    Args:
      name: string, Immutable. The full resource name of the acl configuration. Format: `projects/{project}/locations/{location}/aclConfig`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. (required)
      body: object, The request body.
        The object takes the form of:

    { # Access Control Configuration.
      "idpConfig": { # Identity Provider Config. # Identity provider config.
        "externalIdpConfig": { # Third party IDP Config. # External Identity provider config.
          "workforcePoolName": "A String", # Workforce pool name. Example: "locations/global/workforcePools/pool_id"
        },
        "idpType": "A String", # Identity provider type configured.
      },
      "name": "A String", # Immutable. The full resource name of the acl configuration. Format: `projects/{project}/locations/{location}/aclConfig`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Access Control Configuration.
      "idpConfig": { # Identity Provider Config. # Identity provider config.
        "externalIdpConfig": { # Third party IDP Config. # External Identity provider config.
          "workforcePoolName": "A String", # Workforce pool name. Example: "locations/global/workforcePools/pool_id"
        },
        "idpType": "A String", # Identity provider type configured.
      },
      "name": "A String", # Immutable. The full resource name of the acl configuration. Format: `projects/{project}/locations/{location}/aclConfig`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    }

`updateCmekConfig(name, body=None, setDefault=None, x__xgafv=None)`

    Provisions a CMEK key for use in a location of a customer's project. This method will also conduct location validation on the provided cmekConfig to make sure the key is valid and can be used in the selected location.

    Args:
      name: string, Required. The name of the CmekConfig of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmek_config}`. (required)
      body: object, The request body.
        The object takes the form of:

    { # Configurations used to enable CMEK data encryption with Cloud KMS keys.
      "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.
    }

      setDefault: boolean, Set the following CmekConfig as the default to be used for child resources if one is not specified.
      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.
      },
    }